この権利を求めることができれば幸いです。フォーム (access 2007) にリストボックスがあり、複数選択できるように「シンプル」に設定しています。リストボックスでの選択に基づいて、テーブル内の複数の列を更新しようとしています。テーブルを更新するための情報として使用したいテキストボックスがいくつかあります。選択したアイテムの数に関係なく、テーブルの最初のレコードのみを更新するループがあります。ループの最初のレコードのみを更新する理由は理解していると思いますが、よくわかりません
Dim db As DAO.Database
Dim rs As DAO.Recordset
Set db = CurrentDb()
Set rs = db.OpenRecordset("Table1", dbOpenDynaset)
Dim i As Variant
For Each i In Listbox.ItemsSelected
With rs
.Edit
!Col1 = Me.Textbox1
!Col2 = Me.Textbox2
!Col3 = Me.Textbox3
.Update
End With
Next
これは、テーブルを更新するループで「where」を指定していないためだと思いますが、このループでこれを行う方法がわかりません。テーブル内のどのレコードを更新する必要があるかを指定するために、リストボックスに 3 つの列 (位置 1、3、および 4) を含める必要があります。DoCmd.RunSqlでSQLクエリを使用してこれも試しましたが、クエリの途中でListIndexのフォーカスを変更することは不可能のようです。知識が不足していることをお詫びします。私はビジュアル ベーシックの初心者です。助けてください