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

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

Синтаксис

  
WillChangeRecord adReason, 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 .

См. также:

Пример модели событий ADO (Visual C ++)
Общие сведения об обработчике событий ADO