我有一个场景,我在IF语句中需要两个条件才能显示相同的结果。
即:
IF Condition 1 = something AND Condition 2 = Anything
txtMessage = "Hello world."
Else
txtMessage = "Goodbye world.
条件1是'标记' Access中的控件选项,条件2是控件中的文本,例如" N / A"。
我在Java中知道你可以使用&&声明这个,但我怎么能在VBA中做到这一点?我已经在论坛和谷歌检查过类似的问题,但无法找到答案。其他人建议使用elseif语句,但是应该有一种方法可以声明两个条件,这些条件在一行中产生相同的东西,不是吗?我在这里过分简单,或者这是错误的看法吗?
修改的
以下是我正在使用的代码片段
If ctrl.Tag = "BlkChk" Then
If IsNull(ctrl) Then
strMsg = strMsg & "- " & ctrl.Name & vbCrLf
End If
End If
基本上,我希望此代码检查控件是否为空白,或者包含文本" N / A"如果是这样,打印文本" Hello World。"如果没有,请打印文本" Goodbye world。"
答案 0 :(得分:1)
你是说你希望txtMessage
等于“Hello world”。如果其中一个条件为真或两个条件都为真?
如果是前者,请使用关键字Or
。如果是后者,请使用关键字And
。
答案 1 :(得分:1)
如果你想要和&&在Java中,这称为短路。它的工作方式是,只有当第一个条件评估为真时才评估第二个条件。 VBA中没有短路,但您可以通过Switch语句实现类似的功能。