Метод AddNew (ADO)
Область применения: Access 2013, Office 2013
Создает новую запись для обновляемого объекта Recordset.
Синтаксис
набор записей. AddNew FieldList, Values
Параметры
Параметр | Описание |
---|---|
Набора записей | Объект Recordset . |
FieldList | Необязательный параметр. Одно имя или массив имен или порядковых позиций полей в новой записи. |
Значения | Необязательный параметр. Одно значение или массив значений для полей в новой записи. Если fieldlist является массивом, значения также должны быть массивом с таким же количеством элементов; в противном случае возникает ошибка. Порядок имен полей должен соответствовать порядку значений полей в каждом массиве. |
Замечания
Используйте метод AddNew для создания и инициализации новой записи. Используйте метод Supports с adAddNew (значение CursorOptionEnum ), чтобы проверить, можно ли добавить записи в текущий объект Recordset .
После вызова метода AddNew новая запись становится текущей и остается текущей после вызова метода Update . Так как новая запись добавляется в набор записей, вызов MoveNext после обновления будет перемещаться за конец набора записей, что делает EOF true. Если объект Recordset не поддерживает закладки, вы не сможете получить доступ к новой записи после перехода на другую запись. В зависимости от типа курсора может потребоваться вызвать метод Requery , чтобы сделать новую запись доступной.
При вызове AddNew при редактировании текущей записи или при добавлении новой записи ADO вызывает метод Update для сохранения изменений, а затем создает новую запись.
Поведение метода AddNew зависит от режима обновления объекта Recordset и от того, передается ли аргументы Fieldlist и Values .
В режиме немедленного обновления (в котором поставщик записывает изменения в базовый источник данных после вызова метода Update ), вызов метода AddNew без аргументов задает для свойства EditMode значение adEditAdd (значение EditModeEnum ). Поставщик кэширует все изменения значений поля локально. Вызов метода Update отправляет новую запись в базу данных и сбрасывает свойство EditMode в adEditNone (значение EditModeEnum ). Если передать аргументы Fieldlist и Values , ADO немедленно отправляет новую запись в базу данных (вызов Update не требуется); Значение свойства EditMode не меняется (adEditNone).
В режиме пакетного обновления (в котором поставщик кэширует несколько изменений и записывает их в базовый источник данных только при вызове метода UpdateBatch ) метод AddNew без аргументов задает для свойства EditModeзначение adEditAdd. Поставщик кэширует все изменения значений поля локально. Вызов метода Update добавляет новую запись в текущий набор записей и сбрасывает свойство EditMode в adEditNone, но поставщик не публикует изменения в базовой базе данных, пока вы не вызовете метод UpdateBatch . Если передать аргументы Fieldlist и Values , ADO отправляет новую запись поставщику для хранения в кэше; Чтобы отправить новую запись в базовую базу данных, необходимо вызвать метод UpdateBatch .