Я пишу макрос 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