Office: (Office 2010) Warten bis requery beendet ist

Helfe beim Thema Warten bis requery beendet ist in Microsoft Access Hilfe um das Problem gemeinsam zu lösen; Hallo Leute, ich habe ein Formular mit UFO zur Erstellung einer Rechnung. Ich kann dort Waren einfügen, die Anzahl ändern, usw.. Bevor die Rechnung... Dieses Thema im Forum "Microsoft Access Hilfe" wurde erstellt von eisbaer13, 28. März 2015.

  1. Warten bis requery beendet ist


    Hallo Leute,

    ich habe ein Formular mit UFO zur Erstellung einer Rechnung.
    Ich kann dort Waren einfügen, die Anzahl ändern, usw.. Bevor die Rechnung fertig gemacht werden kann (durch klick auf einen Button wird ein Word-Dokument mit den Daten erstellt), werden vorher noch 2 SQL-Abfragen ausgeführt.
    Die Felder mit der Nettosumme, der MwSt und der Bruttosumme werden im UFO berechnet und nach den SQL-Abfragen mit Requery des UFOs neu berechnet.
    Und hier hakt die Sache auch schon.
    Denn während der Neuberechnung sind die Felder leer und der VBA-Code greift dann auf die leeren Felder zu.

    Im Überblick schaut der Code so aus:
    1. Ausführen der SQL-Abfragen
    2. Speichern des DS mit "DoCmd.RunCommand acCmdSaveRecord"
    3. Requery des UFOs
    4. Erstellen des Word-Dokuments
    5. Übergabe der Daten von Access an Word
    Nun meine Frage: Kann ich es irdgendwie so steuern, dass Pkt 4 erst begonnen wird, wenn Pkt 3 ganz fertig ist?

    :)
     
    eisbaer13, 28. März 2015
    #1
  2. hab hier mal den Code auszugsweise reinkopiert:
    Code:
    Die 3 Felder, welche unter "Rechnung ausfüllen" angesprochen werden, werden im UFO berechnet (Steuerelementinhalt: =Summe([WarenNettoSumme]),...).
     
    eisbaer13, 29. März 2015
    #2
  3. Hallo,

    vielleicht hilft schon ein Doevents nach Requery.
     
  4. Warten bis requery beendet ist

    DoEvents hilft leider nichts *frown.gif*
     
    eisbaer13, 29. März 2015
    #4
  5. Ergänze mal:

    Forms!F_Rechnung.F_Rechnung_UFO.Requery
    vs.
    Forms!F_Rechnung.F_Rechnung_UFO.Form.Requery
     
  6. Auch das ändert leider nichts *frown.gif*
     
    eisbaer13, 29. März 2015
    #6
  7. Hallo Eisbär!

    Ist mir auch schon passiert, daß DoEvents nichts nutzte.
    Das Folgende ist zwar nicht genau das, was Du gefragt hast, aber:

    Warte einfach mittels
    Function GetTickCount Lib "kernel32.dll" () As Long
    oder
    Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)
    mit anschl. DoEvents. Zu Anfang 2 Secs oder auch mehr.

    Wolfgang
     
    wb_3001, 29. März 2015
    #7
  8. Warten bis requery beendet ist

    Hallo Wolfgang,
     
    eisbaer13, 29. März 2015
    #8
  9. Nochmals hallo Wolfgang,
    (das kommt davon, wenn man zu schnell klickt *wink.gif*)
    Ich steh gerade vor einer Wand und versteh gar nix mehr!!!*stupid

    Wie und wo muss ich das einbauen und aufrufen?*confused.gif*
     
    eisbaer13, 29. März 2015
    #9
  10. Hallo!

    Läuft im UFO nach Requery ein weiterer Code, der Steuerelementinhalte anpasst? (z. B. über das Ereignis "Current")

    Ich nehme an, das sind Steuerelemente mit berechneter Datenherkunft. => Vielleicht hilft ein nachgeschobenes "Recalc" nach Requery.

    Ansonsten: Falls sich die Berechnung der Steuerelemente auf Datenfelder bezieht, probiere einmal aus, ob es schneller berechnet werden würde, wenn du statt den Datenfelder die Berechnung auf gebundenes Textfelder aufbaust.

    mfg
    Josef
     
    Josef P., 30. März 2015
    #10
  11. Da ich mit der DB ziemlich im Zeitdruck bin, habe ich nun einen Workaround eingebaut, welcher die Erstellung der Rechnung erst zulässt, wenn das Fomular/Datensatz zuerst gespeichert wurde (eigener Speicherbutton). Somit verstreicht genug Zeit, um die Felder zu berechnen.
    Danke für euer Hilfe!
     
    eisbaer13, 30. März 2015
    #11
  12. Hallo Eisbär!

    Es hat sich schon erübrigt, dennoch die Antwort zu Deiner Frage:
    Declare Function GetTickCount Lib "kernel32.dll" () As Long
    Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)
    sind Win-APIs.
    Die Deklarationen und die Function WaitTickCounts gehören in ein allg. Modul.
    Die Parameter sind jeweils 1/1000 Secs
    Variante mit WaitTickCounts:
    Code:
    Variante mit Sleep
    Code:
    Wolfgang
     
    wb_3001, 30. März 2015
    #12
  13. Warten bis requery beendet ist

    Hallo!

    Ich zweifle etwas daran, dass Requery asynchron für den aktuellen Datensatz abläuft.
    Das würde meiner Meinung nach bedeuten, dass Requery immer schnell vorbei sein müsste, wenn die Daten erst später nachgeladen werden.

    Was schon später sein kann: die Neuberechnung der berechneten Steuerelemente nachdem die Daten aktualisiert wurden. Daher der Hinweis auf Recalc.

    Eine künstliche Pause einzubauen halte ich in so einem Fall für "Zufallsprogrammierung" (weil die Pause vielleicht auf einem anderen Rechner doch wieder zu kurz sein könnte und dann passen die Daten wieder nicht) - und das wollen wir nicht, oder? *wink.gif*

    mfg
    Josef
     
    Josef P., 30. März 2015
    #13
  14. Hallo Josef!

    Ich schrieb ja
    Aber einen Versuch wäre es wert, wenn andere Maßnahmen erfolglos bleiben.

    Vielleicht genügt es auch, den Datensatz des Forms zu wechseln und den in Frage stehenden neu anzuzeigen. Nicht wirklich schön, aber möglicherweise erfolgreich.

    Wolfgang

    Ergänzung:
    Forms!F_Rechnung.F_Rechnung_UFO.Form.Requery
    ist eigentlich nicht ganz sauber,
    Forms!F_Rechnung!F_Rechnung_UFO.Form.Requery
    schon.
    Doch denke ich, daß es das Problem auch nicht löst.
     
    wb_3001, 30. März 2015
    #14
  15. Hallo!

    Es gab (den gibt es noch immer) in Access 2010 den Bug, dass berechnete Felder nicht aktualisiert wurden, auch wenn der DS gewechselt wurde. Abhilfe schaffte in die Berechnung nicht nur Datenfelder sondern gebundene Steuerelemente einzubinden. (Anhang zum Ausprobieren.)
    Vielleicht hängt das beschriebene Problem damit zusammen.
    (z. B. Ufo an Datenfeld und nicht an Steuerelement gebunden.)

    oder:

    Vielleicht hätte der Datensatz im HF vor der SQL-Ausführung gespeichert werden sollen und nicht danach. (Das hängt aber von der der unbekannten Zusammensetzung der SQL-Anweisung ab.)


    Ich finde es besser, die Ursache zu finden, statt irgendwelche Umwege einzubauen. *wink.gif*
    Vielleicht findest eisbaer13 noch einmal die Zeit und kann uns die Problemursache und die passende Lösung nennen, falls später jemand anders auch so ein ähnliches Problem hat.


    Natürlich! - aber nur wenn alles andere nichts hilft. - Das kann ich mir derzeit nur schwer vorstellen. *Smilie



    mfg
    Josef
     
    Josef P., 31. März 2015
    #15
Thema:

Warten bis requery beendet ist

Die Seite wird geladen...
  1. Warten bis requery beendet ist - Similar Threads - Warten requery beendet

  2. Wenn Zelle leer warte auf Zelle mit Inhalt

    in Microsoft Excel Hilfe
    Wenn Zelle leer warte auf Zelle mit Inhalt: Hi zusammen, ich stehe vor folgender Herausforderung: In Tabellenblatt 1 gebe ich in Spalte A1 einen Namen ein und befülle die restliche Tabelle In Tabellenblatt 2 benötige ich den Namen nur,...
  3. Fehler: "Stopp. Sie sollten mit der Installation von Office 2016 noch warten" Sie sind nicht ...

    in Microsoft Outlook Tutorials
    Fehler: "Stopp. Sie sollten mit der Installation von Office 2016 noch warten" Sie sind nicht ...: Fehler: "Stopp. Sie sollten mit der Installation von Office 2016 noch warten" Sie sind nicht in der Lage, E-Mails von einem aktuellen Postfach zu erhalten Outlook für Microsoft 365...
  4. Entscheiden Sie, wer in der Lobby warten muss, um eine Skype for Business-Besprechung zu ...

    in Microsoft Outlook Tutorials
    Entscheiden Sie, wer in der Lobby warten muss, um eine Skype for Business-Besprechung zu ...: Entscheiden Sie, wer in der Lobby warten muss, um eine Skype for Business-Besprechung zu erhalten. Outlook für Microsoft 365 Outlook 2019 Outlook 2016 Lync 2013 für...
  5. Warten, bis Workbook geöffnet

    in Microsoft Excel Hilfe
    Warten, bis Workbook geöffnet: Hallo liebe Community, ich erstelle zur Zeit eine kleine Datenbank mit VBA und habe dazu eine Datei „Tool“, die via Makros auf die Datei „Datenbank“ zugreift. Bei Ausführung des Makros öffnet sich...
  6. Warten bis Berechnung fertig

    in Microsoft Excel Hilfe
    Warten bis Berechnung fertig: Hallo Kollegen, nachdem ich per VBA den Slicer ändere - erstelle ich eine PDF-Datei aus dem Ergenbis daraus - leider steht in der PDF-Datei immer GetData drin (Funktion Cubewert steht in mehreren...
  7. Warten bis ActiveWorkbook.RefreshAll fertig ist

    in Microsoft Excel Hilfe
    Warten bis ActiveWorkbook.RefreshAll fertig ist: Hallo Miteinander, ich habe in einer Datei ein geschütztes Blatt das jedoch eine Datenverbindung zu einer anderen Datei enthält. Da eine Datenverbindung auf einem geschützten Blatt nicht...
  8. Problem mit dem Wartebereich in MS Teams - Niemand soll warten

    in Microsoft Teams Hilfe
    Problem mit dem Wartebereich in MS Teams - Niemand soll warten: Hallo zusammen, wir planen eine Besprechung mit externen Referenten und Teilnehmern. Dazu haben wir einen Teams-Termin erstellt und den Link sowohl dem Referenten, als auch den Teilnehmern...
  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