ACCESS, VBA soll warten
Ich habe mehrere Hinweise gefunden, wie in VBA auf das Ende eines Programmaufrufes über z.B. shell("...") gewartet werden kann, bevor das VBA-Script weiter ausgeführt werden kann. Mein Problem, wie kann ich VBA zum Warten veranlassen, wenn keine externen Programme, sondern "Access-eigene" Kommandos ausgeführt werden wie z.B.:
"...
If RnrFestlegenUndNeueEintragen = 1 Then
DoCmd.OpenReport "R_RechnungAnKtr", acViewPreview
OKFrageRechnungDebitor
..."
öffnet die Preview (und zeigt die Vorschau auch an), das VBA-Script arbeitet aber sofort weiter. Die Funktion
---> OKFrageRechnungDebitor<----
(oder eine beliebige andere) wird nicht erst nach dem Schliessen des Reports ausgeführt, sondern sofort nach dem
Öffnen des Reports und danach die folgenden Script-Zeilen.
Ich möchte aber den Report sehen, dort z.B. Drucker einstellen oder verschieden viele Ausdrucke vornehmen o.ä. und
erst dann, NACH DEM SCHLIESSEN DES REPORTS, die Funktion >>> OKFrageRechnungDebitor <<< ausführen.
Vielen Dank für jede Hilfe
PCFJKG
"...
If RnrFestlegenUndNeueEintragen = 1 Then
DoCmd.OpenReport "R_RechnungAnKtr", acViewPreview
OKFrageRechnungDebitor
..."
öffnet die Preview (und zeigt die Vorschau auch an), das VBA-Script arbeitet aber sofort weiter. Die Funktion
---> OKFrageRechnungDebitor<----
(oder eine beliebige andere) wird nicht erst nach dem Schliessen des Reports ausgeführt, sondern sofort nach dem
Öffnen des Reports und danach die folgenden Script-Zeilen.
Ich möchte aber den Report sehen, dort z.B. Drucker einstellen oder verschieden viele Ausdrucke vornehmen o.ä. und
erst dann, NACH DEM SCHLIESSEN DES REPORTS, die Funktion >>> OKFrageRechnungDebitor <<< ausführen.
Vielen Dank für jede Hilfe
PCFJKG
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 70536
Url: https://administrator.de/forum/access-vba-soll-warten-70536.html
Ausgedruckt am: 24.01.2025 um 05:01 Uhr
2 Kommentare
Neuester Kommentar
du erstellst eine globale integervariable
global mein_bericht_ist _offen as integer
vor dem aufruf des Berichts setzt du die Variable auf true
im Report setzt du die Variable beim Schließen des Reports wieder auf false
in deiner prozedur wartest du einfach mit einem Schleiferl auf das ende ....
mein_report_ist_offen=true
docmd.openreport "xxx",acviewpreview
while mein_report_ist_offen
doevents
wend
und weiter geht´s im Programm
Ist simpel, funktioniert aber bis dato in allen Access-Versionen (ab Access 97)
global mein_bericht_ist _offen as integer
vor dem aufruf des Berichts setzt du die Variable auf true
im Report setzt du die Variable beim Schließen des Reports wieder auf false
in deiner prozedur wartest du einfach mit einem Schleiferl auf das ende ....
mein_report_ist_offen=true
docmd.openreport "xxx",acviewpreview
while mein_report_ist_offen
doevents
wend
und weiter geht´s im Programm
Ist simpel, funktioniert aber bis dato in allen Access-Versionen (ab Access 97)