WillMove 和 MoveComplete 事件 (ADO)

WillMove 事件在挂起操作更改 Recordset 中的当前位置之前进行调用。 Recordset 中的当前位置发生更改后,将调用 MoveComplete 事件。

语法

  
WillMove adReason, adStatus, pRecordset  
MoveComplete adReason, pError, adStatus, pRecordset  

参数

adReason
一个 EventReasonEnum 值,用于指定此事件的原因。 它的值可以是 adRsnMoveFirst、adRsnMoveLast、adRsnMoveNext、adRsnMovePrevious、adRsnMove 或 adRsnRequery。

pError
一个 Error 对象。 它描述了在 adStatus 的值为 adStatusErrorsOccurred 时发生的错误;否则不设置此参数。

adStatus
一个 EventStatusEnum 状态值。

调用 WillMove 时,如果导致事件的操作成功,则此参数设置为 adStatusOK。 如果此事件无法请求取消挂起的操作,则设置为 adStatusCantDeny。

调用 MoveComplete 事件时,如果导致事件的操作成功,则此参数设置为 adStatusOK;如果操作失败,则设置为 adStatusErrorsOccurred。

在 WillMove 返回之前,将此参数设置为 adStatusCancel 以请求取消挂起的操作,或将此参数设置为 adStatusUnwantedEvent 以阻止后续通知。

在 MoveComplete 返回之前,请将此参数设置为 adStatusUnwantedEvent 以阻止后续通知。

pRecordset
一个 Recordset 对象。 发生此事件的 Recordset。

备注

由于以下 Recordset 操作,可能会发生 WillMove 或 MoveComplete 事件:OpenMoveMoveFirstMoveLastMoveNextMovePreviousAddNewRequery。 由于以下属性,可能会发生这些事件:FilterIndexBookmarkAbsolutePageAbsolutePosition。 如果子 Recordset 连接了 Recordset 事件并且父 Recordset 被移动,则也会发生这些事件。

必须将每个可能的 adReason 值的 adStatus 参数设置为 adStatusUnwantedEvent,以便完全停止包含 adReason 参数的任何事件的事件通知。

另请参阅

ADO 事件模型示例 (VC++)
ADO 事件处理程序摘要
记录集对象 (ADO)