Date 访问日期筛选器

Date 访问日期筛选器,date,ms-access,Date,Ms Access,我有一张表格,上面列出了收到的订单 我正在运行一个报告,以查看在D日之前收到多少订单。 例如,我想看到: D Day-5 days: 8 orders received in total D Day-4 days: 12 orders received in total D Day-3 days: 20 orders received in total D Day-2 days: 33 orders received in total D Day-1 days: 55 orders re

我有一张表格,上面列出了收到的订单

我正在运行一个报告,以查看在D日之前收到多少订单。 例如,我想看到:

D Day-5 days: 8 orders received in total 
D Day-4 days: 12 orders received in total 
D Day-3 days: 20 orders received in total 
D Day-2 days: 33 orders received in total 
D Day-1 days: 55 orders received in total 
这是我正在使用的查询:

SELECT * FROM recipients 
WHERE  
orderDate > #01/01/2017# 
AND orderDate < #10/02/2017#   -- (Where 10/2/17 is already X days prior to D Day)
但查询正在运行,并向我提供截至2017年2月26日的所有订单

正确的答案应该是零2月10日之前没有收到订单,但相反-它显示了200多条记录,我可以看到orderDate字段在2月10日之后

感谢您的意见

我使用Format1函数登录,它似乎解决了这个问题:

SELECT * FROM recipients 
WHERE  
orderDate > Format (#01/01/2017#,'dd/mm/yyyy')
AND orderDate < Format (#10/02/2017#,'dd/mm/yyyy')
虽然我仍然不能完全理解我最初的问题是什么。我猜是日期格式问题:dd/mm或mm/dd


谢谢,Access SQL不希望日期值的字符串表达式采用dd/mm/yyyy格式,而是mm/dd/yyyy或yyyy/mm/dd格式,因为日期值本身不带任何格式。因此,2017年2月10日被解读为2017年10月2日,即10月2日

因此:

或者,您很少使用固定日期值的通用方法:

PARAMETERS DateFrom DateTime, DateTo DateTime;
SELECT * FROM recipients 
WHERE  
orderDate > DateFrom AND orderDate < DateTo
PARAMETERS DateFrom DateTime, DateTo DateTime;
SELECT * FROM recipients 
WHERE  
orderDate > DateFrom AND orderDate < DateTo