none
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.

    Freitag, 24. November 2017 15:41

Antworten

  • Anstelle der beiden Textbox-Requery Recalc verwenden?

    Me.Recalc

    Matthias Kläy, Kläy Computing AG

    • Als Antwort markiert mwch Sonntag, 26. November 2017 10:24
    Samstag, 25. November 2017 13:32
  • Hallo alle zusammen, habe eine Lösung gefunden:

    me.Recalc löst die Berechnungen aus.

    Danke allen welche geholfen haben.

    Viele liebe Grüsse

    • Als Antwort markiert mwch Sonntag, 26. November 2017 10:24
    Sonntag, 26. November 2017 10:24

Alle Antworten

  • Anstelle der beiden Textbox-Requery Recalc verwenden?

    Me.Recalc

    Matthias Kläy, Kläy Computing AG

    • Als Antwort markiert mwch Sonntag, 26. November 2017 10:24
    Samstag, 25. November 2017 13:32
  • Hallo alle zusammen, habe eine Lösung gefunden:

    me.Recalc löst die Berechnungen aus.

    Danke allen welche geholfen haben.

    Viele liebe Grüsse

    • Als Antwort markiert mwch Sonntag, 26. November 2017 10:24
    Sonntag, 26. November 2017 10:24
  • 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

    Sonntag, 26. November 2017 10:26