Работает ли IsNull с типами данных varchar, но не с текстом? - PullRequest
0 голосов
/ 30 апреля 2019

Я пишу макрос VBA для копирования таблиц из Excel в SQL и хочу, чтобы макрос пропустил запись ячейки, если в этом поле на стороне базы данных уже есть данные. Я использовал функцию IsNull, и она работает, когда поле SQL имеет тип varchar, но не работает (хотя и не выдает ошибку), когда тип данных SQL является текстовым. Я установил несколько столбцов таблицы SQL в виде текста, поскольку они содержат полные предложения, длина которых превышает 50 символов, разрешенных типом данных varchar.

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

If IsNull(.Fields("Field1").Value) Then 
   .Fields("Field1").Value = Range("Cell1").Value
   .Update
   .End If
...