Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Vba: wie *innerhalb* der aktuellen Do-loop-Ausführung zum Schleifenbeginn springen?

6 views
Skip to first unread message

Forrest Gump

unread,
Dec 11, 2021, 10:37:19 AM12/11/21
to
Hallo

Ich möchte in einer Do-loop-Schleife innerhalb der Schleif die aktuelle
Do-Ausführung abbrechen und mit dem nächsten Datensatz am Anfang der
Do-loop-Schleife fortfahren.

Wie heisst der Befehl dazu?

Also in etwa so:

...
recSet.movefirst
A=0

do
[irgendwelche Aktionen]

if A>1 then
A=0
recSet.movenext

[Befehl, um die Ausführung unmittelbar nach "do" fortzusetzen]
endif

[irgendwelche Aktionen]

A=A+1
recSet.movenext
loop until recSet.eof
...

Ich suche also im obigen Pseudocode den
"[Befehl, um die Ausführung unmittelbar nach "do" fortzusetzen]"

Ich hoffe, ich konnte mich verständlich machen. :-)

Vielen Dank.

Grüsse
Forrest



--
"Das Gute an Vietnam war, dass man immer irgendwas vorhatte."
Forrest Gump
---

Forrest Gump

unread,
Dec 11, 2021, 11:08:41 AM12/11/21
to
Also sprach Forrest Gump am 11.12.2021 um 16:37:

> if A>1 then
> A=0
> recSet.movenext
>
> [Befehl, um die Ausführung unmittelbar nach "do" fortzusetzen]
> endif
Rätsel umschifft: Der aktuelle Schleifendurchgang wird normal
durchlaufen, wenn A=1, sonst nur nächster Datensatz nach endif und durch
loop-until nächster Durchgang oder nicht.

Es würde mich aber trotzdem interessieren, ob man in Vba einen
do-loop-Schleifendurchgang innerhalb der aktuellen Ausführung abbrechen
und zum nächsten Do-Durchgang springen kann (Ausführung wieder
unmittelbar nach "do").

Jean Michel

unread,
Dec 14, 2021, 1:58:20 AM12/14/21
to
Forrest Gump schrieb am Samstag, 11. Dezember 2021 um 17:08:41 UTC+1:
> Also sprach Forrest Gump am 11.12.2021 um 16:37:

> Rätsel umschifft: Der aktuelle Schleifendurchgang wird normal
> durchlaufen, wenn A=1, sonst nur nächster Datensatz nach endif und durch
> loop-until nächster Durchgang oder nicht.
>
> Es würde mich aber trotzdem interessieren, ob man in Vba einen
> do-loop-Schleifendurchgang innerhalb der aktuellen Ausführung abbrechen
> und zum nächsten Do-Durchgang springen kann (Ausführung wieder
> unmittelbar nach "do").
> Grüsse
> Forrest

Hi Forrest
Die Antwort ist NEIN - es gibt keinen solchen Befehl.
Der Sinn einer Schleife ist es ja, dass sie bis zur Beedigung der Bedingung durchlaufen wird.
Es gibt lediglich den "Exit Do" bzw. "Exit for" um den Loop vorzeitig zu verlassen.
So wie du es gemacht hast, ist der richtige Weg
Gruss, Jean
0 new messages