Как определить более одного условия в то время как - PullRequest
2 голосов
/ 30 сентября 2010

Я хотел бы что-то вроде этого:

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

Я хочу, чтобы выражение 1 (не RdoRst.EOF) оценивалось первымЗатем, если он возвращает true, выражение 2 также вычисляется (RdoRst (2) = "Foo").Если выражение 1 возвращает false, выражение 2 не оценивается.

С уважением,

Флориан

Ответы [ 3 ]

1 голос
/ 30 сентября 2010

И также недоступно в 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 
0 голосов
/ 20 января 2013

Вопрос относится к «короткому замыканию» оценки выражений условий. Ну VB6 не поддерживает эту функцию. Я знаю, что это глупо.

0 голосов
/ 30 сентября 2010
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
...