Office: While-Schleife wird nicht beendet

Helfe beim Thema While-Schleife wird nicht beendet in Microsoft Access Hilfe um das Problem gemeinsam zu lösen; Hallo Forum Ein aus einem Unterformular soll in ein Feld im Hauptformular übernommen (fix abgespeichert) werden. Das Feld wurde nachträglich im... Dieses Thema im Forum "Microsoft Access Hilfe" wurde erstellt von Joiner, 12. Februar 2023.

  1. Joiner Neuer User

    While-Schleife wird nicht beendet


    Hallo Forum
    Ein aus einem Unterformular soll in ein Feld im Hauptformular übernommen (fix abgespeichert)
    werden. Das Feld wurde nachträglich im Hauptformular (+ Tabelle) eingefügt.
    Nun habe ich versucht, eine Sub zu schreiben, die die Werte in allen Datensätzen ( ca. 40.000) nachträglich einträgt. Dies funktioniert auch zum Teil, aber leider wird die while-Schleife nicht mit dem letzten Datensatz beendet! Kann mir wer helfen ??

    Hier mein VBA-Code
    Private Sub btn_Arbeitszeit_alle_Click() 'Summe Arbeitszeiten bei allen Datensätzen in Hauptformula "AuftragMail" neu eintragen
    Dim Zaehler As Long
    Dim ZW As Long
    Dim Ende1 As Long
    Zaehler = 1
    ZW = 1000

    Me.FilterOn = False
    DoCmd.GoToRecord , , acLast
    Ende1 = Me.Auftragnummer 'wird richtig eingetragen
    'MsgBox Ende1
    DoCmd.GoToRecord , , acFirst

    While Zaehler < (Ende1 + 1)
    'MsgBox Ende1 + 1 ' Stimmt auch
    Me.txt_ZeitSum = Forms!AuftragMail![Arbeitszeit Unterformular]![Summe-Arbeitszeit]
    Zaehler = Zaehler + 1
    If Zaehler = ZW Then
    MsgBox "(wieder) 1000 Datensätze erledigt"
    ZW = ZW + 1000
    End If
    DoCmd.GoToRecord , , acNext
    Wend
    End Sub

    PS: Die msgbox pro 1000 datenensätze habe ich, weil mein Bildschirm zwischendurch
    immer einfriert (Sub läuft weiter) und beim anzeigen der msgbox wieder normal wird.
    Danke
    Gruß Joiner
     
  2. Doming
    Doming hat Ahnung
    Hallo Joiner,
    mit welchem Datensatz wird denn beendet? Ist das immer der selbe? Werden denn vorm Ende alle Einträge fehlerfrei vorgenommen?
    Füge doch mal statt der Msgboxen ein Debug.print ID ein, wenn es einen Primärschlüssel gibt. So kannst Du im Direktfenster mitverfolgen (Strg-G), wie Deine Sub arbeitet.
    Gruß
    Doming
     
  3. andyfau
    andyfau hat Ahnung
    Hallo,
    die Vorgehensweise mit docmd... ist nicht wirklich vorteilhaft. Warum erledigst Du das nicht mit einer Aktualisierungsabfrage?
    Wenn es dann doch unbedingt mit VBA gemacht werden soll, arbeite mit Recordsets und den Methoden .edit, .movefirst/next, .update etc. und prüfe dann auf .EOF (End of File) um Schleifen richtig zu beenden.
     
    andyfau, 12. Februar 2023
    #3
Thema:

While-Schleife wird nicht beendet

Die Seite wird geladen...
  1. While-Schleife wird nicht beendet - Similar Threads - While Schleife beendet

  2. mehrere Do While Schleifen nacheinander

    in Microsoft Excel Hilfe
    mehrere Do While Schleifen nacheinander: Hallo zusammen, versuche mehrere Do While schleifen zum laufen zu bringen so schaut es aus: Private Sub UserForm_Activate() Dim dat As Date dat = Me.Label1.Caption sp = 1 Do While...
  3. Do While mit zwei Bedingungen

    in Microsoft Excel Hilfe
    Do While mit zwei Bedingungen: Hallo, wie muss folgender Code geändert werden, damit er bei der zweiten Bedingung nur Werte zulässt, die ein Nein in der jeweiligen Zelle haben? Do While Trim(CStr(Tabelle1.Cells(lZeile,...
  4. Do While Loop Schleife

    in Microsoft Access Hilfe
    Do While Loop Schleife: Hallo zusammen, ich brauche Unterstützung bei der Entwicklung einer Schleife. In Access habe ich eine Datenbank welche Trainingspläne fürs Schwimmen speichert. Nun soll automatisch ein neuer...
  5. Unterschied WHILE/UNTIL bei DO...LOOP

    in Microsoft Access Hilfe
    Unterschied WHILE/UNTIL bei DO...LOOP: Hallo Forum. Auch wenn diese Frage vielleicht ein wenig "überflüssig" (Nach dem Motto: Warum ist die Banane krumm?) ist *Smilie , beschäftigt mich dieses Thema schon eine ganze Weile. 1) Ich...
  6. DO WHILE vs FOR Schleife

    in Microsoft Excel Hilfe
    DO WHILE vs FOR Schleife: Hallo, Ich habe ein größeres Makro mit einer Laufzeit von ca 5 Stunden. Dabei wird eine Tabelle mit bis zu 250000 Einträgen durchlaufen und die erste Spalte ist immer befüllt. Deshalb habe...
  7. Endlosschleife mit Do..While ??

    in Microsoft Excel Hilfe
    Endlosschleife mit Do..While ??: Hallo, ich möchte zwei Dateien mit einer Schleife in einem Makro öffnen. Ich erzeuge mir aber leider Endlosschleifen oder es wird nur eine Datei geöffnet. Hier mein Code: Sub dotest() Dim...
  8. Unterschied zwischen "while wend" & "Do w

    in Microsoft Excel Hilfe
    Unterschied zwischen "while wend" & "Do w: In meiner bisherigen Zeit habe ich beide Möglichkeiten schon erfolgreich verwendet, teilweise sogar beide in einem VBA Makro. Dadurch ist mir aufgefallen, das ich persönlich keine Unterschied...
  1. Diese Seite verwendet Cookies, um Inhalte zu personalisieren, diese deiner Erfahrung anzupassen und dich nach der Registrierung angemeldet zu halten.
    Auf dieser Website werden Cookies für die Zugriffsanalyse und Anzeigenmessung verwendet.
    Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden