Update

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

構文

recordset.Update Fields, Values
record.Fields.Update

パラメータ

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

説明

Recordsetの場合

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

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

* Field オブジェクトの Value プロパティに値を代入し、Update メソッドを呼び出します。
* Update メソッドの呼び出しで、フィールド名と値を引数として渡します。
* Update メソッドの呼び出しで、フィールド名の配列と値の配列を渡します。

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

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

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

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

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

Recordの場合

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

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