我正在尝试将多个表绑定在一起,并在名为Form2的表单中根据我的组合框(ID name = CbproductName)选择显示子表单。我正在使用Ms office Access。
这是查询
SELECT Employee.EmpName, Employee.EmpCode, Employee.CompanyID, Employee.DeptID,
Employee.ComputerID, Software.ProductName
FROM Software
INNER JOIN (
(
Computer INNER JOIN Employee ON Computer.CompID = Employee.ComputerID)
INNER JOIN Application ON Computer.ComputerName=Application.[A-ComputerID]
)
ON Software.ID = Application.SoftwareID
WHERE Application.SoftwareID = Form2.CbProductName;
但是,当我运行表单时,它会一直提示我输入参数值,并且它不会显示输入值的结果。它也不会根据组合框选择而改变。 有人能指出我的方向来完成它吗?
答案 0 :(得分:2)
在查询中,引用表单作为Forms
集合的成员。然后使用控件名称引用该窗体上的控件的值。它应该看起来像这样的模式:
Forms!FormName!ControlName
在您的查询中,将Where
子句更改为:
WHERE Application.SoftwareID = Forms!Form2!CbProductName;
然后确保在CbProductName
的更新事件之后刷新该查询。您指出查询用作子表单的记录源,因此假设子表单控件与组合框在同一表单上,请尝试将其作为更新后的过程:
Private Sub CbProductName_AfterUpdate()
Me!SubformControlName.Form.Requery
End Sub
请注意,子窗体控件名称可能与其包含的窗体名称不同。确保使用控件的名称。