Метод Recordset2.Update (DAO)
Область применения: Access 2013, Office 2013
Синтаксис
expression . Update(UpdateType, Force)
Выражение Переменная, представляющая объект Recordset2 .
Параметры
Имя |
Обязательный/необязательный |
Тип данных |
Описание |
---|---|---|---|
UpdateType |
Необязательный |
Long |
Константа UpdateTypeEnum, обозначающая тип обновления, заданный в параметрах (только для рабочих областей ODBCDirect). |
Сила |
Необязательный |
Логический |
Логическое значение, указывающее, следует ли принудительно вносить изменения в базу данных независимо от того, были ли базовые данные изменены другим пользователем с момента вызова метода AddNew, Delete или Edit. Если задано значение True, то ваши изменения принудительно применяются, а изменения, внесенные другими пользователями, просто перезаписываются. Если задано значение False (по умолчанию), то изменения, внесенные другими пользователями, пока обновление ожидает обработки, приведут к сбоям обновления в конфликтных участках. Ошибка не возникает, но в свойствах BatchCollisionCount и BatchCollisions указывается количество конфликтов и затронутых ими строк, соответственно (только для рабочих областей ODBCDirect). |
Примечания
Используйте метод Update, чтобы сохранить текущую запись и все внесенные в нее изменения.
Важно!
Изменения текущей записи теряются, если:
- вызвать метод Edit или AddNew, а затем перейти к другой записи, не используя перед этим метод Update;
- вызвать метод Edit или AddNew, а затем снова применить метод Edit или AddNew, не используя перед этим метод Update;
- указать в свойстве Bookmark другую запись;
- закрыть объект Recordset, не используя перед этим метод Update;
- отменить операцию Edit с помощью метода CancelUpdate.
Чтобы изменить запись, используйте метод Edit для копирования содержимого текущей записи в буфер обмена. Если сначала не вызвать метод Edit, то при использовании метода Update или попытке изменить значение поля возникнет ошибка.
В рабочей области ODBCDirect можно выполнять пакетное обновление, при условии что библиотека курсоров поддерживает его, а объект Recordset был открыт с использованием оптимистичной блокировки пакетных операций.
Если в рабочей области Microsoft Access для свойства LockEdits объекта Recordset задано значение True (пессимистичная блокировка) в многопользовательской среде, то запись останется заблокированной с момента вызова метода Edit до завершения выполнения метода Update или отмены изменения. Если для свойства LockEdits задано значение False (оптимистичная блокировка), то запись блокируется и сравнивается с ее вариантом непосредственно перед обновлением в базе данных. Если запись изменилась с момента использования метода Edit, происходит сбой операции Update. В базах данных ODBC, подключенных к ядру СУБД Microsoft Access, и устанавливаемых базах данных ISAM всегда используется оптимистичная блокировка. Чтобы продолжить выполнение операции Update с вашими изменениями, снова вызовите метод Update. Чтобы вернуть запись в состояние, оставленное другим пользователем, обновите текущую запись с помощью команды Move 0.
Примечание.
Чтобы запись можно было добавить, изменить или удалить, в базовом источнике данных должен быть указан ее уникальный индекс. В противном случае возникнет ошибка "Отказано в разрешении" (при вызове метода AddNew, Delete или Edit в рабочей области Microsoft Access) или ошибка "Недопустимый аргумент" (при вызове метода Update в рабочей области ODBCDirect).