Update メソッド

       

Recordset オブジェクトのカレント行、または Record オブジェクトの Fields コレクションに加えた変更を保存します。

構文

recordset.Update Fields, Values

record.Fields.Update

パラメータ

Fields   省略可能です。単一の名前を表すバリアント型 (Variant) の値、あるいは変更するフィールド名または位置を表す値の並びをバリアント型 (Variant) の配列として指定します。

Values   省略可能です。単一の値を表すバリアント型 (Variant) の値、または新規レコードのフィールド値を表すバリアント型 (Variant) の配列を指定します。

解説

Recordset

Update メソッドは、AddNew メソッドの呼び出し以後、または既存レコードのフィールド値の変更以後に Recordset オブジェクトのカレント レコードに加えられた変更を保存します。Recordset オブジェクトは更新をサポートしている必要があります。

フィールド値を設定するには、次のいずれかの操作を行います。

フィールド名の配列と値の配列を使用する場合、両方の配列の要素数が同じである必要があります。また、フィールド名の順序とフィールド値の順序も一致している必要があります。フィールド名とフィールド値の数および順序が一致しない場合は、エラーが発生します。

Recordset オブジェクトがバッチ更新をサポートしている場合、UpdateBatch メソッドを呼び出すまで、1 つまたは複数のレコードに対する複数の変更をローカルにキャッシュできます。カレント レコードの編集中または新規レコードの追加中に UpdateBatch メソッドを呼び出すと、変更を一括してプロバイダに転送する前に、Update メソッドが自動的に呼び出され、カレント レコードの保留中の変更がすべて保存されます。

Update メソッドを呼び出す前に、追加または編集を行っているレコードから移動すると、自動的に Update が呼び出され、変更が保存されます。カレント レコードに加えた変更をキャンセルする場合、または新しく追加したレコードを破棄する場合は、CancelUpdate メソッドを呼び出す必要があります。

Update メソッドを呼び出した後も、カレント レコードはそのままカレント レコードになります。

Unique Table ダイナミック プロパティが設定されており、Recordset が、複数のテーブルに対する JOIN 操作の実行結果である場合、Update メソッドでは、複数のテーブルの主キーを更新することはできません。また、Update メソッドでは、Unique Table プロパティに指定されたテーブルのフィールドのみを更新することができます。

Record

Update メソッドは、Record オブジェクトの Fields コレクションに含まれるフィールドの追加、削除、および更新を確定します。

たとえば、Delete メソッドで削除されたフィールドは、直ちに削除フィールドとしてマークされますが、コレクションには残されたままです。これらのフィールドをプロバイダのコレクションから実際に削除するには、Update メソッドを呼び出す必要があります。