MS ACCESS 查询日期范围从链接的 Excel 返回错误的结束日期

问题描述

我正在使用 MS ACCESS 查询来查找来自链接 Excel 的两个日期和来自 Access 表单文本框的输入日期之间的数据。返回“开始日期”没有问题,但“结束日期”错过了一天。我尝试使用不同的日期格式但失败并搜索了很长时间但不知道。有什么建议吗?非常感谢

The data:

The input text boxes

The result is not contain 12/28/2020

代码

WHERE TransactionDetail.transactionDate >= Forms![Reports]![Text0] AND TransactionDetail.transactionDate <= Forms![Reports]![Text1]

解决方法

这可能是因为数据同时包含日期和时间部分,因此合并的日期时间大于单独的日期部分。尝试使用 DateValue()

WHERE DateValue(TransactionDetail.transactionDate) >= Forms![Reports]![Text0] AND DateValue(TransactionDetail.transactionDate) <= Forms![Reports]![Text1]
,

如果您希望/需要利用 transactionDate 上的索引,您可以使用:

WHERE TransactionDetail.transactionDate >= Forms![Reports]![Text0] AND TransactionDetail.transactionDate < DateAdd("d",1,Forms![Reports]![Text1])