VBA无法识别空值

问题描述

在MSAccess中工作。我正在尝试根据文本框的值切换按钮的可见性。 该表单是根据查询创建的。我确保tbl_Manufacturer.Website中的值为Null。但是代码将继续验证为false,并放入下一组代码。我想念什么?

@H_502_3@Private Sub Form_Load()

    If ([Forms]![frm_Asset]![tbl_Manufacturer.WebSite]) = Null Then
            
        btn_Hyperlink.Visible = False
    
    Else
        
        btn_Hyperlink.Caption = [Forms]![frm_Asset]![tbl_Manufacturer.WebSite]
        btn_Hyperlink.Visible = True
    
    End If

End Sub

-杰夫

解决方法

没有东西等于Null,因为Null是缺失值。 Something = Null总是会返回Null,其结果为false。

如果要测试字段是否为空,请使用IsNull函数:

If IsNull([Forms]![frm_Asset]![tbl_Manufacturer.WebSite]) Then
,

尝试改用IsNull:

如果(IsNull([Forms]![frm_Asset]![tbl_Manufactuer.Website]) ......

Testing if a string is null

,

除了其他答案提供的IsNull选项之外,您还可以将其与一个空字符串进行比较,因为这是一个文本框:

If ([Forms]![frm_Asset]![tbl_Manufacturer.WebSite]) Is Not "" Then