次の方法で共有


WillChangeRecord イベントと RecordChangeComplete イベント (ADO)

適用先: Access 2013、Office 2013

WillChangeRecord イベントは、 Recordset の 1 つ以上のレコード (行) が変更される前に呼び出されます。 RecordChangeComplete イベントは、1 つ以上のレコードが変更された後に呼び出されます。

構文

WillChangeRecordadReasoncRecordsadStatuspRecordset

RecordChangeCompleteadReasoncRecordspErroradStatuspRecordset

パラメーター

パラメーター 説明
adReason このイベントの原因を示す EventReasonEnum 値です。 値は adRsnAddNewadRsnDeleteadRsnUpdateadRsnUndoUpdateadRsnUndoAddNewadRsnUndoDelete 、または adRsnFirstChange です。
cRecords 変更される (影響を受ける) レコードの数を示す長整数型 ( Long ) の値です。
pError Error オブジェクトです。 adStatus の値が adStatusErrorsOccurred である場合に発生したエラーについて説明します。それ以外の場合は設定されません。
adStatus EventStatusEnumWillChangeRecord が呼び出されたとき、イベントを発生させた操作が成功した場合、このパラメーターは adStatusOK に設定されます。 保留中の操作の取り消しをこのイベントが要求できない場合、このパラメーターは adStatusCantDeny に設定されます。

RecordChangeComplete が呼び出されたとき、このパラメーターは、イベントを発生させた操作が成功した場合は adStatusOK 、失敗した場合は adStatusErrorsOccurred に設定されます。

WillChangeRecord から制御が戻る前に、このイベントを発生させた操作の取り消しを要求するには、このパラメーターを adStatusCancel に設定し、後続の通知が行われないようにするには、このパラメーターを adStatusUnwantedEvent に設定します。

RecordChangeComplete から制御が戻る前に後続の通知が行われるのを防ぐには、このパラメーターを adStatusUnwantedEvent に設定します。
pRecordset Recordset オブジェクト。 このイベントが発生した Recordset オブジェクトです。

注釈

WillChangeRecord イベントまたは RecordChangeComplete イベントは、 RecordsetUpdateDeleteCancelUpdateAddNewUpdateBatch、および CancelBatch の各操作によって、行のフィールドが最初に変更されたときに発生します。 どの操作によってイベントが発生するかは、 RecordsetCursorType の値によって決まります。

WillChangeRecord イベント中、 RecordsetFilter プロパティは adFilterAffectedRecords に設定されます。 イベント処理中は、このプロパティを変更できません。

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