Benutzer mit den meisten Antworten
Berechnung einer Summe in tabelarischem Formular abwarten

Frage
-
Hallo alle zusammen
in einem Tabelarischen Formular habe ich im Formularfus eine Summe der Datensätze. Es ist das Textfeld tbArbeitszeit.
Wenn ich im Ereignis AfterUpdate des Formuar, diese Summe abfrage, dann ist die noch nicht berechnet, sie trägt noch immer den alten Wert.
Folgenden Code habe ich geschrieben:
Private Sub Form_AfterUpdate() 'Form AfterUpdate Debug.Print "--- Feldkontrolle Zeit in Form_AfterUpdate() ---" Debug.Print "Vor Requery: " Debug.Print "tbArbeitszeit: " & Me.tbArbeitsZeit.Value 'Das ist die Summe eines Double Wert aus der Tabelle. Debug.Print "tbZuschlagZeit: " & tbZuschlagZeit.Value 'Dies ist eine weitere Berechnung. Me.tbArbeitsZeit.Requery Me.tbZuschlagZeit.Requery Debug.Print "Nach Requery" Debug.Print "tbArbeitsZeit: " & Me.tbArbeitsZeit.Value Debug.Print "tbZuschlagZeit: " & tbZuschlagZeit.Value Debug.Print "Nach einem BreakPoint" 'Auf dieser Zeile ist ein BreakPoint. Debug.Print "tbArbeitsZeit: " & Me.tbArbeitsZeit.Value Debug.Print "tbZuschlagZeit: " & tbZuschlagZeit.Value Debug.Print "------"
Und das folgende Ergebnis bekomme ich geliefert:
Form_Current frmArbeitszeitSaldo (gelb) --- Feldkontrolle Zeit in Form_AfterUpdate() --- Vor Requery: tbArbeitszeit: 49 <-- Das ist der Wert im Summenfeld tbZuschlagZeit: 1 Nach Requery tbArbeitsZeit: 49 <-- Auch nach Requery ist der wert immer noch identisch- tbZuschlagZeit: 1 Nach einem BreakPoint <-- Durch einen Breakpoint wurde die Ausführung unterbrochen tbArbeitsZeit: 50 <-- und jetzt ist der Wert im Summenfeld richtig. tbZuschlagZeit: 2 <-- Auch die Folgeberechnung stimmt jetzt.
Was kann ich machen, damit ich beim Verlassen des Datensatz auf die richtig berechneten Werte zugreiffen kann?
Vielen Dank für jegliche Hinweise welche zur Berechnung führen.
Antworten
Alle Antworten
-
Hallo Matthias,
Oh, sorry meinen Übereifer. Ich war in einem anderen Forum und habe dort die Lösung Recalc gefunden und sogleich hier gepostet. Erst jetzt habe ich gesehen, dass Du diese Lösung vor 20 Stunden schon geschrieben hast.
Sorry, somit bedanke ich mich natürlich bei Dir. Dir gebührt der Erfolg und der Dank.
Viele liebe Grüsse