VB判断输入数字大小

窗体上有4个文本框,一个按钮,我想在输入数字时判断输入的数是否在范围内,这是代码PrivateSubCommand1_Click()Dima,bAsIntegera=Te... 窗体上有4个文本框,一个按钮,我想在输入数字时判断输入的数是否在范围内,这是代码
Private Sub Command1_Click()
Dim a, b As Integer
a=Text1.Text
b=Text2.Text
If 0<= a <= 100 And 0<= b <=100 Then
Text3.Text=a
Text4.Text=b
Else
MsgBox "输入的值不正确"
End If
End Sub

程序能正常工作,但是无论文本框1、2中输入任何数字都不会弹出提示,请问为什么会出问题?如何解决?麻烦详细解释一下,谢谢!
展开
 我来答
sxqiufeng
2013-01-13 · TA获得超过644个赞
知道小有建树答主
回答量:647
采纳率:100%
帮助的人:491万
展开全部
Private Sub Command1_Click()
Dim a, b As Integer'--------此处有问题:a是变体,b是integer
a=Text1.Text
b=Text2.Text
If 0<= a <= 100 And 0<= b <=100 Then'----此处重大问题,即问题所在。
Text3.Text=a
Text4.Text=b
Else
MsgBox "输入的值不正确"
End If
End Sub

----------------------------------- 说明---------------------------
0<= a <= 100 And 0<= b <=100 VB判断如下:
0<=a 如果正确,返回 true (其值 -1),如果错误,返回 false(其值 0)。
于是-1<= 100 正确,0<= 100 也正确。
因此 a为任何值,0<= a <= 100 都为正确,返回 true
同理:b为任何值,0<= b <=100 都为正确,返回 true

也就是说:
a和b为任何值,
0<= a <= 100 And 0<= b <=100 都是正确的返回 true 。
执行:
Text3.Text=a
Text4.Text=b

修改如下:
Private Sub Command1_Click()
Dim a As Integer, b As Integer‘------------------------------------------1
a=Text1.Text
b=Text2.Text
If 0<= a and a <= 100 And 0<= b and b <=100 Then'----------------2
Text3.Text=a
Text4.Text=b
Else
MsgBox "输入的值不正确"
End If
End Sub
chmwh1992
2013-01-13 · TA获得超过1126个赞
知道小有建树答主
回答量:475
采纳率:100%
帮助的人:533万
展开全部
把If 0<= a <= 100 And 0<= b <=100 Then改成
If 0 <= a And a <= 100 And 0 <= b And b <= 100 Then

就可以了。
逻辑表达式不能写成数学表达式。你那样写相当于(0<=a)<=100,而(0<=a)结果是0或1,永远小于100,所以,整个逻辑判断表达式永远为真,不可能执行else语句
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
suzihang3
2013-01-13 · TA获得超过195个赞
知道小有建树答主
回答量:392
采纳率:0%
帮助的人:230万
展开全部
vb不支持连续比较,切尼未将文本转换成数字
你是想边输入边检查还是按按钮检查?
按按钮检查的代码:
Private Sub Command1_Click()
Dim a, b As Integer
a=Val(Text1.Text)’val转换数据类型
b=Val(Text2.Text)
If a>= 0 and a<= 100 And b>= 0 and b <=100 Then
Text3.Text=a
Text4.Text=b
Else:
MsgBox "输入的值不正确"
End If
End Sub
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
lfc9861
2013-01-13 · TA获得超过291个赞
知道小有建树答主
回答量:472
采纳率:50%
帮助的人:286万
展开全部
If (0 <= a) And (a <= 100) And (0 <= b) And (b <= 100) Then
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式