Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Recordset.AddNew и значения NULL в VB6 / 9 сообщений из 9, страница 1 из 1
15.08.2003, 10:53
    #32237362
Vsevolod V
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Recordset.AddNew и значения NULL в VB6
Предисловие: на форуме "Visual Basic" мне не помогли (народу там мало)

Столкнулся с проблемой:
Из формы заполняю рекордсет. Если одно из полей формы пустое, то выдается ошибка типа "Поле tbl.field не может быть пустым..." (или что-то вроде того)

В примитиве это выглядит так:
with R
.addnew
R("Field") = Me.Field
.update

Причем:
with R
.addnew
R("Field") = NULL
.update
работает нормально

Пробывал использовать Nz - результата не дало.
Что тут делать???
...
Рейтинг: 0 / 0
15.08.2003, 11:06
    #32237376
Polev
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Recordset.AddNew и значения NULL в VB6
А если так по простому:

if isnull(me.Field) then
R("Field") = Null
else
R("Field") = Me.Field

А?
...
Рейтинг: 0 / 0
15.08.2003, 11:08
    #32237378
Hummer
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Recordset.AddNew и значения NULL в VB6
Код: plaintext
1.
2.
3.
with R 
.addnew 
R( "Field" ) = Nz(Me.Field, 0 ) 
.update 


Что, вот так не работает?
А с Null работает? С Null не должно работать, потому что "Поле tbl.field не может быть пустым...", т.е. AllowNull false стоит у этого поля в таблице tbl.
Ещё такой момент - всегда рекордсеты используем для заполнения данных в таблицу? Почему запросы на добавление/обновление не катят?
...
Рейтинг: 0 / 0
15.08.2003, 11:09
    #32237379
Vsevolod V
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Recordset.AddNew и значения NULL в VB6
Хахаха
об этом то я и не подумал... глупо

спасибо... дома проверю
...
Рейтинг: 0 / 0
15.08.2003, 11:14
    #32237388
Vsevolod V
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Recordset.AddNew и значения NULL в VB6
2Hummer

R("Field") = Nz(Me.Field,0)
почему 0??? я NULL ставил или ""

AllowNull false - это "Обязательное поле"? Если да, то оно у меня не обязательное

Почему запросы на добавление/обновление не катят?
1)VB изучаю с очень не давнего времени.
2)Исходя из п.1, пробую варианты заполнения рекордсета :)
...
Рейтинг: 0 / 0
15.08.2003, 11:31
    #32237403
Владимир Саныч
Модератор форума
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Recordset.AddNew и значения NULL в VB6
Могу предположить (хотя сам не проверял), что с Null работает, а с "" нет, и тогда надо проверить свойство поля AllowZeroLength.
...
Рейтинг: 0 / 0
15.08.2003, 11:37
    #32237409
Vsevolod V
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Recordset.AddNew и значения NULL в VB6
здорово, Саныч :)

Могу предположить (хотя сам не проверял), что с Null работает, а с "" нет

Не работает не так
R("Field") = Nz(Me.Field, NULL)
ни эдак
R("Field") = Nz(Me.Field, "")

тогда надо проверить свойство поля AllowZeroLength

С VB дома балуюсь - так что вечерком посмотрю :)
...
Рейтинг: 0 / 0
15.08.2003, 11:41
    #32237411
Hummer
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Recordset.AddNew и значения NULL в VB6
2 Владимир Саныч
Млин, обшибся:)
AllowNulls - это в табличке на MS SQL такие свойства, в аксесе надо проверять
AllowZeroLength конечно же:)

2 Vsevolod V
Я и спросил, если с 0 работает, то нужно проверять это свойство в табличке у этого поля, вот и всё.

Почему запросы на добавление/обновление не катят?
1)VB изучаю с очень не давнего времени.


Ну так ту дело не в ВБ совсем. Просто зачастую для добавления и обновления записей лучше пользоваться запросам, чем открывать рекордсет. Особенно при больших массивах данных.
...
Рейтинг: 0 / 0
15.08.2003, 11:44
    #32237413
Vsevolod V
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Recordset.AddNew и значения NULL в VB6
2Hummer
Черт :)
Дело конечно же не в VB...
С запросами все катит...
2)Исходя из п.1, пробую варианты заполнения рекордсета :)

Такие вот дела...
...
Рейтинг: 0 / 0
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Recordset.AddNew и значения NULL в VB6 / 9 сообщений из 9, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]