Erstellen von Do While- und Do Until-Schleifen in einem Makro

SPRACHE AUSWÄHLEN SPRACHE AUSWÄHLEN
Artikel-ID: 209790 - Produkte anzeigen, auf die sich dieser Artikel bezieht
Dieser Artikel wurde zuvor veröffentlicht unter D39460
Dieser Artikel ist eine Übersetzung des folgenden englischsprachigen Artikels der Microsoft Knowledge Base:
209790 ACC2000: How to Create Do While and Do Until Loops in a Macro
Alles erweitern | Alles schließen

Zusammenfassung

Moderat: Erfordert Grundkenntnisse in den Bereichen Makros, Codierung und Interoperabilität.

Die Informationen in diesem Artikel beziehen sich ausschließlich auf Microsoft Access-Datenbanken (.mdb) und Microsoft Access-Projekte (.adp).

Zusammenfassung

Um eine Do While- oder Do Until-Schleife in einem Microsoft Access-Makro auszuführen, müssen Sie eine Kombination aus einer korrekten Makrostruktur und der RunMacro-Aktion verwenden, wobei der Parameter "Repeat Expression" (Wiederholbedingung) die entsprechenden Informationen enthalten muß. Diese Anforderungen werden an späterer Stelle in diesem Artikel eingehender erläutert.

Weitere Informationen

Es gibt diverse Typen sogenannter "Do-Schleifen" (Do Loops). Jeder dieser Typen handhabt Schleifenprozeduren und Schleifenbedingungen anders. Es gibt folgende Typen von "Do-Schleifen":
  1. Do While <Bedingung>... Loop
    Diese Schleife wird ausgeführt, solange die angegebene Bedingung "Wahr" ist. Trifft das Programm auf die Schleife, während die Bedingung bereits "Falsch" ist, wird die Schleife nicht ausgeführt.
  2. Do Until <Bedingung>... Loop
    Diese Schleife wird ausgeführt, bis die angegebene Bedingung "Wahr" ist. Trifft das Programm auf die Schleife, während die Bedingung bereits "Wahr" ist, wird die Schleife nicht ausgeführt.
  3. Do... Loop While <Bedingung>
    Diese Schleife wird beim ersten Mal unabhängig von der definierten Bedingung ausgeführt und wird dann weiter ausgeführt, solange die Bedingung "Wahr" ist. Trifft das Programm auf die Schleife, während die Bedingung bereits "Falsch" ist, wird die Schleife einmal ausgeführt.
  4. Do... Loop Until <Bedingung>
    Diese Schleife wird beim ersten Mal unabhängig von der definierten Bedingung ausgeführt und wird dann weiter ausgeführt, bis die Bedingung "Wahr" ist. Trifft das Programm auf die Schleife, während die Bedingung bereits "Wahr" ist, wird die Schleife einmal ausgeführt.
    Um eine Do While- oder Do Until-Schleife in einem Makro ausführen zu lassen, müssen Sie ein Makro verwenden, das den nachstehenden Beispielen ähnelt. Um die folgenden Beispiele zu erstellen, öffnen Sie ein neues Makro und klicken Sie dann im Menü ANSICHT auf MAKRONAMEN. Fügen Sie die folgenden Makronamen und -aktionen hinzu und speichern Sie dann die Makrogruppe unter dem Namen "Do_Loops".
Do While <Bedingung>... Loop und Do Until <Bedingung>... Loop:
   Macro Name       Action
   -------------------------
   Do_Loop1         RunMacro
   Loop1            MsgBox
Do_Loop1 Actions
   --------------------------------------
   RunMacro
      Macro Name: Do_Loops.Loop1
      Repeat Expression: <Ihre_Bedingung>
Loop1 Actions
   -------------------
   MsgBox
      Message: ="Loop"
In diesem Beispiel ruft das Makro "Do_Loop1" das Makro "Loop1" auf, während der Parameter "Repeat Expression" der RunMacro-Aktion "Wahr" ist.

Do... Loop While <Bedingung> und Do... Loop Until <Bedingung>:
   Macro Name       Action
   -------------------------
   Do_Loop1         RunMacro
                    RunMacro
   Loop1            MsgBox
Do_Loop1 Actions
   --------------------------------------
   RunMacro
      Macro Name: Do_Loops.Loop1
   RunMacro
      Macro Name: Do_Loops.Loop1
      Repeat Expression: <Ihre_Bedingung>
Loop1 Actions
   -------------------
   MsgBox
      Message: ="Loop"
In diesem Beispiel ruft das Makro "Do_Loop1" das Makro "Loop1" einmal unabhängig von der Bedingung auf und ruft es danach solange weiter auf, wie der Parameter "Repeat Expression" der RunMacro-Aktion "Wahr" ist.

Bedingungen:
Die in der Schleife verwendete Bedingung, die im Parameter "Repeat Expression" der RunMacro-Aktion definiert ist, kann basieren auf einem Wert in einem Feld auf einem Formular, einer Eigenschaft eines Steuerelements auf einem Formular, oder auf dem von der Visual Basic-Funktion zurückgemeldeten Wert. Basiert die Bedingung auf einem Feld in einem Formular oder auf einer Eigenschaft eines Steuerelements auf einem Formular, sieht die Syntax ungefähr wie folgt aus:
   Forms![CounterForm]![Counter]<=10
- oder -
   Forms![EntryForm]![InvoiceNo].Visible=True
Basiert die Bedingung auf dem von der Visual Basic-Funktion zurückgemeldeten Wert, sieht die Syntax ungefähr wie folgt aus:
   Time()>=TimeEntry()
Vergleich zwischen Do While-Schleifen und Do Until-Schleifen:
Ob es sich bei einer Schleife um eine Do While- oder eine Do Until-Schleife handelt, ist von der Bedingung abhängig. Die RunMacro-Aktion führt das Makro aus, bis die im Parameter "Repeat Expression" definierte Bedingung "Falsch" ist. Dieses Verhalten ist exakt das einer Do While-Schleife, aber das Gegenteil des Verhaltens einer Do Until-Schleife. Damit eine Bedingung für eine Do Until-Schleife wie gewünscht wirkt, müssen Sie daher der Bedingung in der RunMacro-Aktion den Operator NOT voranstellen.

Bitte beachten Sie: Bei diesem Artikel handelt es sich um eine Übersetzung aus dem Englischen. Es ist möglich, daß nachträgliche Änderungen bzw. Ergänzungen im englischen Originalartikel in dieser Übersetzung nicht berücksichtigt sind. Die in diesem Artikel enthaltenen Informationen basieren auf der/den englischsprachigen Produktversion(en). Die Richtigkeit dieser Informationen in Zusammenhang mit anderssprachigen Produktversionen wurde im Rahmen dieser Übersetzung nicht getestet. Microsoft stellt diese Informationen ohne Gewähr für Richtigkeit bzw. Funktionalität zur Verfügung und übernimmt auch keine Gewährleistung bezüglich der Vollständigkeit oder Richtigkeit der Übersetzung.

Eigenschaften

Artikel-ID: 209790 - Geändert am: Dienstag, 27. August 2002 - Version: 1.0
Die Informationen in diesem Artikel beziehen sich auf:
  • Microsoft Access 2000 Standard Edition
Keywords: 
kbusage KB209790
Microsoft stellt Ihnen die in der Knowledge Base angebotenen Artikel und Informationen als Service-Leistung zur Verfügung. Microsoft übernimmt keinerlei Gewährleistung dafür, dass die angebotenen Artikel und Informationen auch in Ihrer Einsatzumgebung die erwünschten Ergebnisse erzielen. Die Entscheidung darüber, ob und in welcher Form Sie die angebotenen Artikel und Informationen nutzen, liegt daher allein bei Ihnen. Mit Ausnahme der gesetzlichen Haftung für Vorsatz ist jede Haftung von Microsoft im Zusammenhang mit Ihrer Nutzung dieser Artikel oder Informationen ausgeschlossen.

Ihr Feedback an uns

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com