如何根据组合框选择制作子表格显示数据?

时间:2012-12-05 07:25:45

标签: sql ms-access combobox

我正在尝试将多个表绑定在一起,并在名为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;

但是,当我运行表单时,它会一直提示我输入参数值,并且它不会显示输入值的结果。它也不会根据组合框选择而改变。 有人能指出我的方向来完成它吗?

1 个答案:

答案 0 :(得分:2)

在查询中,引用表单作为Forms集合的成员。然后使用控件名称引用该窗体上的控件的值。它应该看起来像这样的模式:

Forms!FormName!ControlName

在您的查询中,将Where子句更改为:

WHERE Application.SoftwareID = Forms!Form2!CbProductName;

然后确保在CbProductName的更新事件之后刷新该查询。您指出查询用作子表单的记录源,因此假设子表单控件与组合框在同一表单上,请尝试将其作为更新后的过程:

Private Sub CbProductName_AfterUpdate()
    Me!SubformControlName.Form.Requery
End Sub

请注意,子窗体控件名称可能与其包含的窗体名称不同。确保使用控件的名称