2

我有一个 MS-Access 数据库,它从带有 6 个工作表的 Excel 文件中提取信息,所以我得到了 6 个表。我创建了 7 个查询,所有这些查询都从 excel 数据中生成表格,这 7 个中的 6 个对一个项目进行计数,即:

SELECT DISTINCT DISPLAYNAME, COUNT(DISPLAYNAME)
FROM [TXFR REC]
GROUP BY DISPLAYNAME

第 7 个查询通过对其中一个表使用左连接将这 6 个表拉到一个报表表中,其中与所有其他表的连接是 DISPLAYNAME。

我创建了一个Form带有 4 个按钮和两个日期框,一个开始日期和一个结束日期。我想要做的是以下内容:

  1. 选择开始日期
  2. 选择结束日期
  3. 按我通过调用步骤 1 和 2 中的日期范围指定的顺序运行 7 个查询的按钮 ** 这是我卡住的地方:我不知道如何在查询中强制使用此日期范围 **
  4. 运行报告
  5. 导出报告
  6. 关闭表格

日期框设置为常规日期,用于它们的方法是 GetDates,因此您只需单击该框,日历就会弹出并选择您的日期。

我确实在这里看到了这篇文章,但没有很好地关注: 日期范围表格

以下是用户建议的测试查询中的文本,格式由回答者建议:

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;

** 此查询现在可以正常工作 **

谢谢大家的帮助。

4

2 回答 2

2

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

   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是否需要。

于 2013-04-11T18:42:56.820 回答
1

编辑查询以依赖 where 子句中表单的值:

[Forms]![表单名称]![表单控件]

这是一个屏幕截图示例

但是,这将使您的查询仅适用于表单。您可能会考虑复制您的查询并重命名和编辑副本以反映其局限性。

于 2013-04-11T16:51:31.363 回答