AddNew メソッドの動作は、Recordset オブジェクトの更新モードと、FieldList 引数と Values 引数を渡すかどうかによって異なります。
即時更新モード (Update メソッドを呼び出すと、プロバイダーが基になるデータ ソースに変更を書き込む) では、引数を指定せずに AddNew メソッドを呼び出すと、EditMode プロパティが adEditAdd 設定されます。 プロバイダーは、フィールド値の変更をローカルにキャッシュします。 Update メソッドを呼び出すと、新しいレコードがデータベースにポストされ、EditMode プロパティが adEditNone リセットされます。 引数に FieldList と Values 引数を渡すと、ADO は新しいレコードをデータベースに直ちにポストします (Update 呼び出しは必要ありません)。EditMode プロパティの値は変更されません (adEditNone)。
バッチ更新モードでは、引数を指定せずに AddNew メソッドを呼び出すと、EditMode プロパティが adEditAdd をに設定されます。 プロバイダーは、フィールド値の変更をローカルにキャッシュします。 Update メソッドを呼び出すと、新しいレコードが現在の Recordset に追加され、EditMode プロパティが adEditNone にリセットされますが、UpdateBatch メソッドを呼び出すまで、プロバイダーは基になるデータベースに変更をポストしません。 引数に FieldList と Values 渡すと、ADO はキャッシュに格納するために新しいレコードをプロバイダーに送信します。新しいレコードを基になるデータベースにポストするには、UpdateBatch メソッドを呼び出す必要があります。 Update と UpdateBatchの詳細については、データの更新と永続化を参照してください。