WillChangeRecord 和 RecordChangeComplete 事件 (ADO)
WillChangeRecord 事件會在 Recordset 變更的一或多個記錄之前呼叫。 RecordChangeComplete 事件會在一或多個記錄變更之後呼叫。
語法
WillChangeRecord adReason, cRecords, adStatus, pRecordset
RecordChangeCompletedReason, cRecords, pError, adStatus, pRecordset
參數
adReason
EventReasonEnum 值,指定此事件的原因。 其值可以是 adRsnAddNew、adRsnDelete、adRsnUpdate、adRsnUndoUp、adRsnUndoAddNew、adRsnUndoDelete或 adRsnFirstChange。
cRecords
Long 值,指出變更的記錄數目(受影響)。
pError
Error 物件。 它會描述如果 adStatus adStatusErrorsOccurred時所發生的錯誤;否則不會設定。
adStatus
EventStatusEnum 狀態值。
呼叫willChangeRecord 時,如果造成事件的作業成功,此參數會設定為 adStatusOK。 如果此事件無法要求取消暫止作業,則會設定為 adStatusCantDeny。
呼叫 recordChangeComplete 時,如果造成事件的作業成功,此參數會設定為 adStatusOK,或 失敗時 adStatusErrorsOccurred。
WillChangeRecord 傳回之前,請將此參數設定為 adStatusCancel 要求取消造成此事件的作業,或將此參數設定為 adStatusUnwantedEvent 以防止後續通知。
RecordChangeComplete 傳回之前,請將此參數設定為 adStatusUnwantedEvent 以防止後續通知。
pRecordset
Recordset 物件。 發生此事件的 Recordset。
言論
WillChangeRecord 或 RecordChangeComplete 事件,可能會因為下列 Recordset 作業而發生數據列中第一個變更的欄位:Update、Delete、CancelUpdate、AddNew、UpdateBatch及 CancelBatch。 CursorTypeRecordset 的值會決定哪些作業會導致事件發生。
在 WillChangeRecord 事件期間,RecordsetFilter 属性會設定為 adFilterAffectedRecords 。 處理事件時,您無法變更這個屬性。
您必須針對每個可能 adReason 值,將 adStatus 參數設定為 adStatusUnwantedEvent,以完全停止包含 adReason 參數的任何事件事件通知。