次の方法で共有


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

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

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

バッチ更新モードでは、引数を指定せずに AddNew メソッドを呼び出すと、EditMode プロパティが adEditAdd に設定されます。 プロバイダーは、フィールド値の変更をローカルにキャッシュします。 Update メソッドを呼び出すと、新しいレコードが現在の Recordset に追加され、EditMode プロパティが adEditNone にリセットされますが、UpdateBatch メソッドを呼び出すまで、プロバイダーは基になるデータベースに変更をポストしません。 引数に FieldListValues 渡すと、ADO はキャッシュに格納するために新しいレコードをプロバイダーに送信します。新しいレコードを基になるデータベースにポストするには、UpdateBatch メソッドを呼び出す必要があります。 UpdateUpdateBatchの詳細については、データの更新と永続化を参照してください。