CancelBatch メソッド (ADO)

保留中のバッチ更新を取り消します。

構文

  
recordset.CancelBatchAffectRecords  

パラメーター

AffectRecords
省略可能。 CancelBatch メソッドが影響を与えるレコードの数を示す AffectEnum 値。

注釈

バッチ更新モードの Recordset 内で保留中の更新を取り消すには、CancelBatch メソッドを使います。 Recordset が即時更新モードの場合、adAffectCurrent を指定せずに CancelBatch を呼び出すと、エラーが発生します。

CancelBatch を呼び出したときに現在のレコードを編集している場合、または新しいレコードを追加している場合、まず ADO から CancelUpdate メソッドが呼び出され、キャッシュされた変更がすべて取り消されます。 その後、Recordset 内にある保留中のすべての変更は取り消されます。

CancelBatch 呼び出しの後、特に新しいレコードを追加する処理中の場合は、現在のレコードを特定できなくなることがあります。 このため、CancelBatch 呼び出しの後に、現在のレコード位置を Recordset 内の既知の位置に設定することをお勧めします。 たとえば、MoveFirst メソッドを呼び出します。

保留中の更新を取り消そうとして、基になるデータとの競合 (たとえば、レコードが別のユーザーによって削除されている) が原因で失敗した場合、プロバイダーは Errors コレクションに警告を返しますが、プログラムの実行は停止しません。 実行時エラーが発生するのは、要求されたすべてのレコードで競合がある場合だけです。 Filter プロパティ (adFilterAffectedRecords) と Status プロパティを使用して、競合のあるレコードを特定します。

適用対象

Recordset オブジェクト (ADO)

参照

UpdateBatch および CancelBatch メソッドの例 (VB)
UpdateBatch および CancelBatch メソッドの例 (VC++)
Cancel メソッド (ADO)
Cancel メソッド (RDS)
CancelUpdate メソッド (ADO)
CancelUpdate メソッド (RDS)
Clear メソッド (ADO)
LockType プロパティ (ADO)
UpdateBatch メソッド