次の方法で共有


WillChangeRecordset および RecordsetChangeComplete イベント (ADO)

WillChangeRecordset イベントは、保留中の操作が Recordset を変更する前に呼び出されます。 RecordsetChangeComplete イベントは、Recordset が変更された後に呼び出されます。

構文

  
WillChangeRecordset adReason, adStatus, pRecordset  
RecordsetChangeComplete adReason, pError, adStatus, pRecordset  

パラメーター

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

解説

WillChangeRecordset または RecordsetChangeComplete イベントは、Recordset Requery または Open メソッドが原因で発生する可能性があります。

プロバイダーがブックマークをサポートしていない場合は、新しい行がプロバイダーから取得されるたびに RecordsetChange イベント通知が発生します。 このイベントの頻度は RecordsetCacheSize プロパティによって異なります。

adReason パラメーターを含むイベントのイベント通知を完全に停止するには、可能な adReason 値ごとに adStatus パラメーターを adStatusUnwantedEvent に設定する必要があります。

参照

ADO イベント モデルの例 (VC++)
ADO イベント ハンドラーの概要