日期:2012-06-13  浏览次数:21013 次

WillChangeRecord 和 RecordChangeComplete (RecordsetEvent) 方法


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。在处理事件时更改该属性是不合法的。