MS Access Report RecordSource 是一个带有参数的查询。如何传递参数值?

Posted

技术标签:

【中文标题】MS Access Report RecordSource 是一个带有参数的查询。如何传递参数值?【英文标题】:MS Access Report RecordSource is a query with a parameter. How do I pass a parameter value? 【发布时间】:2014-05-05 21:42:08 【问题描述】:

我有一个名为 testForm 的表单,其中包含一个名为 txtUnitID 的文本框和一个按钮 cmdOpenTestReport。 按钮的代码是:

Private Sub cmdOpenTestReport_Click()
    DoCmd.OpenReport reportname:="testReport", view:=acViewPreview
End Sub

testReport的记录来源是

SELECT * from tblTest WHERE UnitID = [txtUnitID]

我的报告中还有一个名为 txtUnitID 的文本框,我想要 testForm!txtUnitID 的值

如何将 testForm!txtUnitID 的值传递给 testReport 的 Record Source 查询以及 testReport!txtUnitID?

我试过这样设置 Me.txtUnitID 的值:

Private Sub Report_Open(Cancel As Integer)
    Me.txtUnitID = 1
End Sub

但我认为这不起作用,因为此时报告尚未打开。

【问题讨论】:

【参考方案1】:

要从任何位置(报告的记录源或 VBA 代码)引用表单上的文本框:

Forms!testForm!txtUnitID

【讨论】:

以上是关于MS Access Report RecordSource 是一个带有参数的查询。如何传递参数值?的主要内容,如果未能解决你的问题,请参考以下文章

ms-access 2007 年报告

抑制 MS Access Excel 警告/错误

使用 VBA 的 MS Access 打印报告

MS Access 如何将焦点集中在特定的多个报表实例上

MS Access - 在 1 个报告中使用多个查询

csharp 如何:将报告绑定到MS SQL Server #report #devexpress