我有一组数据,其中包括一个名为ReleaseDate的字段,类型为Date/Time,在添加记录时使用NOW((写入。
我可以打开表格并筛选今天的日期,得到152条记录的结果。
我可以运行以下查询,在提示中输入今天的日期,还可以得到152条记录的结果。
SELECT ProductData.ReleaseDate, ProductData.Shift, ProductData.ExtrusionLine, ProductData.RollDensity
FROM ProductData
WHERE (((ProductData.ReleaseDate) Between [Please Enter Start Date mm/dd/yyyy] & " " & #12/30/1899# And [Please Enter End Date mm/dd/yyyy] & " " & #12/30/1899 23:59:59#));
如果我运行以下查询,则不会检索到任何记录。我不明白为什么。
SELECT ProductData.ReleaseDate, ProductData.Shift, ProductData.ExtrusionLine, ProductData.RollDensity
FROM ProductData
WHERE (((ProductData.ReleaseDate)=Date()));
根据我所读到的Date((作为一个标准,应该返回任何具有今天日期的记录。提示输入日期不是一种选择。
除了Gutav的答案外,更好地使用:
WHERE ProductData.ReleaseDate >= Date() AND ProductData.ReleaseDate < DateAdd("d", 1, Date())
因为这可以使用CCD_ 1上的索引(更快(。请参阅我在"无法在查询中使用今天的日期作为条件"上的回答
这是因为ReleaseDate包含一个时间部分(from Now(((。你可以剥离:
WHERE Fix(ProductData.ReleaseDate) = Date();