【问题标题】:VBA not recognizing Null valueVBA 无法识别 Null 值
【发布时间】:2020-08-12 18:34:51
【问题描述】:

在 MSAccess 中工作。我正在尝试根据文本框的值切换按钮的可见性。 该表单是根据查询创建的。我已确定 tbl_Manufacturer.Website 中的值为 Null。但是代码一直验证为假并进入下一组代码。我错过了什么?

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

-杰夫

【问题讨论】:

    标签: vba ms-access null


    【解决方案1】:

    没有什么是等于 Null 的,因为 Null 是一个缺失值。 Something = Null 总是会返回 Null,其计算结果为 false。

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

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

    【讨论】:

    • ISNULL!谢谢 Erik,完全忘记了!
    【解决方案2】:

    尝试改用 IsNull:

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

    Testing if a string is null

    【讨论】:

      【解决方案3】:

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

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2021-03-27
        • 2021-07-14
        • 2021-03-08
        • 2021-12-12
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多