我想在表单上显示两个表中的字段 . 这两个表是“客户”和“车辆” . (1:M) . 客户字段将显示在主窗体中,并显示我在“数据表”视图中放置子窗体的“车辆”字段,并为vehicleID添加了一个文本框 . 当我输入CustomerID并单击另一个表单上的命令按钮时,将使用子表单(sfrmVehicle)打开此主表单(frmCustomerDetails) . 客户字段正确显示在主窗体中 . 没有错误消息,但我无法在子窗体中看到Vehicle字段 . 它只显示#Name?六次 . 车辆表中有六条记录,所以我认为它甚至没有为该客户过滤车辆 . (车辆表中只有两个记录属于该客户 . )我的Ms Access 2013 VBA代码是;
Dim strSQL1 As String
Dim rs1 As DAO.Recordset
strSQL1 = "SELECT Customer.CustomerID, " & _
" Customer.fName, " & _
" Customer.lName, " & _
" Customer.Telephone, " & _
" Customer.MobilePhone, " & _
" Customer.EMail, " & _
" Customer.Address1, " & _
" Customer.Address2, " & _
" Customer.City, " & _
" Customer.State, " & _
" Customer.PostalCode, " & _
" Vehicle.VehicleID " & _
"FROM Customer INNER JOIN Vehicle ON Customer.CustomerID = Vehicle.CustomerID;"
Set rs1 = CurrentDb.OpenRecordset(Name:=strSQL1, Type:=dbOpenDynaset)
rs1.FindFirst "[CustomerID] =""" & txtIDs & """"
DoCmd.OpenForm "frmCustomerDetails"
[Forms]![frmCustomerDetails]![txtCustomerName] = rs1.Fields!fName
..
..
[Forms]![frmCustomerDetails]![sfrmVehicle]![txtVehicleId].ControlSource = rs1.Fields!VehicleID
rs1.Close
Set rs1 = Nothing
主窗体和子窗体是否必须有两个不同的SQL语句?然后怎么做过滤 . 需要帮忙 . 请 .