gpt4 book ai didi

ms-access - 文本框为空问题

转载 作者:行者123 更新时间:2023-12-03 01:55:26 24 4
gpt4 key购买 nike

我的 Access 表单上有一个文本框和一个按钮。在按钮的单击事件中,我想查看文本框是否为空,如果是,则不会执行任何操作。所以我使用

If Me.textbox.Value = Null Then
Exit Sub
End if

但是它不起作用...我检查了执行窗口中的textbox.value,它是Null,但是if子句不起作用...为什么?

编辑:@Dimse,我尝试了“”,但不起作用。而且 textbox.text = Null,它会弹出一个错误,告诉我文本框未激活。非常奇怪。

最佳答案

Null 永远不等于任何东西,甚至 Null 也不等于。使用 IsNull() 函数。

If IsNull(Me.textbox.Value) Then

如果您希望 Me.textbox 包含空字符串时的处理方式与 Null 时的处理方式相同,请将空字符串与其连接起来并检查组合字符串的长度:

If Len(Me.textbox.Value & "") = 0 Then

对于空字符串,您还可以使用命名常量 vbNullString,而不是字符串文字 ""

If Len(Me.textbox.Value & vbNullString) = 0 Then

使用字符串文字需要 VBA 每次从头开始构造该字符串。使用命名常量,VBA 只需要引用它,因此应该更快并且使用更少的内存。然而,在许多(可能是大多数)情况下,vbNullString 的性能优势非常小,以至于您不会注意到其中的差异。另请参阅comment below来自David-W-Fenton .

对我来说,使用 vbNullString 更令人信服的理由是我衰老的眼睛可以立即识别它。相反,对于字符串文字,我需要(一点点)更长的时间来确认 "" 实际上不是其他东西......比如 ""“'”。在我看来,vbNullString 的唯一缺点是它比 "" 需要更多的输入。

最后,虽然您实际上不需要显式引用 Value 属性(因为它是文本框的默认属性),但我将其保留在其中,因为您是这样做的,而且因为我也更喜欢明确地表达 Value。 :-)

关于ms-access - 文本框为空问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5662751/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com