Recordset2.Update メソッド (DAO)
適用先: Access 2013、Office 2013
構文
式 。Update(UpdateType, Force)
式Recordset2 オブジェクトを表す変数。
パラメーター
名前 |
必須かどうか |
データ型 |
説明 |
---|---|---|---|
UpdateType |
省略可能 |
Long |
[設定] で指定されている更新の種類を示す UpdateTypeEnum クラスの定数です (ODBCDirect ワークスペースのみ)。 |
物理的な力 |
省略可能 |
ブール型 (Boolean) |
AddNew 、 Delete 、または Edit の呼び出し後に、基になるデータが他のユーザーによって変更されたかどうかにかかわらず、変更を強制的にデータベースに反映するかどうかを示すブール型 ( Boolean ) の値です。 True に設定すると、変更が強制的に反映され、他のユーザーによる変更は単純に上書きされます。 False (既定値) に設定すると、更新が保留されている間に他のユーザーが変更を加えた場合、競合する変更の更新が失敗します。 エラーは発生しませんが、 BatchCollisionCount プロパティと BatchCollisions プロパティは、競合の数と競合の影響を受ける行をそれぞれ示します (ODBCDirect ワークスペースのみ)。 |
注釈
Update は、カレント レコードと、それに加えた変更を保存するときに使用します。
重要
[!重要] 次の場合は、カレント レコードに対する変更が失われます。
- Edit メソッドまたは AddNew メソッドを使用した後、先に Update を使用せずに他のレコードに移動した場合。
- Edit または AddNew を使用した後、先に Update を使用せずに、再度 Edit または AddNew を使用した場合。
- Bookmark プロパティを他のレコードに設定した場合。
- 先に Update を使用せずに Recordset を閉じた場合。
- CancelUpdate を使用して Edit 操作を取り消した場合。
レコードを編集するには、 Edit メソッドを使用して、カレント レコードの内容をコピー バッファーにコピーします。 先に Edit を使用せずに、 Update を使用した場合や、フィールドの値を変更しようとした場合は、エラーが発生します。
ODBCDirect ワークスペースでは、カーソル ライブラリが一括更新をサポートしており、 Recordset を開くときにオプションとして一括更新時の共有的ロックが指定されている場合に、一括更新を実行できます。
Microsoft Access ワークスペースでは、マルチユーザー環境で Recordset オブジェクトの LockEdits プロパティが True に設定されている場合 (排他的ロック)、 Edit が使用された時点から、 Update メソッドが実行されるか、編集が取り消されるまで、レコードがロックされます。 LockEdits プロパティが False に設定されている場合 (共有的ロック)、レコードはロックされ、データベースに反映される直前に、編集前のレコードと比較されます。 Edit メソッドを使用した時点からレコードが変更されている場合は、 Update 操作が失敗します。 Microsoft Office Access データベース エンジンに接続されている ODBC データベース、およびインストール可能な ISAM データベースでは、常に共有的ロックが使用されます。 変更による Update 操作を引き続き実行するには、 Update メソッドを再度使用します。 他のユーザーがレコードを変更した後にレコードを戻すには、Move 0 を使用して現在のレコードを更新します。
注:
[!メモ] レコードを追加、編集、削除するには、基になるデータ ソースのレコードに一意のインデックスが存在している必要があります。 そうでない場合は、Microsoft Access ワークスペースの AddNew、 Delete、または Edit メソッド呼び出しで "アクセス許可が拒否されました" エラーが発生するか、ODBCDirect ワークスペースの Update 呼び出しで "無効な引数" エラーが発生します。