如何检查VBA DAO记录集中的NULL?VBA、DAO、NULL

2023-09-04 02:15:49 作者:一曲墨白

我在使用DAO记录集提取的数据库中有一个可选字段。在将该字段与其他字段连接之前,我需要检查该字段是否已设置。到目前为止,我已经用Is=(这是明显错误的语法[[Is | =]])尝试了以下代码片段,但都没有用。似乎如果我使用=,它将不能正确地与Null进行比较,如果我使用Is,则它会报告它不是与对象进行比较。

While Not rs.EOF
    If rs.Fields("MiddleInitial") [[Is | =]] Null Then thisMiddleInitial = "" Else thisMiddleInitial = rs.Fields("MiddleInitial")
    If prettyName(myLastName, myFirstName, myMiddleInitial) = prettyName(rs.Fields("LastName"), rs.Fields("FirstName"), thisMiddleInitial) Then
        MsgBox "Yay!"
    End If
    rs.MoveNext
Wend

如果有更简单的方法可以做到这一点,我完全愿意。PrettyName接受3个字符串作为参数,最初我只是试图直接传递rs.Fields("MiddleName"),但它在空值时吐了出来。我更愿意做一些更直接的事情,但这是我能想到的最好的办法了。

推荐答案

模糊查询daoimpl代码 无需VBA代码,巧用录制宏,30秒制作一个Excel高级查询小程序...

如何:

IsNull(rs.Fields("MiddleInitial").Value)

您还可以查看this article,其中提供了有关Access VBA应用程序中的空值以及如何处理它们的一些说明。