WillChangeRecordset 和 RecordsetChangeComplete 事件 (ADO)

适用于:Access 2013、Office 2013

WillChangeRecordset 事件在挂起的操作更改 Recordset 之前调用。 RecordsetChangeComplete 事件在 Recordset 已更改之后调用。

语法

WillChangeRecordsetadReasonadStatuspRecordset

RecordsetChangeCompleteadReasonpErroradStatuspRecordset

参数

参数 说明
adReason 指定此事件原因的 EventReasonEnum 值。 其值可以是 adRsnRequeryadRsnResynchadRsnCloseadRsnOpen
adStatus EventStatusEnum。 调用 WillChangeRecordset 时,如果导致事件的操作成功,此参数将设置为 adStatusOK 。 如果此事件无法请求取消挂起的操作,则它设置为 adStatusCantDeny

调用 RecordsetChangeComplete 时,如果导致事件的操作成功,则该参数设置为 adStatusOK ;如果操作失败,则该参数设置为 adStatusErrorsOccurred ;如果与以前接受的 WillChangeRecordset 事件关联的操作已被取消,则该参数设置为 adStatusCancel

WillChangeRecordset 返回之前,将该参数设置为 adStatusCancel 可以请求取消挂起的操作,将该参数设置为 adStatusUnwantedEvent 可以阻止随后进行通知。

WillChangeRecordsetRecordsetChangeComplete 返回之前,将该参数设置为 adStatusUnwantedEvent 可以阻止随后进行通知。
pError Error 对象。 如果 adStatus 的值为 adStatusErrorsOccurred,则此参数描述所发生的错误,否则不设置此参数。
pRecordset Recordset 对象。 发生此事件的 Recordset

备注

WillChangeRecordsetRecordsetChangeComplete 事件发生的原因可能是 RecordsetRequeryOpen 方法。

如果提供程序不支持书签,则每次从提供程序检索新行时,会发生 RecordsetChange 事件通知。 该事件的频率取决于 RecordsetCacheSize 属性。

对于每个可能的 adReason 值,必须将 adStatus 参数设置为 adStatusUnwantedEvent,才能完全阻止包括 adReason 参数的任何事件的事件通知。