WillChangeRecordset 和 RecordsetChangeComplete 事件 (ADO)
适用于:Access 2013、Office 2013
WillChangeRecordset 事件在挂起的操作更改 Recordset 之前调用。 RecordsetChangeComplete 事件在 Recordset 已更改之后调用。
语法
WillChangeRecordsetadReason、 adStatus、 pRecordset
RecordsetChangeCompleteadReason, pError, adStatus, pRecordset
参数
参数 | 说明 |
---|---|
adReason | 指定此事件原因的 EventReasonEnum 值。 其值可以是 adRsnRequery、adRsnResynch、adRsnClose 和 adRsnOpen。 |
adStatus |
EventStatusEnum。 调用 WillChangeRecordset 时,如果导致事件的操作成功,此参数将设置为 adStatusOK 。 如果此事件无法请求取消挂起的操作,则它设置为 adStatusCantDeny 。 调用 RecordsetChangeComplete 时,如果导致事件的操作成功,则该参数设置为 adStatusOK ;如果操作失败,则该参数设置为 adStatusErrorsOccurred ;如果与以前接受的 WillChangeRecordset 事件关联的操作已被取消,则该参数设置为 adStatusCancel 。 在 WillChangeRecordset 返回之前,将该参数设置为 adStatusCancel 可以请求取消挂起的操作,将该参数设置为 adStatusUnwantedEvent 可以阻止随后进行通知。 在 WillChangeRecordset 或 RecordsetChangeComplete 返回之前,将该参数设置为 adStatusUnwantedEvent 可以阻止随后进行通知。 |
pError | Error 对象。 如果 adStatus 的值为 adStatusErrorsOccurred,则此参数描述所发生的错误,否则不设置此参数。 |
pRecordset | Recordset 对象。 发生此事件的 Recordset。 |
备注
WillChangeRecordset 或 RecordsetChangeComplete 事件发生的原因可能是 Recordset 的 Requery 或 Open 方法。
如果提供程序不支持书签,则每次从提供程序检索新行时,会发生 RecordsetChange 事件通知。 该事件的频率取决于 RecordsetCacheSize 属性。
对于每个可能的 adReason 值,必须将 adStatus 参数设置为 adStatusUnwantedEvent,才能完全阻止包括 adReason 参数的任何事件的事件通知。