VB.中 TEXT不能为空 不空就计算其内容,为空提示

已知不能为空的提示
If Len(Text1.Text) = 0 Or Len(Text2.Text) = 0 Or Len(Text3.Text) = 0 Then
MsgBox "XXXXXX"
但是.我原本是希望不为空就计算text1的数值,但当我这样设置后.TEXT1的数值空了后提示.然后我再输入进数之后.程序不能正常运行计算了.
请问该怎么设置.

我的目的是: TEXT1不为空,将TEXT1计算后的数值在TEXT2里输出.
问题是当TEXT1为空时,计算无法进行.请问该如何编写.让TEXT1不能为空,然后计算.?

虽然我可能没理解你说得,如果你Text里用来输入的只能是数字,我可以建议你这样
If Not(IsNumeric(Text1.text)) Then
Text1.text=0
End If
IsNumeric()的用途就是判断表达式是否为数字(这样比你用len来判断全面很多)
你可以把这段语句放到Text1_Change()函数里面,
这样保证你输出在文本框内的内容一定是数字,如果不是或者没有输入就默认为0(可以依你需要而改变)

另外如果按你说的那个问题,应该不是你发出来这几段代码出错,可能是其他地方有错误需要的话,你可以发出全部代码.
温馨提示:答案为网友推荐,仅供参考
第1个回答  2011-01-06
你的代码后面的不知道,不能作出判断。
下面代码没问题,可以执行,TEXT1的数值空了后提示.然后再输入进数之后.程序能正常运行计算。
Private Sub Command1_Click()
If Len(Text1.Text) = 0 Or Len(Text2.Text) = 0 Or Len(Text3.Text) = 0 Then
MsgBox "XXXXXX"
Else
Debug.Print Val(Text1) + Val(Text2) + Val(Text3)
End If
End Sub
第2个回答  2011-01-06
do
text1.setfocus
until text1.text<>""
text2.text=text1.text*text1.text

最好不要用len直接判断长度,遇到数值类型会出错的.
第3个回答  2011-01-06
如果只是让TEXT1不为空的话:
if text1.text = “” then
msgbox “text1为空",,"提示"
end if