我正在使用Access 2007。
我需要返回日期/时间字段落在查询参数中指定的日期范围内的行。
以下内容不会出错,但似乎无效。
SELECT FIELDS FROM FOO
WHERE (FOO.CREATED_DTG BETWEEN [START_DTG] And [END_DTG]);
同样,这对我不起作用
SELECT FIELDS FROM FOO
WHERE (FOO.CREATED_DTG >= [START_DTG] And FOO.CREATED_DTG < [END_DTG]);
我怎样才能让它发挥作用?
更新:使用CDate似乎没有什么区别。
答案 0 :(得分:2)
BLAH是田地或桌子的名字吗?当你选择BLAH我想象它命名一个字段,但是BLAH.CREATED_DTG
没有意义 - 你的意思是FOO.CREATED_DTG
吗?
答案 1 :(得分:1)
您的约会是否以#?
开头和结尾答案 2 :(得分:1)
你也有&lt; =和&gt; = ...你可能只想在其中一个操作符上使用=。
答案 3 :(得分:1)
您确定CREATED_DTG字段是日期格式吗?
你试过吗
WHERE (FOO.CREATED_DTG BETWEEN #01/01/1971# And #07/07/2009#);
(或任何适合日期的方式 - 重点是,不是参数查询)
答案 4 :(得分:1)
表格FOO中是[START____DTG]和[END____DTG]字段,还是参数?如果它们是参数,那么您需要声明它们的类型以获得输入值的验证。如果是这样,您应该在SELECT语句的第一行之前添加它:
PARAMETERS [START_DTG] DateTime, [END_DTG] DateTime;