在 Access 查询中处理空日期值

Posted

技术标签:

【中文标题】在 Access 查询中处理空日期值【英文标题】:Handling null date values in Access queries 【发布时间】:2015-03-25 00:59:40 【问题描述】:

我有一个包含空值作为日期的表,总共 10 个。在基于此表的查询中,我想将记录中的日期与参考日期进行比较,我使用 Access VBA 做得很好。记录中包含表上日期的任何字段都可以为 NULL。当 NULL 值位于记录的开头或记录中的最后一个字段时,我的 VBA 代码运行良好。

我遇到的查询错误是 NULL 日期字段出现在记录中间。例如两个非空日期,后跟一个空日期,然后是一个最终的非空日期字段。

我正在比较日期,因此我认为我不能使用 NZ() 函数来强制一个非空值。

还有其他方法可以用来正确处理这些 NULL 值吗?感谢社区的帮助!

【问题讨论】:

在 VBA 中,您可以使用 isNull 函数来检测 null 日期并做任何您想做的事情。 【参考方案1】:

可以使用 Nz,例如:

DiffDays = DateDiff("d", YourDateVariable, Nz([YourFieldValue], YourDateVariable))

在 YourFieldValue 应为 Null 的任何情况下都将返回 0。

【讨论】:

以上是关于在 Access 查询中处理空日期值的主要内容,如果未能解决你的问题,请参考以下文章

access 查询空值和null值的区别

SQL中空值查询''与null 的区别

MS Access:从日期时间值返回特定日期的查询

Access 2007:查询两个短日期值之间的 DateTime 字段

在 MS Access 2007 中未正确处理查询部分的日期类型的更新集

access中的日期比较