gpt4 book ai didi

ms-access - MS Access 通过依赖于表单值

转载 作者:行者123 更新时间:2023-12-03 08:14:04 25 4
gpt4 key购买 nike

如何将传递查询分配给依赖于表单中另一个值的行源?

基本上我想这样做:

SELECT x.companyid, 
x.companyname,
x.productid
FROM x
WHERE (((x.CompanyID) = [Forms]![Reporting]![CompanyID_Control]))
ORDER BY x.productid;

当然,传递查询不支持对任何表单控件的引用。

我已阅读 here有一个通过 VBA 的方法,但是我不知道如何将 VBA 与控件的行源结合使用。

最佳答案

正如 Remou 在他的回答中所说,链接表将使这更容易。但是,如果您有一个名为 MyQuery 的传递查询,则可以执行以下操作,使 MyComboOrListBox 控件的 RowSource 在 的值时动态更新CompanyID_Control 更改:

Private Sub CompanyID_Control_AfterUpdate()
Dim SQL As String, qdf AS DAO.QueryDef
Set qdf = CurrentDB.QueryDefs("MyQuery")
qdf.SQL = " SELECT x.companyid, x.companyname, x.productid " & _
" FROM x " & _
" WHERE x.CompanyID =" & Me.CompanyID_Control & _
" ORDER BY x.productid;"
Me.MyComboOrListBox.RowSource = "MyQuery"
End Sub

您还需要将 CompanyID_ControlAfterUpdate 属性设置为:
[事件过程]

请注意,即使您按照 Remou 的建议使用链接表,您仍然需要 CompanyID_ControlAfterUpdate 事件中的代码来刷新您的组合框/列表框 RowSource:

Private Sub CompanyID_Control_AfterUpdate()
Me.MyComboOrListBox.Requery
End Sub

关于ms-access - MS Access 通过依赖于表单值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4937933/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com