当前位置:  开发笔记 > 编程语言 > 正文

如何在VBA DAO记录集中检查null?

如何解决《如何在VBADAO记录集中检查null?》经验,为你挑选了2个好方法。

我在数据库中有一个可选字段,我使用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"),但它以Null值抛出.我更愿意做更直接的事情,但这是我能想到的最好的事情.



1> Hamish Smith..:

怎么样:

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

您还可以查看本文,其中介绍了Access VBA应用程序中的Null值以及如何处理它们.



2> Fionnuala..:

对于你展示的例子,Nz会工作:

    thisMiddleInitial = Nz(rs!MiddleInitial,"")

或者简单地将字符串与空字符串连接:

    thisMiddleInitial = rs!MiddleInitial & ""

推荐阅读
牛尾巴2010
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有