在IF语句中声明多个条件以获得相同的结果

时间:2014-10-28 20:31:38

标签: vba ms-access ms-access-2010

我有一个场景,我在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。"

2 个答案:

答案 0 :(得分:1)

你是说你希望txtMessage等于“Hello world”。如果其中一个条件为真或两个条件都为真?

如果是前者,请使用关键字Or。如果是后者,请使用关键字And

来源:http://msdn.microsoft.com/en-us/library/wz3k228a.aspx

答案 1 :(得分:1)

如果你想要和&&在Java中,这称为短路。它的工作方式是,只有当第一个条件评估为真时才评估第二个条件。 VBA中没有短路,但您可以通过Switch语句实现类似的功能。

请参阅: AndAlso/OrElse in VBA