Поделиться через


Свойство Status (Field в ADO)

Область применения: Access 2013, Office 2013

Указывает состояние объекта Field .

Возвращаемое значение

Возвращает значение FieldStatusEnum . Значение по умолчанию — adFieldOK.

Замечания

Это свойство всегда возвращает adFieldOK для полей объекта Recordset .

Добавления и удаления в коллекциях Fields объекта Record кэшируются до вызова метода Update . Свойство Status позволяет определить, какие поля были успешно добавлены или удалены.

Чтобы повысить производительность, изменения схемы кэшируются до вызова Обновления , а затем изменения вносятся в пакетное оптимистическое обновление. Если метод Update не вызывается, сервер не обновляется. Если какие-либо обновления завершаются сбоем, возвращается ошибка, а свойство Status указывает объединенные значения кода состояния операции и ошибки. Например, adFieldPendingInsertИЛИadFieldPermissionDenied. Свойство Status для каждого поля можно использовать, чтобы определить, почему поле не было добавлено, изменено или удалено. Состояние предоставляется только в записи. Коллекция Fields , а не набор записей. Коллекция Fields .

При добавлении, изменении или удалении поля могут возникнуть две проблемы. Если пользователь удаляет Поле, оно помечается для удаления из коллекции Fields . Если последующее обновление возвращает ошибку, так как пользователь пытался удалить поле , для которого у него нет разрешения, поле будет иметь состояние adFieldPermissionDeniedORadFieldPendingDelete. Вызов метода CancelUpdate восстанавливает исходные значения и задает для параметра Состояниезначение adFieldOK. Аналогичным образом метод Update может возвращать ошибку, так как новое поле было добавлено и присвоено недопустимое значение. В этом случае новое поле будет находиться в коллекции Fields и иметь состояние adFieldPendingInsert и, возможно, adFieldCantCreate. Можно указать соответствующее значение для нового поля и снова вызвать Update . Обратите внимание, что вместо вызова Resync поставщик запросит запрос.