日期条件在我的查询中不起作用

应用对象
Microsoft 365 专属 Access Access 2024 Access 2021 Access 2019 Access 2016

在 Access 查询中使用日期作为条件时,可能会发现没有得到预期的结果。

无法返回正确结果的日期条件

在上面显示的查询中,条件 >=#1/1/2005#<#1/1/2010# 将不起作用,因为它无效。 查询将运行,但结果可能会是错误的。 该条件需要在日期之间使用“And”运算符。 下面显示的条件(使用 “And” 运算符)将按预期工作:

此日期条件将正确运行

为了方便起见,可以使用带有日期的“介于”和“And”运算符来执行相同的测试,而不是使用“大于”、“小于”或“等于”符号,如下所示:

介于 #1/1/2005# 和 #1/1/2010 之间#

注意到日期周围的 # 字符 (井号) 了吗? 输入 Access 识别的日期时,它会自动包含在 # 字符中。

日期条件示例

这显示了一些有效条件和一些不起作用的条件:

条件 返回符合以下条件的记录:
>12/31/10 日期为 2011 年 1 月 1 日或之后。
<=6/1/2014 日期为 2014 年 6 月 1 日或之前。
8/25/13 唯一的日期是 13/8/25。
9/1 和 15/12/31 之间 日期为当年 9 月 1 日或之后且在 15 年 12 月 31 日或之前。
>3/31/13<7/1/13 所有日期。 该条件缺少“And”运算符,因此不会筛选掉任何结果。
10/3/1 到 05/1/1 之间 日期为 05/1/1 或之后且在 10/3/1 或之前。 在条件中输入的较晚日期在较早日期之前并不重要。

Access 可识别的日期格式示例

下面是可以在 “条件” 单元格中使用的许多日期格式中的一部分:

格式 示例
yyyy/m/d 10/5/2013
m/d 10/5
如果未指定年份,Access 将使用当前年份。
d-mmm-yyyy 2013 年 10 月 5 日
M-D-YYYY 3-7-1990

有关将日期用作查询条件的多种方法,请参阅 在 Access 查询中使用日期作为条件的示例 。