【问题标题】:How do I set parameters for an embedded query on an Access report from an Access form?如何从 Access 表单中为 Access 报表上的嵌入式查询设置参数?
【发布时间】:2019-01-16 23:10:09
【问题描述】:

我有一个现有的访问报告,它运行一个查询。在现有报告中,我用括号设置了参数; [CSRName]、[StartDate] 和 [EndDate]。我使用下面的 VBA 从表单中填写了这些参数;

所有这些都很好。我的问题是这个;我有这个查询计算 CSR 犯的错误总数。我可以轻松地在报告中显示错误总数。我想做的是在报告上有另一个文本框,显示 CSR 完成的项目总数。为了做到这一点,我需要使用另一个查询嵌入文本框的控制源。我写了那个查询,它在表单之外工作。我需要做的是将用于生成报告的相同参数传递到报告上的这个嵌入式查询中。我不知道该怎么做。我可以将参数传递给报表本身,它工作正常,但尝试这样做不会将参数传递给报表中的嵌入式查询。它不断弹出一个输入框并要求我给它变量。

我假设我可以像对待报表所基于的查询一样对待嵌入式查询,所以我也使用相同的过程尝试将参数传递给它,但它不起作用。

Private Sub RunQuery_Click()

    DoCmd.SetParameter "CSRName", Me.CSRNameCB
    DoCmd.SetParameter "StartDate", "#" & Me.StartDate & "#"
    DoCmd.SetParameter "EndDate", "#" & Me.EndDate & "#"

    DoCmd.OpenReport "rpt_CSRErrorTracking", acViewPreview

End Sub

我需要的是将表单中的参数传递给报表所基于的查询以及报表本身中嵌入的查询的方法。

【问题讨论】:

  • 我从不使用动态参数化查询。嵌入式查询应该能够引用表单控件作为参数。发布您的查询 SQL 语句。
  • 我尝试发布实际报告所依据的查询,但这是一个很大的查询,并且此评论框不允许我粘贴整个内容...我应该怎么做?
  • 您应该编辑您的问题。现在争论点,因为你似乎有一个解决方案。

标签: sql vba ms-access


【解决方案1】:

如何让报表和报表字段所基于的查询将“链接”存储到表单字段的类似内容(按表单概念查询)...

在相应字段的查询条件中:
= [表单]![MyForm]![CSRNameCB]

还有:
在 [Forms]![MyForm]![StartDate] 和 [Forms]![MyForm]![EndDate]

之间

然后在打开报告的表单上,您根本不需要设置任何参数。

【讨论】:

  • 这种方法效果很好。非常感谢您的帮助!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-05-13
相关资源
最近更新 更多