次の方法で共有


即時モードとバッチ モードでの AddNew の使用

適用先: Access 2013、Office 2013

AddNew メソッドの動作は、Recordset の更新モードと、FieldList 引数および Values 引数を渡すかどうかによって異なります。

即時更新モード ( Update メソッドを呼び出すと、プロバイダーが基になるデータ ソースに変更を書き込む) では、引数を指定せずに AddNew メソッドを呼び出すと 、EditMode プロパティが adEditAdd に設定されます。プロバイダーは、フィールド値の変更をローカルにキャッシュします。 Update メソッドを呼び出すと、新しいレコードがデータベースにポストされ、EditMode プロパティが adEditNone にリセットされます。 FieldList 引数と Values 引数を渡すと、ADO は新しいレコードをデータベースに直ちに投稿します (Update 呼び出しは必要ありません)。EditMode プロパティの値は変更されません (adEditNone)。

バッチ更新モードでは、引数を指定せずに AddNew メソッドを呼び出すと 、EditMode プロパティが adEditAdd に設定されます。 The provider caches any field value changes locally. Calling the Update method adds the new record to the current Recordset and resets the EditMode property to adEditNone, but the provider does not post the changes to the underlying database until you call the UpdateBatch method. 引数 FieldListValues を渡すと、ADO はキャッシュ内のストレージ用に新しいレコードをプロバイダーに送信します。新しいレコードを基になるデータベースにポストするには、UpdateBatch メソッドを呼び出す必要があります。 UpdateUpdateBatch の詳細については、「第 5 章: データの更新と永続化」を参照してください。