2

我想要这样的东西:

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。

问候,

弗洛里安

4

3 回答 3

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 
于 2010-09-30T19:18:25.903 回答
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
于 2010-09-30T19:37:05.717 回答
0

该问题与条件表达式的“短路”评估有关。那么VB6不支持这个功能。我知道这很愚蠢。

于 2013-01-20T15:40:04.780 回答