Access 2016 报告缺少包含日期之间数据的字段

Posted

技术标签:

【中文标题】Access 2016 报告缺少包含日期之间数据的字段【英文标题】:Access 2016 report missing fields with data between dates 【发布时间】:2016-11-28 00:20:38 【问题描述】:

我想创建一个汇总过去 14 个工作日数据的报告。这意味着报告需要排除周六和周日(可能还有节假日)。

我仍在研究如何执行上述操作。我相信这将是一个 vba 解决方案。但是现在我遇到了另一个我不知道如何解决的问题。

我的表格包含产品、数量和输入日期的字段(存储为“mm/dd/yyyy hh:nn”)。

当我在表中查询过去 2 周的条目时,我在查询中使用以下表达式:

 Between DateAdd("d",1,Now()) And DateAdd("d",-14,Now())

如果日期在最近 2 周内,并且特定交易的时间是午夜,即 00:00,则查询返回产品和数量。如果时间不是午夜,则查询返回产品但数量字段为空。我使用 date() 还是 now() 都没有关系。如果我使用实际日期并不重要,例如:

 >=#11/24/2016#

所以,完整的查询是:

TRANSFORM Sum(tblWarehouseTransfer.Qty) AS SumOfQty
SELECT tblWarehouseTransfer.ProductID
FROM tblWarehouseTransfer
WHERE (((tblWarehouseTransfer.DateMoved) Between DateAdd("d",1,Now()) And    DateAdd("d",-14,Now())))
GROUP BY tblWarehouseTransfer.ProductID
ORDER BY tblWarehouseTransfer.ProductID
PIVOT (Date())-[datemoved]+1 In (1,2,3,4,5,6,7,8,9,10,11,12,13,14);

当表格字段属性包含“hh:nn”且时间不是00:00时,如何获取要显示的产品和数量?我需要查询是动态的,所以我需要使用 date() 或 now() 而不是特定日期。

【问题讨论】:

【参考方案1】:

我想出了一个解决我的问题的方法。通过在表中创建一个仅包含小时和分钟的新字段,即“短时间”,我将 DateMoved 字段拆分为 2。通过将数据作为 DateValue(day()) 输入到“DateMoved”字段中,即“短日期”,时间会被截断。现在产品和数量字段显示在报告中,查询保持动态。查询 SQL 没有改变,只是日期在 DateMoved 字段中的存储方式。

【讨论】:

以上是关于Access 2016 报告缺少包含日期之间数据的字段的主要内容,如果未能解决你的问题,请参考以下文章

sql获取两个日期之间的每周开始日期

Access 2016 定时发送自动电子邮件

MySQL中两个日期字段之间的平均时间?

ms-access:仅显示特定日期内记录的报告

从 Access 中的日期时间字段中选择时间范围

生成包含多个表/查询的 MS Access 报告