pcfjkg
Goto Top

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

Content-Key: 70536

Url: https://administrator.de/contentid/70536

Printed on: April 24, 2024 at 02:04 o'clock

Member: donix05
donix05 Nov 15, 2007 at 00:03:23 (UTC)
Goto Top
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)
Member: PCFJKG
PCFJKG Nov 16, 2007 at 12:10:46 (UTC)
Goto Top
Zunächst herzlichen Dank !

Habe es soeben erst gelesen (will damit sagen, noch nicht ausprobiert). Sieht absolut einleuchtend aus und wird wohl so funktionieren.

Eigentlich hätte man sogar selbst darauf kommen können, aber das ist ja immer so ....

Also, noch einmal Danke und ein schönes Wochenende.

PCFJKG