web-dev-qa-db-ja.com

MS AccessでVBAを介してテキストボックスに入力する方法

次のフィールドRR_ID、HR_ID、No_of_Beds、Room_Categoryを保持するテーブルRR_infoがあります。ここで、Form_loadイベントを含むVBAコードを使用して、これらすべてのテーブルフィールドのテキストボックスにデータを入力する必要があります。このため、hotel_idを基準として特定のレコードを取得するクエリを作成しましたが、コードが機能していません。

Private Sub Form_Load()
Dim SQL As String
Dim db As Database
Dim rs As DAO.Recordset

SQL = "select * from RR_info where hr_id = " & Forms![hhrrr]![List38] & ";"
Set db = CurrentDb
Set rs = db.OpenRecordset(SQL)

Me.RR_ID.Text = rs!RR_ID
Me.HR_ID.Text = rs!HR_ID
Me.Room_No.Text = rs![Room No]
Me.No_of_Beds.text = rs!No_of_Beds
Me.Room_Category.text = rs!Room_Category

Set rs = Nothing
Set db = Nothing

End Sub

enter image description here

これは、VBAを介して基準に従ってテーブルデータを追加するテーブルの画像です

7
Rizwan Safdar

.Textプロパティは、現在フォーカスがあるコントロールでのみ使用できます。他のコントロールで.Textを参照しようとすると、エラーが発生します。 .Valueプロパティは、コントロールにフォーカスがあるかどうかに関係なく使用できます。

安全のため、すべてを.Valueに変更してください。

Me.RR_ID.Value = rs!RR_ID
Me.HR_ID.Value = rs!HR_ID
Me.Room_No.Value = rs![Room No]
Me.No_of_Beds.Value = rs!No_of_Beds
Me.Room_Category.Value = rs!Room_Category
13
HansUp