【问题标题】:MS Access - Extracting Min/Max Year from a Union Query onto a ReportMS Access - 从联合查询中提取最小/最大年份到报告中
【发布时间】:2018-04-06 13:25:27
【问题描述】:

我有一个联合查询,它从具有相似字段的查询和表中提取对象及其日期,以便我可以将它们一起显示在报告中。联合查询 (qry_ObjectUnion) 有一个 WHERE 函数,提示用户输入开始和结束日期。

SELECT [Object], [DateObject]
FROM qry_ObjectQuery
WHERE (((Year([DateObject])) Between [Which year would you like this report to start?] And [Which year would you like this report to end?]))

UNION SELECT [Object], [DateObject]
FROM tbl_ObjectTable
WHERE (((Year([DateObject])) Between [Which year would you like this report to start?] And [Which year would you like this report to end?]));

在报告中,我想动态显示用户为报告选择的开始和结束年份。为此,我从联合查询中编写了第二个查询 (qry_ObjectUnionYears)。

SELECT Min(Year([DateObject])) AS MinYear, Max(Year([DateObject])) AS MaxYear
FROM qry_ObjectUnion;

第二个查询在直接访问(双击)查询时按预期返回开始和结束年份,但打开报表会产生不同的结果。在报告中,我有一个带有 MinYear 控制源的文本框:

=[qry_ObjectUnionYears]![MinYear]

在访问报告时,前两个消息框要求输入开始和结束年份,但第三个消息框要求输入 qry_ObjectUnionYears 的参数值,然后无论我输入什么都会返回 #Error。

谁能帮帮我?提前致谢!

【问题讨论】:

    标签: sql database ms-access ms-access-2010


    【解决方案1】:

    在网上浏览了一些之后我想通了。文本框可以像这样自引用输入到报告中的参数:

    =Report![ObjectReport]![Which year would you like this report to start?]
    

    没有必要像我最初尝试的那样编写第二个查询。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-02-09
      • 1970-01-01
      • 2016-05-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多