Свойство 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 поставщик запросит запрос.