注册 登录
编程论坛 VB6论坛

新手请教if语句问题

champion3568 发布于 2020-03-28 16:57, 1992 次点击
各位论坛们前辈老师们您们好
有一个if语句问题,代码如下:
Private Sub Command1_Click()
Dim x, a As String
x = InputBox("请问你是否通过了考试:")
x = CStr(a)
If a = 是 Then
MsgBox CStr(a) & "恭喜你会有惊喜"
ElseIf a = 不是 Then
MsgBox CStr(a) & "很遗憾,没有惊喜"
End If
End Sub

在我输入“是” 的时候就会弹出“恭喜你会有惊喜”
而当我输入“不是”的时候,还会弹出“恭喜你会有惊喜”
不知怎么回事?
另外就是,怎样实现,输入出“字”以外的其他字,就能退出窗体,谢谢!



3 回复
#2
风吹过b2020-03-28 19:08
x 值是什么?
a 值又是什么?
变量 是  的值是什么
变量 不是 的值 是什么

搞懂了为什么你这个程序里 ,是 和 不是 为什么是变量,然后这四个变量的值都是什么,你就明白了你这个 if 错在什么地方了。

最后一个问题,再加一层 else 就可以了。
加在 end if 前面
else
unload me

要求 end if 后面没有了需要执行的命令,语句结构结束命令不算
#3
HVB62020-03-30 18:15
原程序有几处错误:
Private Sub Command1_Click()
Dim x, a As String
x = InputBox("请问你是否通过了考试:")
  'x = CStr(a)'此时a是空值
   a= CStr(x)
'If a = 是 Then'汉字应有双引号
If a = "是" Then
MsgBox CStr(a) & "恭喜你会有惊喜"
'ElseIf a = 不是 Then'汉字应有双引号
ElseIf a = "不是" Then
MsgBox CStr(a) & "很遗憾,没有惊喜"
End If
End Sub

[此贴子已经被作者于2020-3-30 18:20编辑过]

#4
ZHRXJR2020-03-30 20:52
Private Sub Command1_Click()
Dim x, a As String
x = InputBox("请问你是否通过了考试:")
a = CStr(x)  '必须给变量a赋值,a没有值在判断时以空字符串处理
If a = "是" Then   '因为a是字符串,后面必须用双引号的字符串,如果没有双引号,程序认为是另一个变量,这个变量也是空,你的变量a在前面没有赋值,因此这个语句始终成立
MsgBox CStr(a) & "恭喜你会有惊喜"
ElseIf a = "不是" Then
MsgBox CStr(a) & "很遗憾,没有惊喜"
End If
End Sub
其他后面语句就不解释了。


[此贴子已经被作者于2020-3-30 20:53编辑过]

1