Access 2007 中的报告和过滤日期?

Posted

技术标签:

【中文标题】Access 2007 中的报告和过滤日期?【英文标题】:Reporting and filtering dates in access 2007? 【发布时间】:2016-01-06 17:28:04 【问题描述】:

我让一位客户在 FROM 和 TO 日期之间查找报告。基本上对于客户可以请求报告的任何月份,我需要做的是显示截至上个月最后一天库存中的单位数量。因此,如果客户希望为 2015 年 12 月 23 日至 2016 年 12 月 28 日制作报告,那么我需要在 2015 年 11 月 30 日显示库存(期初库存)中的单位数量。我有人建议我使用 DateSerial,但它似乎没有做我想做的事。基本上,FROM 和 TO 日期是我从 Visual Basic 应用程序传递到空表单并在报告中使用的值。

我不确定是否需要对查询进行更改。这是报告的作用..

通过报告,我需要能够向客户展示以下内容... 物品编号

Beginning Inventory (as of last day of previous month)
Unit Price
Bought Units (for report date)
Sold Units (for report date)
Returned Units (for report date)
Subtotal (of bought +sold+returned)
Inventory on hand (beg + subtotal)

所以我所做的是在我的第一个查询中获得单价和期初库存(目前不按上个月的最后一天过滤)。

然后我还有 3 个查询,一个针对已购买、已售和已退货的查询,其中我链接了 ItemID 并过滤了 TransactionDate(在日期 form!formdates!txtFrom 和 form!formdates!txtTo 之间)。

然后我有最后一个查询,我将第一个与其他 3 个结合起来。现在我很确定我应该在第一个查询中包含 DATESERIAL() 函数?并过滤 TransactionDate(这是我需要查看的列以计算开始 inv,以及查找已购买、已售、已退货的项目)。

请帮忙!

【问题讨论】:

【参考方案1】:

DateSerial() 函数应该返回上个月的最后一天。这是针对您的问题的示例查询:

选择 ID,我的日期 从表 1 WHERE (((myDate)=DateSerial(Year([enter start date:]),Month([enter start date:]),0))) OR (((myDate) 在 [enter start date:] 和 [enter end日期:]));

文档:https://msdn.microsoft.com/en-us/library/bbx05d0c(v=vs.90).aspx

【讨论】:

以上是关于Access 2007 中的报告和过滤日期?的主要内容,如果未能解决你的问题,请参考以下文章

Access 2007 中的报告和图形 - 计算查询值

Access 2007 中未找到模块错误

Powershell 与 Access 2007 的交互,如何将报告另存为 PDF?

根据多个条件将标题插入到 Access 报告中

如何在 MS Access 中保留导航弹出表单中的数据

如何使用 MS Access 基于变量发送带有附加报告的自定义电子邮件? 2003 年或 2007 年