在vb中逻辑顺序是not>and>or>xor>eqr>imp如果我想先用OR然后再用AND这样有办法没呢?
我想写的是这样的一个
If (Combo2 < 5 Or comb2 > 4) And (Combo3 < 22 Or Combo3 > 19) Then
Text1.Text = "白羊座"
End If
本来是想在这两句间加一个括号的看看能不,结果是不能的!
人气:409 ℃ 时间:2020-05-18 16:05:50
解答
逻辑运算是完全可以加括号的,你的思路完全正确.我在vb中也是加括号编的,一点问题没有.应该是你的代码其他地方出了问题,请楼主自己检查一下,实在检查不出可以把你的代码粘过来并告诉我它报的是什么错,我们一起帮你看!Private Sub Command2_Click() If (Combo2 < 5 Or comb2 > 2) And (Combo3 < 22 Or Combo3 > 19) Then'本来是想在这里做一个星座的查询表的。结果这里的逻辑顺序是先or 后 Text1.Text = "白羊座" Else Text1.Text = "错误" End If End Sub前面就是用的 Additem这个函数为combo1 2 3添加的一些东西 如Combo3.AddItem 23首先,看看你这里面的comb2是不是应该是combo2。然后,告诉我vb它报的是什么错我才能告诉你哪里有问题。或者用汉语说一下你想实现的逻辑关系,我帮你写一下代码。是的,这个combo2是我打给你的时候打错,没报错的,就是实现的功能不符合我的想法。我想实现的是combo2=3或4并且combo3要在22与19之间才会在txet中输出这个字符。就是先让它们两个先与了再并。 对了,谢谢你肯定我。很少有人肯定过我的。谢谢。不用谢~按照你的汉语,代码是这样If (Val(Combo2.Text) = 3 Or Val(Combo2.Text) = 4) And Val(Combo3.Text) >= 19 And Val(Combo3.Text) <= 22 Then……End If没有问题的。我好像知道你的问题了,想要判断一个值介于两个数之间,中间要用And而不是Or。因为你想一下,And在数学中才表示 并集 的含义。你看,要想让19<=a<=22,那应该说“a大于等于19,且,a小于等于22”才对呀。
推荐
猜你喜欢
- 昆虫不同形态的足在于各自结构组成上的共同特点
- You'are old enough to _______ your own living.
- 下列化学反应中,与实验事实不符的是( ) A.铁与硫酸铜溶液反应得到铜 B.铁与稀硫酸反应放出氢气 C.铁与稀盐酸反应得到氯化铁 D.铁在氧气中燃烧生成四氧化三铁
- 电子从基态跃迁到激发态,速度有v1,v2,v3,且v1
- 已知1/a-1/b=3,求分式2a+3ab-2b/a-ab-b的值
- 如图,圆O的半径为R,弦AB=a,弦BC平行OA,求AC
- 如图,圆O的半径为4CM,弦AB的弦心距OM为2CM,C D分别是劣弧
- 中国应对濒临灭绝动物的办法\措施