none
Loop ohne Do bei IF THEN ELSE

    Frage

  • Hallo Zusammen,

    ich habe folgenden Code:

    'Überprüfen ob ggf. eine bestehende Externe Servicenummer im Betreff genannt wird
    rst.Open strSQL, cnn, adOpenDynamic
    With rst
    .MoveFirst
    Do Until .EOF
    strExTicktNr = !WeitergeleitetNummer

    If InStr(1, strBetreff, strExTicketNr, vbBinaryCompare) > 0 Then 'Nummer wird im Betreff gefunden
    Exit Do
    strTicktNr = !TicketNr
    GoTo Ticketverfolgung 'Kein neues Ticket erstellen, sondern an bestehendes Ticket anhängen
    Else
    .MoveNext 'Nächste Vorhandene Externe Nummer suchen
    Loop
    End If
    End If

    Und bekomme da den Fehler, dass ich Loop ohne Do tue.

    Liegt natürlich daran, dass das Loop im Else Bereich steht. Aber genau das will ich ja auch. Wenn die InStr Suche eine Übereinstimmung findet soll nicht mehr weiter durchlaufen werden.

    Wie drücke ich das aus?

    Danke für Hilfe.

    Viele Grüße

    Patrick

    Mittwoch, 8. Mai 2013 09:27

Alle Antworten

  • Wenn die InStr Suche eine Übereinstimmung findet soll nicht mehr weiter durchlaufen werden.

    Hallo Patrick,

    dann ruf an der Stelle auch ein "Exit Do" auf, wie im Code zuvor.


    Olaf Helper

    Blog Xing

    Mittwoch, 8. Mai 2013 09:33
  • Hallo Olaf,

    verstehe ich jetzt nicht. An welcher Stelle? Da steht doch ein Exit Do wenn was gefunden wird.

    Wo soll noch eins stehen?

    Das letzte End If ist übrigens an der Stelle falsch, bzw. man sieht nicht das der Code bereits Teil einer anderen IF Anweisung ist.

    Mittwoch, 8. Mai 2013 09:37
  • Okay.. habs jetzt anders gelöst.

    Da ich ja das Exit Do machen und dann zu einem anderen Code springe, brauche ich kein Else mehr im Code. Habe hinter das Got To jetzt ein End if gesetzt.

    Dann geht's.

    Mittwoch, 8. Mai 2013 09:59