Нет никакой разницы, вы всегда будете использовать .Update для фиксации изменений от того места, на которое указывает текущий курсор. AddNew выделяет новую строку в конце набора записей ADODB
Набор записей ADODB - это набор данных на основе курсора. Когда вы загружаете строки в набор записей, курсор автоматически попадает на первую строку, поэтому, что бы вы ни делали в столбцах набора записей, он будет изменяться везде, на которые в данный момент указывает курсор набора записей. Например:
dim rs as new adodb.recordset
rs.Open _
" select emp_id, lastname, firstname, middlename, age from emp " & _
" where location = 'LIVERPOOL'" & _
" ORDER BY emp_id", connectionVariableHere
Это обновит первый ряд:
rs!middlename = "Ono"
rs.Update
Это обновит следующую строку:
rs.MoveNext
rs!middlename = "Eastman"
rs.Update
Чтобы добавить запись (курсор переместится на последнюю запись)
rs.AddNew
rs!lastname = "Ono"
rs!firstname = "Yoko"
rs!middlename = "Yasuda"
rs.Update
Это обновит последнюю добавленную запись после выполнения вышеуказанного шага:
rs!lastname = "Lennon"
rs.Update
Если я правильно помню, MoveNext, MoveFirst и т. Д. Неявно вызывают .Update перед перемещением в новое положение курсора, поэтому, если вы находитесь в первой строке ...
rs.MoveFirst
... Тогда вы делаете:
rs!age = 70 ' lennon's age of 2010
rs.MoveNext
... Это вызовет. Обновление перед переездом к Полу Маккартни. В любом случае, не полагайтесь на это, просто вызовите .Update, когда вы хотите зафиксировать изменения в строке