CancelBatch メソッド (ADO)
適用先: Access 2013、Office 2013
保留中のバッチ更新をキャンセルします。
構文
recordset。CancelBatch AffectRecords
パラメーター
パラメーター | 説明 |
---|---|
AffectRecords | 省略可能です。 CancelBatch メソッドで処理するレコードの数を示す AffectEnum 値です。 |
注釈
CancelBatch メソッドは、バッチ更新モードの Recordset で保留中の更新をすべて取り消す場合に使用します。 即時更新モードの Recordset では、 adAffectCurrent を指定しないで CancelBatch を呼び出すと、エラーが発生します。
カレント レコードの編集中または新規レコードの追加中に CancelBatch メソッドを呼び出すと、最初に CancelUpdate メソッドが呼び出されて、キャッシュされているすべての変更が取り消されます。 その後、 Recordset で保留中のすべての変更が取り消されます。
CancelBatch 呼び出しの後、特に新しいレコードを追加する処理中の場合は、現在のレコードが不確定になる可能性があります。 このため、CancelBatch 呼び出しの後に、現在のレコード位置を Recordset 内の既知の場所に設定することが推奨されます。 たとえば、 MoveFirst メソッドを呼び出します。
基になるデータとの競合 (たとえば、他のユーザーによってレコードが削除されている場合) が原因で保留中の更新を取り消すこどができない場合、プロバイダーは Errors コレクションに警告を返しますが、プログラムの実行は停止しません。 要求したすべてのレコードで競合が発生した場合にのみ、実行時エラーが発生します。 競合しているレコードを特定するには、Filter プロパティ (adFilterAffectedRecords) と Status プロパティを使用します。