Discussion:
Vba: wie *innerhalb* der aktuellen Do-loop-Ausführung zum Schleifenbeginn springen?
(zu alt für eine Antwort)
Forrest Gump
2021-12-11 15:37:18 UTC
Permalink
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
2021-12-11 16:08:39 UTC
Permalink
Post by Forrest Gump
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").

Grüsse
Forrest
--
"Das Gute an Vietnam war, dass man immer irgendwas vorhatte."
Forrest Gump
---
Jean Michel
2021-12-14 06:58:19 UTC
Permalink
Post by Forrest Gump
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

Loading...