文本框为空问题

| 我的“访问”表单上有一个文本框和一个按钮。在按钮的单击事件中,我想查看文本框是否为空,如果为空,则什么也不会执行。 所以我用
If Me.textbox.Value = Null Then
    Exit Sub
End if
但这不起作用...我在执行窗口中检查了textbox.value,它为Null,但是if子句不起作用...为什么? 编辑:@Dimse,我尝试使用“ \”,但不起作用。还有textbox.text = Null,它弹出一个错误,告诉我该文本框未激活。     
已邀请:
空永远不等于任何东西,甚至不等于空。使用
IsNull()
功能。
If IsNull(Me.textbox.Value) Then
如果要让“ 3”在包含空字符串时与“ Null”相同时将其连接为空字符串,并检查组合字符串的长度:
If Len(Me.textbox.Value & \"\") = 0 Then
对于空字符串,也可以使用命名常量
vbNullString
代替字符串文字
\"\"
If Len(Me.textbox.Value & vbNullString) = 0 Then
使用字符串文字需要VBA每次从头开始构造该字符串。使用命名常量,VBA只需要引用它,因此应该更快并且使用更少的内存。但是,在许多(可能是大多数)情况下,
vbNullString
的性能优势将非常小,以至于您不会注意到其中的区别。另请参阅以下来自David-W-Fenton的评论。 对我来说,使用ѭ5的更吸引人的理由是,我的老龄化眼睛可以立即识别出它。相反,使用字符串文字,我花了一点点时间来确认
\"\"
实际上不是其他东西,例如
\" \"
\"\'\"
。 IMO的唯一缺点是
vbNullString
,而不是
\"\"
。 最后,尽管您实际上不需要显式引用
Value
属性(因为它是文本框的默认属性),但我还是把它留在了那里,因为您有这种方式,并且因为我更喜欢用
Value
:-)     
我也为被唤醒而道歉,但我想知道没有人考虑过使用VBA中非常流行的
Nz
函数(在@MSDN上看到它),也可以在Access / SQL中使用,并且我认为这更方便表达式中可为空值的简洁,强大的解决方案。     
如果我要唤醒死者,我深表歉意,但是为了完整起见,我还将给出如何测试空格的代码(显然是“空白/空”):
If IsNull(Me.Textbox) Or Trim(Me.Textbox) = vbNullString Then
If Trim(Me.Textbox & vbNullString) = vbNullString Then \'Shorter version
If Len(Trim(Me.Textbox) & vbNullString) = 0 Then \'Shortest version
我来这里是为了寻找如何处理空格,空值/ ZLS和NULL \     
Null不等于另一个Null;) 尝试如果isNull(Me.textbox.Value)然后     
像这样扩展您的潜艇:
If is null(Me.textbox.Value) Or (Me.textbox.Value = \"\") Then
    Exit Sub
End if
    
我认为您可能需要再次检查\“ \”,空字符串,而不是Null。     
由于使用KeyUP事件,因此无法正常工作。因此,这对我有用。
If(Textbox.Text = \'\') 
  ...
由于Textbox.Value仅在更改事件时更新,因此在keyup时未更新,因此Textbox.Text是当前框中的内容。 摘要:或者,使用.Text属性     
只需使用第二个条件,它将起作用! 在这种情况下,只有一个简单的单词,例如\“ check \”。
If Forms![Basic]![Table.Item] & \"check\" = \"check\" Then

MsgBox \"Field Empty\"

Else

MsgBox \"Field Not Empty\"

End If
    

要回复问题请先登录注册