简单方案:表单和一个文本框(未绑定),Text1
。
If "" <> Text1 Then
MsgBox "Not Empty"
End If
以上代码有效。如果文本框包含字符,则表达式""<> Text1
的计算结果为True。
相反的方法不起作用,无论文本框是否为空:
If "" = Text1 Then ' or alternatively, False = ("" <> Text1)
MsgBox "Empty!"
End If
你能澄清一下这个问题吗?
答案 0 :(得分:5)
如果文本框不包含任何内容,则该文本框通常为null,这与零长度字符串(“”)不同。通常最好使用:
If Trim(Text1 & "") = vbNullString
'Empty
如果文本框包含空格,零长度字符串或null,则为true。
答案 1 :(得分:4)
或者,我有一个小函数,我觉得在处理各种变量类型时检查那种东西很有用,我只是想知道它是否是空白。
'-----------------------------------------------------------------------------'
' True if the argument is Nothing, Null, Empty, Missing or an empty string. '
'-----------------------------------------------------------------------------'
Public Function IsBlank(arg As Variant) As Boolean
Select Case VarType(arg)
Case vbEmpty
IsBlank = True
Case vbNull
IsBlank = True
Case vbString
IsBlank = (arg = vbNullString)
Case vbObject
IsBlank = (arg Is Nothing)
Case Else
IsBlank = IsMissing(arg)
End Select
End Function
今天也只是Made a blog post。
答案 2 :(得分:1)
我总是使用function Nz (variable, valueIfNull)来检查这些事情。例如:
if (Len(Nz(Me.txt1, "")) > 0) then
'Me.txt1 does not contain a value
end if
或者,如果我想将文本框的值保存到记录集:
rst!Name = Nz(Me.txtName, "No name given")