DAO レコードセット内の既存のレコードを変更する
Edit メソッドと Update メソッドを使用して、テーブルタイプまたはダイナセットタイプの Recordset オブジェクトの既存のレコードを変更できます。
テーブル タイプまたはダイナセット タイプの Recordset オブジェクト内の既存レコードを変更するには
変更するレコードに移動します。
Edit メソッドを使用して、編集のためにカレント レコードを準備します。
レコードに対して必要な変更を行います。
Update メソッドを使用して、カレント レコードへの変更を保存します。
次のコード例は、Employees というテーブル内のすべての営業担当者の役職を変更する方法を示しています。
Dim dbsNorthwind As DAO.Database
Dim rstEmployees As DAO.Recordset
Set dbsNorthwind = CurrentDb
Set rstEmployees = dbsNorthwind.OpenRecordset("Employees")
rstEmployees.MoveFirst
Do Until rstEmployees.EOF
If rstEmployees!Title = "Sales Representative" Then
rstEmployees.Edit
rstEmployees!Title = "Account Executive"
rstEmployees.Update
End If
rstEmployees.MoveNext
Loop
注:
現在のレコードの値を変更する前に Edit メソッドを使用しないと、実行時エラーが発生します。 カレント レコードを編集した後で、Update メソッドを実行せずに別のレコードに移動したり Recordset オブジェクトを閉じたりすると、変更内容は失われ、警告も表示されません。 たとえば、この例から Update メソッドを削除すると、[Employees] テーブルに対する変更は発生しないという結果になります。
CancelUpdate メソッドを使用して、変更を保存せずに Edit メソッドと保留中のトランザクションを終了することもできます。 Edit メソッドはカレント レコードから別のレコードに移動するだけで終了させることができますが、この方法は、カレント レコードが Recordset の先頭または最終のレコードである場合や、新しく作成されたレコードである場合には使用できないことがあります。 通常、 CancelUpdate メソッドを使用する方が簡単です。
サポートとフィードバック
Office VBA またはこの説明書に関するご質問やフィードバックがありますか? サポートの受け方およびフィードバックをお寄せいただく方法のガイダンスについては、Office VBA のサポートおよびフィードバックを参照してください。
フィードバック
https://aka.ms/ContentUserFeedback」を参照してください。
以下は間もなく提供いたします。2024 年を通じて、コンテンツのフィードバック メカニズムとして GitHub の issue を段階的に廃止し、新しいフィードバック システムに置き換えます。 詳細については、「フィードバックの送信と表示