Я пытаюсь запустить код, который будет копировать поля в новую таблицу, перемещая их из таблицы _New
в исходную таблицу. Код VBA, который делает это, работает следующим образом:
SQLStatement = CStr("INSERT INTO " & TName & " SELECT * FROM " & TName & "_New")
Log.WriteLine "Running query with string """ & SQLStatement & """ "
QueryTimer = Timer
DoCmd.RunSQL SQLStatement
Log.WriteLine "Query time: " & (Timer - QueryTimer)
Журнал - это всего лишь несколько процедур в модуле класса, который я создал вместе. Его вывод на ошибку
@142921: Running query with string "INSERT INTO Records SELECT * FROM Records_New"
@142941: Error Date/Time: 7/21/2009 2:29:40 PM
@142941: Error # & Description: 3162, You tried to assign the Null value to a variable that is not a Variant data type.
Я могу подтвердить, что TName
и SQLStatement
являются действительными строками во время выполнения операции SQL и что оба источника (Records и Records_New) являются действительными. Option Explicit
устанавливается в другом месте файла, чтобы избежать путаницы с опечатками. Ошибка выдается в строке DoCmd
.
Почему это имеет значение Null
, хотя DoCmd.RunSQL
не возвращает значение?