VBAとSQLを使用してAccessでクエリを実行する方法についてネットを検索していて、これを思いつきました。一般的な考え方は、コンボ ボックスから選択された値が、たとえば選択された ID に基づいてクエリを実行する必要があるということです。ユーザーは、companys テーブルで ID が 5 の会社を選択します。これにより、下のテキスト ボックスに関連データが入力されます。従業員の会社 ID = 5 の場合、この場合は asda で働いている場合、主キーとして CompanyID を使用して会社のテーブルと関係を持つ従業員データを含む別のテーブルもあります。何らかの理由で、このクエリを実行すると、関数の評価でエラーが発生した可能性があるというエラーが表示されます
Public Function DataLookup()
Dim CompDetailSQL As String
Dim rst As DAO.Recordset
Dim CompID As String
CompID = Me.lstBoxCompanyName.Value
CompDetailSQL = "SELECT Companies.CompanyID, Companies.CompanyName, Companies.AddressNo, Companies.AddressLine1, Companies.AddressLine2, Companies.AddressLine3, Companies.AddressPostcode, Companies.AddressCounty, Link_Table.FirstName, Link_Table.LastName FROM Companies INNER JOIN Link_Table ON Companies.CompanyID = Link_Table.CompanyID WHERE " = CompID
Set rst = CurrentDb.OpenRecordset(CompDetailSQL, dbOpenSnapshot)
Me.lblAddressLine1.Value = rst!Companies.AddressLine1
Me.lblAddressLine2.Value = rst!Companies.AddressLine2
Me.lblAddressLine3.Value = rst!Companies.AddressLine3
Me.lblAddressPostcode.Value = rst!Companies.AddressPostcode
Me.lblAddressCounty.Value = rst!Companies.AddressCounty
rst.Close
Set rst = Nothing
End Function