ник: Анатолий (Киев)
В вашем случае запрос пытается вставить пустую строку, а не Null.
Можно сделать так: NZ(a(3,i-1),'Null'), но мой вам совет - не используйте запрос INSERT...VALUES.
Это сплошной гемор с десятичным разделителем и форматом даты, борьба с Null (как у вас) и необходимость дублирования внутри текста обрамляющих символов (в вашем случае - апостроф).
Гораздо удобнее - открыть Recordset и добавить запись туда без этих хлопот. К тому же так можно легко получить значение ID-счетчика добавленной записи.
ЗЫ. А еще советую забыть, что есть такой метод DoCmd.RunSQL.и использовать Execute.