3

我已经建立了一个 Access 数据库来跟踪我们团队的质量保证监视器。我们的团队有几个负责监督团队代表的领导。

我想构建一个查询,它将返回当月指定潜在客户的所有 QA。我有指定潜在客户的标准并且已经让它发挥作用,但是每次我尝试为当月设置标准时,它最终都没有返回任何结果。

搜索谷歌一再建议使用Month(Now()),但这也不起作用。

我该如何编写这个查询?

4

4 回答 4

1

受@Justin-rentmeester 启发但经过改进以始终返回所需结果的答案:

将以下内容添加到WHERE查询的子句中:

MyDateField BETWEEN    
DateSerial(Year(Date()),Month(Date()),1) 
AND
DateAdd("s", -1, DateAdd("m", 1, DateSerial(Year(Date()),Month(Date()),1))), DateSerial(Year(Date()),Month(Date()),1)

我建议您使用 SQL 视图来添加此标准。

这种方法也适用于包含时间的日期,以及少于 31 天的月份。

于 2017-08-13T06:21:52.930 回答
0

将此代码放在标准字段上 - 在 Date()-Day(Now()-1) 和 Date() 之间

在此处输入图像描述

于 2020-01-07T07:24:54.647 回答
-1

我编辑我的答案!

假设workdate是您的日期字段。

更短的where clause可以

 where Year(workDate) = Year(Date()) and Month(workDate) = Month(Date())

这将过滤当月的所有记录。

如果您想进一步过滤截至今天的记录,请添加

and workdate <= Date()

如果您没有在表中存储未来的日期记录,则这可能不是必需的。

祝你好运。

于 2013-01-29T16:39:23.050 回答
-2

若要在 Access 的“设计”视图中执行此操作,请选择报告中所需的所有列以及要限制为当前月份的日期列,作为标准放置:介于

DateSerial(Year(Date()),Month(Date()),1) 

DateSerial(Year(Date()),Month(Date()),31)
于 2015-01-26T19:22:37.280 回答