访问当前月份的2010查询

时间:2013-01-29 16:35:18

标签: ms-access ms-access-2010

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

我想构建一个查询,它将返回当前月份指定潜在客户的所有QA。我有指定潜在客户的标准,并且已经有了工作,但每次我尝试设置当前月份的标准时,最终都没有返回结果。

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

如何撰写此查询?

4 个答案:

答案 0 :(得分:0)

答案受到@ 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天的月份。

答案 1 :(得分:0)

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

enter image description here

答案 2 :(得分:-1)

我编辑了我的答案!

假设workdate是您的日期字段。

较短的where clause可以是

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

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

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

and workdate <= Date()

如果您未在表格中存储未来日期的记录,则可能不需要这样做。

祝你好运。

答案 3 :(得分:-2)

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

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

并且

DateSerial(Year(Date()),Month(Date()),31)