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


События WillChangeRecord и RecordChangeComplete (ADO)

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

Событие WillChangeRecord вызывается перед изменением одной или нескольких записей (строк) в наборе записей . Событие RecordChangeComplete вызывается после изменения одной или нескольких записей.

Синтаксис

WillChangeRecordadReason, cRecords, adStatus, pRecordset

RecordChangeCompleteadReason, cRecords, pError, adStatus, pRecordset

Параметры

Параметр Описание
adReason Значение EventReasonEnum , указывающее причину этого события. Его значение может быть adRsnAddNew, adRsnDelete, adRsnUpdate, adRsnUndoUpdate, adRsnUndoAddNew, adRsnUndoDelete или adRsnFirstChange.
cRecords Значение Long , указывающее количество измененных (затронутых) записей.
pError Объект Error . Он описывает ошибку, которая произошла, если значение adStatus имеет значение adStatusErrorsOccurred; в противном случае он не задан.
adStatus EventStatusEnum. При вызове Метода WillChangeRecord этот параметр имеет значение adStatusOK , если операция, вызвавшей событие, была успешной. Для параметра задано значение adStatusCantDeny , если это событие не может запросить отмену ожидающей операции.

При вызове RecordChangeComplete этому параметру присваивается значение adStatusOK , если операция, вызвавшее событие, была успешной, или adStatusErrorsOccurred в случае сбоя операции.

Перед возвратом WillChangeRecord задайте для этого параметра значение adStatusCancel , чтобы запросить отмену операции, вызвавшей это событие, или задайте для этого параметра значение adStatusUnwantedEvent, чтобы предотвратить последующие нотации.

Перед возвратом RecordChangeComplete задайте для этого параметра значение adStatusUnwantedEvent , чтобы предотвратить последующие уведомления.
pRecordset Объект Recordset . Набор записей, для которого произошло это событие.

Замечания

Событие WillChangeRecord или RecordChangeComplete Может возникнуть для первого измененного поля в строке из-за следующих операций набора записей : Update, Delete, CancelUpdate, AddNew, UpdateBatch и CancelBatch. Значение Объекта RecordsetCursorType определяет, какие операции вызывают события.

Во время события WillChangeRecord свойству Фильтр набора записей присваивается значение adFilterAffectedRecords. Это свойство нельзя изменить при обработке события.

Для параметра adStatus необходимо задать значение adStatusUnwantedEvent для каждого возможного значения adReason, чтобы полностью остановить нотацию события для любого события, включающего параметр adReason.