使用表单在日期范围上运行查询

mneque 发布于 2019-03-09 最后更新 2019-03-09 14:40 3 浏览

我有一个MS-Access数据库从6个工作表的Excel文件中提取信息,所以我得到6个表。我创建了7个查询,所有这些查询都是从excel数据中创建表格的,其中6个查询了一个项目的数量,例如:

SELECT DISTINCT DISPLAYNAME, COUNT(DISPLAYNAME)
FROM [TXFR REC]
GROUP BY DISPLAYNAME
第7个查询通过使用左连接将这6个表拉到一个报表中,其中一个表与其他连接是DISPLAYNAME。 我创建了一个带4个按钮和两个日期框的Form,一个开始日期和一个结束日期。我想要做的是以下几点:
  1. 选择开始日期
  2. 选择结束日期
  3. 通过调用从步骤1和2的日期范围内运行的顺序7个查询我指定按按钮**这是我坚持:我不知道如何强制在查询该日期范围** < / LI>
  4. 运行报告
  5. 导出报告
  6. 关闭表单
日期框设置为常规日期,并且它们使用的方法是GetDates,因此您只需在框中单击并弹出日历,然后选择日期。 我确实在这里看到这篇文章,但我没有很好地理解: Date Range Form 以下是来自用户建议的测试查询中的文本以及应答人员建议的格式:
SELECT [NO ADMITTING DX (HEALTH ISSUE)].PHYSICIANDISPLAYNAME, Count([NO ADMITTING DX (HEALTH ISSUE)].PHYSICIANDISPLAYNAME) AS CountOfPHYSICIANDISPLAYNAME INTO NO_ADMIT_DX_COUNT
FROM [NO ADMITTING DX (HEALTH ISSUE)]
WHERE ((([NO ADMITTING DX (HEALTH ISSUE)].PHYSICIANDISPLAYNAME) Is Not Null) And (([NO ADMITTING DX (HEALTH ISSUE)].AdmitDtm) Between Forms!PRINT_REPORT![START DATE] And FORMS!PRINT_REPORT![END DATE]))
GROUP BY [NO ADMITTING DX (HEALTH ISSUE)].PHYSICIANDISPLAYNAME;
**此查询现在正常工作** 感谢您的帮助。
已邀请:

jautem

赞同来自:

对于您的查询,请使用类似的内容。

   SELECT  DISPLAYNAME, COUNT(DISPLAYNAME)
 FROM [TXFR REC] 
  WHERE [TXFR REC].yourDate BETWEEN [Forms]![yourFormName]![yourStartDate] 
      AND [Forms]![yourFormName]![yourEndDateField]
GROUP BY DISPLAYNAME
您希望依赖日期范围的所有查询都应具有这些参数。这样做的好处是,您可以在表单上为datePicker提供两个日期字段。如果您执行以下操作,它仍然可以正常工作:
    SELECT  DISPLAYNAME, COUNT(DISPLAYNAME)
 FROM [TXFR REC] 
  WHERE [TXFR REC].yourDate BETWEEN [Please Enter a Start Date]
      AND [Please Enter an Ending Date]
GROUP BY DISPLAYNAME
但这完全是偏好。只需在那里按一个按钮,然后转到向导中的Misc,如果需要,选择run query

aut_ea

赞同来自:

编辑您的查询以依赖where子句中的表单值: [Forms]![form的名称为]![form的control] 这是一个Screenshot example 但是,这将使您的查询仅适用于表单。您可以考虑复制查询,重命名和编辑副本以反映其限制。