(PWS4 IIS4 IIS5)
UpdateBatch — 保留中のバッチ更新をすべてディスクに書き込みます。
構文
recordset.UpdateBatch AffectRecords
パラメータ
- recordset
- Recordset オブジェクを指定します。
- AffectRecords
- 省略可能です。UpdateBatch メソッドで操作するレコード数を示す AffectEnum 値を指定します。
戻り値
値を返しません。
説明
バッチ更新モードで Recordset オブジェクトを編集しているときに UpdateBatch を使用すると、Recordset オブジェクトに加えられたすべての変更が、基になるデータベースに転送されます。
Recordset オブジェクトがバッチ更新をサポートしている場合、UpdateBatch メソッドを呼び出すまで、1 つまたは複数のレコードに対する複数の変更をローカルにキャッシュできます。カレント レコードの編集中、または新規レコードの追加中に UpdateBatch メソッドを呼び出すと、変更を一括してプロバイダに転送する前に、Update が自動的に呼び出され、カレントレコードの保留中の変更がすべて保存されます。バッチ更新は、キーセットまたは静的カーソルでのみ使用します。
注意 フィルタ操作で該当レコードが存在しない場合など、現在の Recordset で表示するレコードが存在しない場合に、このパラメータの値に adAffectGroup を指定すると、エラーが発生します。
基になるデータとの競合 (たとえば、ほかのユーザーによってレコードが削除されている場合など) が原因で、複数またはすべてのレコードに対する変更の送信に失敗した場合、プロバイダは Errors コレクションに警告を返し、実行時エラーが発生します。競合しているレコードを特定するには、Filter プロパティ (adFilterAffectedRecords) と Status プロパティを使用します。
保留中のバッチ更新をキャンセルするには、CancelBatch メソッドを使用します。
Unique Table および Update Resync ダイナミック プロパティが設定されていて、Recordset が複数のテーブルに対する JOIN 操作の実行結果である場合、UpdateBatch メソッドの実行後に、Update Resync プロパティの設定値に基づいて Resync メソッドが暗黙的に実行されます。
データ ソースで行われる個々のバッチ更新の順序は、ローカルの Recordset で実行した順序と同じである必要はありません。更新順序はプロバイダによって決まります。挿入または更新時での外部キーによる制約など、相互に関連する更新をコーディングするときは、このことを考慮に入れてください。