Я пытаюсь вставить дату из таблицы в другую таблицу с помощью vba в доступе, но одно из значений даты из таблицы пуст. Поэтому при вставке даты в новую таблицу отображается Недопустимое использование исключения nullОшибка времени выполнения 94.Вставить поле нулевого значения в поле с помощью vba
ответ
Я думаю, что понимаю, объявляю переменную строкой. Затем проверьте, пусто ли значение из таблицы, затем назначьте ему нуль. Другим разумным образом присваивается значение из таблицы.
, например
Dim newdate As String
Проверьте извлечённые значения равно нуль или не
If IsNull(rst![value]) Then
newdate = "null"
Else
newdate = rst![value]
End If
вы можете использовать функцию NZ() для определения значения, которое должно использоваться вместо NULL. Внутренне дата - это значение с плавающей точкой, где число представляет собой дни между 01.01.1900 и датой, которые должны быть сохранены. Часть за десятичной точкой представляет часы/минуты (0,25, например, 6 AM). Таким образом, вы можете использовать функцию NZ() для замены NULL bei 0 (что будет интерпретироваться как 01.01.1900).
Другим решением было бы настроить целевую таблицу таким образом, чтобы она допускала значения NULL. Вы можете сделать это легко в представлении дизайна таблицы.
Я столкнулся с этой проблемой и решил ее таким образом.
SQL = "update mytable set mydatefield = '" & txtdate & "'"
На txtdate
на вашей форме, поставить формат даты, чтобы проверить дату является либо реальной датой или просто пустым.
Я установил нужный статус поля на no.Still не работает. Можно ли оставить поле пустым, если нет значения для вставки? – Cherry
, вы должны изменить «требуемое» свойство поля в дизайне таблицы. – cboden
Спасибо за помощь. – Cherry