2014-10-29 2 views
0

Я пытаюсь вставить дату из таблицы в другую таблицу с помощью vba в доступе, но одно из значений даты из таблицы пуст. Поэтому при вставке даты в новую таблицу отображается Недопустимое использование исключения nullОшибка времени выполнения 94.Вставить поле нулевого значения в поле с помощью vba

ответ

0

Я думаю, что понимаю, объявляю переменную строкой. Затем проверьте, пусто ли значение из таблицы, затем назначьте ему нуль. Другим разумным образом присваивается значение из таблицы.

, например

Dim newdate As String 

Проверьте извлечённые значения равно нуль или не

If IsNull(rst![value]) Then 
      newdate = "null" 
    Else 
      newdate = rst![value] 
    End If  
0

вы можете использовать функцию NZ() для определения значения, которое должно использоваться вместо NULL. Внутренне дата - это значение с плавающей точкой, где число представляет собой дни между 01.01.1900 и датой, которые должны быть сохранены. Часть за десятичной точкой представляет часы/минуты (0,25, например, 6 AM). Таким образом, вы можете использовать функцию NZ() для замены NULL bei 0 (что будет интерпретироваться как 01.01.1900).

Другим решением было бы настроить целевую таблицу таким образом, чтобы она допускала значения NULL. Вы можете сделать это легко в представлении дизайна таблицы.

+0

Я установил нужный статус поля на no.Still не работает. Можно ли оставить поле пустым, если нет значения для вставки? – Cherry

+0

, вы должны изменить «требуемое» свойство поля в дизайне таблицы. – cboden

+0

Спасибо за помощь. – Cherry

0

Я столкнулся с этой проблемой и решил ее таким образом.

SQL = "update mytable set mydatefield = '" & txtdate & "'" 

На txtdate на вашей форме, поставить формат даты, чтобы проверить дату является либо реальной датой или просто пустым.