【问题标题】:How to make subform display data according to combobox selection?如何根据组合框选择使子表单显示数据?
【发布时间】:2012-12-05 07:25:44
【问题描述】:

我正在尝试将多个表绑定在一起,并在名为 Form2 的表单中根据我的组合框 (ID 名称 = 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;

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

【问题讨论】:

    标签: sql ms-access combobox


    【解决方案1】:

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

    Forms!FormName!ControlName
    

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

    WHERE Application.SoftwareID = Forms!Form2!CbProductName;
    

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

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

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

    【讨论】:

    • 哇,非常感谢。它完全解决了我的问题。这真的减轻了我的工作量。 :D (Y)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多