AddNew

(PWS4 IIS4 IIS5)
AddNew — 更新可能な Recordset オブジェクトの新規レコードを作成します。

構文

recordset.AddNew FieldList, Values

パラメータ

recordset
Recordset オブジェクトを指定します。
FieldList
省略可能です。新しいレコード中のフィールド名を指定します。複数のフィールド名を指定するには、フィールド名、または位置を表す値の並びを配列として指定します。
Values
省略可能です。新規レコードのフィールド値を指定するか、または複数のフィールドの値を表す配列を指定します。Fieldlist が配列の場合、Values も同じ数の要素を持つ配列である必要があります。そうでない場合は、エラーが発生します。Fieldlist の配列と Values の配列で、フィールド名の順序とフィールド値の順序を一致させる必要があります。

説明

AddNew メソッドを使って、新規レコードの作成と初期化を行います。現在の Recordset オブジェクトにレコードを追加できるかどうかを確認するには、Supports メソッドに adAddNew (CursorOptionEnum 値) を指定して使用します。

AddNew メソッドを呼び出した後は新規レコードがカレント レコードになり、Update メソッドを呼び出した後もそのままカレント レコードになります。ブックマークをサポートしていない Recordset オブジェクトでは、別のレコードに移動すると、新規レコードにアクセスできなくなることがあります。カーソルの種類によっては、新規レコードにアクセスするために、Requery メソッドを呼び出す必要があります。

カレント レコードの編集中または新規レコードの追加中に AddNew メソッドを呼び出すと、ADO によって自動的に Update メソッドが呼び出されてすべての変更が保存され、その後で新規レコードが作成されます。

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

” 即時更新モード” (Update メソッドを呼び出したときに、基になるデータ ソースに変更が書き込まれる) では、Fieldlist 引数と Values 引数を指定せずに AddNew メソッドを呼び出すと、EditMode プロパティが adEditAdd (EditModeEnum 値) に設定されます。フィールド値のすべての変更はローカル メモリにキャッシュされます。Update メソッドを呼び出すと、新規レコードがデータベースに書き込まれ、EditMode プロパティが adEditNone (EditModeEnum 値) に再設定されます。Fieldlist 引数と Values 引数を指定した場合は、ADO によって新規レコードは直ちにデータベースに書き込まれ (Update メソッドの呼び出しは不要)、EditMode プロパティの値は adEditNone のまま変更されません。

“バッチ更新モード” (変更はキャッシュに格納され、UpdateBatch メソッドを呼び出したときに、基になるデータ ソースに一括で書き込まれる) では、Fieldlist 引数と Values 引数を指定せずに AddNew メソッドを呼び出すと、EditMode プロパティが adEditAdd に設定されます。フィールド値のすべての変更はローカルメモリにキャッシュされます。Update メソッドを呼び出すと、現在の Recordset に新規レコードが追加され、EditMode プロパティが adEditNone に再設定されます。ただし、UpdateBatch メソッドを呼び出すまでは、基になるデータベースに変更は書き込まれません。Fieldlist 引数と Values 引数を指定した場合は、ADO によって新規レコードがプロバイダに送られ、キャッシュに格納されます。基になるデータベースに新規レコードを書き込むには、UpdateBatch メソッドを呼び出す必要があります。