如何在While中定义更多一个条件

时间:2010-09-30 16:57:49

标签: vb6 while-loop logical-operators

我想要那样的东西:

While Not RdoRst.EOF And RdoRst(2) = "Foo"
        cboComboBox.AddItem RdoRst(1)
        cboComboBox.ItemData(cboComboBox.NewIndex) = RdoRst(0)
        RdoRst.MoveNext
Wend

我希望首先评估表达式1(Not RdoRst.EOF)。然后,如果它返回true,则也计算表达式2(RdoRst(2)=“Foo”)。如果表达式1返回false,则不计算表达式2。

问候,

弗洛里安

3 个答案:

答案 0 :(得分:1)

AndAlso在VB6中不可用。试试这个

Do 
  If RdoRst.EOF Then Exit Do 
  If Not RdoRst(2) ="Foo" Then Exit Do      
  cboComboBox.AddItem RdoRst(1)  
  cboComboBox.ItemData(cboComboBox.NewIndex) = RdoRst(0)  
  RdoRst.MoveNext  
Loop 

答案 1 :(得分:0)

While Not RdoRst.EOF 
    If RdoRst(2) = "Foo" Then
        cboComboBox.AddItem RdoRst(1) 
        cboComboBox.ItemData(cboComboBox.NewIndex) = RdoRst(0) 
    Else
        Exit Wend
    End If
    RdoRst.MoveNext 
Wend

答案 2 :(得分:0)

问题涉及条件表达式的“短路”评估。 VB6不支持此功能。我知道这很愚蠢。