WillChangeRecord イベントと RecordChangeComplete イベント (ADO)
適用先: Access 2013、Office 2013
WillChangeRecord イベントは、 Recordset の 1 つ以上のレコード (行) が変更される前に呼び出されます。 RecordChangeComplete イベントは、1 つ以上のレコードが変更された後に呼び出されます。
構文
WillChangeRecordadReason、 cRecords、 adStatus、 pRecordset
RecordChangeCompleteadReason、 cRecords、 pError、 adStatus、 pRecordset
パラメーター
パラメーター | 説明 |
---|---|
adReason | このイベントの原因を示す EventReasonEnum 値です。 値は adRsnAddNew 、 adRsnDelete 、 adRsnUpdate 、 adRsnUndoUpdate 、 adRsnUndoAddNew 、 adRsnUndoDelete 、または adRsnFirstChange です。 |
cRecords | 変更される (影響を受ける) レコードの数を示す長整数型 ( Long ) の値です。 |
pError | Error オブジェクトです。 adStatus の値が adStatusErrorsOccurred である場合に発生したエラーについて説明します。それ以外の場合は設定されません。 |
adStatus |
EventStatusEnum。
WillChangeRecord が呼び出されたとき、イベントを発生させた操作が成功した場合、このパラメーターは adStatusOK に設定されます。 保留中の操作の取り消しをこのイベントが要求できない場合、このパラメーターは adStatusCantDeny に設定されます。 RecordChangeComplete が呼び出されたとき、このパラメーターは、イベントを発生させた操作が成功した場合は adStatusOK 、失敗した場合は adStatusErrorsOccurred に設定されます。 WillChangeRecord から制御が戻る前に、このイベントを発生させた操作の取り消しを要求するには、このパラメーターを adStatusCancel に設定し、後続の通知が行われないようにするには、このパラメーターを adStatusUnwantedEvent に設定します。 RecordChangeComplete から制御が戻る前に後続の通知が行われるのを防ぐには、このパラメーターを adStatusUnwantedEvent に設定します。 |
pRecordset | Recordset オブジェクト。 このイベントが発生した Recordset オブジェクトです。 |
注釈
WillChangeRecord イベントまたは RecordChangeComplete イベントは、 Recordset の Update、Delete、CancelUpdate、AddNew、UpdateBatch、および CancelBatch の各操作によって、行のフィールドが最初に変更されたときに発生します。 どの操作によってイベントが発生するかは、 Recordset の CursorType の値によって決まります。
WillChangeRecord イベント中、 Recordset の Filter プロパティは adFilterAffectedRecords に設定されます。 イベント処理中は、このプロパティを変更できません。
adReason パラメーターを含むすべてのイベントのイベント通知を完全に停止するには、考えられる adReason 値ごとに adStatus パラメーターを adStatusUnwantedEvent に設定する必要があります。