目前,我的数据库中有一个表,用于跟踪服务的开始日期和结束日期。我需要比较用户输入的日期,看看它是否在开始日期和结束日期之间。我现在的问题是,在表中,访问开始日期为 DD/MM/YYYY
,用户在“我的窗体”中输入日期的文本框的格式为 DD/MM/YYYY
. 但是,一旦我点击vba并运行sql查询,它就会将日期读取为 MM/DD/YYYY
.
我的问题是:
SELECT * FROM table WHERE #09/01/2018# BETWEEN startDate AND endDate
我的测试条目是:
表格:
startDate endDate service
08/01/2018 02/02/2018 ABC
但是,当它读作 MM/DD/YYYY
它没有。如果我进去 #13/01/2018#
当它检测到 13
是日期,不能是月。我怎样才能纠正这一点呢 09/01/2018
同时返回条目?
2条答案
按热度按时间j2datikz1#
如果这是vba查询,那么您的观察结果是正确的。在查询设计器中,这些将按预期工作。
在这里回顾艾伦·布朗的精彩解释;http://allenbrowne.com/ser-36.html 以及解决方案。
pgpifvop2#
您的查询应使用“反向”us序列或iso序列:
或者,如果您从代码构建它:
或者,如果你一直在寻找今天: