WillChangeRecord 方法在 Recordset 中的一个或多个记录(行)更改之前调用。RecordChangeComplete 方法在一个或多个记录更改之后调用。
语法
WillChangeRecord adReason, cRecords, adStatus, pRecordset
RecordChangeComplete adReason, cRecords, pError, adStatus, pRecordset
参数
adReason EventReasonEnum 值,指定该事件的原因。它的值可以是 adRsnAddNew、adRsnDelete、adRsnUpdate、adRsnUndoUpdate、adRsnUndoAddNew、adRsnUndoDelete 或 adRsnFirstChange。
cRecords 长整型,更改(影响)的记录数目。
pError Error 对象,说明当 adStatus 值为 adStatusErrorsOccurred 时所发生的错误,否则将不对它进行设置。
adStatus EventStatusEnum 状态值。
当调用 WillChangeRecord 时,如果引发事件的操作成功,该参数设置为 adStatusOK。如果该方法无法请求取消挂起的操作,则设置为 adStatusCantDeny。
当调用 RecordChangeComplete 时,如果引发事件的操作成功,则该参数设置为 adStatusOK。如果操作失败,则设置为 adStatusErrorsOccurred。
在 WillChangeRecord 返回前,将该参数设置为 adStatusCancel 可请求取消引发该事件的操作。
在 RecordChangeComplete 返回前,将该参数设置为 adStatusUnwantedEvent 可防止后续的通知。
pRecordset Recordset 对象,发生该事件所针对的 Recordset。
说明
WillChangeRecord 或 RecordChangeComplete 事件可因下列 Recordset 操作并针对行中第一个更改的字段发生:Update、Delete、CancelUpdate、AddNew、UpdateBatch 和 CancelBatch。Recordset CursorType 的值决定了是哪一个操作导致事件发生。
在 WillChangeRecord 事件期间,Recordset Filter 属性设置为 adFilterAffectedRecords。在处理事件时更改该属性是不合法的。