代码之家  ›  专栏  ›  技术社区  ›  webworm

Access:在复杂SQL中嵌入WHERE子句时如何向报表传递参数

  •  0
  • webworm  · 技术社区  · 14 年前

    我知道如何传递参数的问题在很久以前就有人问过这个问题 Previous Stack Overflow question

    然而,我的情况涉及的SQL有点复杂,不能在打开报表时使用可用的“where子句”过滤器。我的SQL语句是一个聚合,它为每个聚合生成一行和一个字段。我有两个参数“@StartDate”和“@EndDate”,需要将它们传递到查询中。

    SELECT q1.CasesAssigned, q2.WarningsIssued  
    FROM 
    (SELECT COUNT(*) AS CasesAssigned 
    FROM vwCaseDetail 
    WHERE DateAssigned Between @StartDate AND @EndDate) as q1,  
    (SELECT COUNT(*) AS WarningsIssued 
    FROM vwWarningDetail 
    WHERE DateIssued Between @StartDate AND @EndDate) as q2
    

    我想做的是“弹出”一个对话框或小窗体,让用户输入开始和结束日期,但我不知道如何将值传递到报表所基于的查询中。有什么建议吗?谢谢您。

    1 回复  |  直到 7 年前
        1
  •  2
  •   Kevin Ross    14 年前

    你需要做的就是从表单中调用报表。在本表格中,您有两个文本框,分别表示开始日期和结束日期。

    然后必须将查询更改为

    WHERE DateAssigned Between [Forms]![frmReporting]![txtDate_from] AND [Forms]![frmReporting]![txtDate_to]