Hallo,
ich habe seit kurzer Zeit ein merkwürdiges Problem.
Über VBA öffne ich einen Bericht (Rechnung)
DoCmd.OpenReport berichtname, acViewPreview
DoCmd.Maximize
DoCmd.OutputTo acOutputReport, berichtname, acFormatPDF, pfad, False
Diesen drucke ich über einen Menübefehl "Drucken" in einem Kontextmenü.
Normalerweise druckt er den Bericht auch problemlos aus.
In letzter Zeit druckt er statt dem Bericht aber einen Screenshot meiner Anwendung.
Der Bericht ist ein Popup und ich klicke ihn explizit nochmals an um ihn vergrößert anzuzeigen.
Wo könnte hier die Ursache sein ?
Grüße
Joschi
Hallo,
ZitatIn letzter Zeit druckt er statt dem Bericht aber einen Screenshot meiner Anwendung.
Hast Du vielleicht zwischenzeitlich ein Screenshot-Tool installiert oder aktiviert?
Oder hat der Bericht gar nicht den Fokus (ist nicht angeklickt bzw. aktiviert) und das Kontextmenu bezieht sich auf eine anderes Fenster?
Wird denn auch eine korrekte PDF-Datei angelegt?
Ja die PDF wird korrekt angelegt, das Kontextmenü mit dem Befehl Drucken ist im gesamten Programm verfügbar und damit kann ich alle Berichte problemlos ausdrucken.
Es ist auch nicht direkt ein Screenshot sonder er druckt das Hauptfenster der Anwendung.
Der Focus liegt auf dem zu druckenden Bericht.
Da der Bericht maximiert öffnet ist am Bildschirm nichts anderes zu sehen. Ich klicke dann rechte Maustaste für das Kontextmenü.
Mit ist das sehr rätselhaft da das noch in keiner Anwendung passiert ist.
Hallo,
Zitat... das Kontextmenü mit dem Befehl Drucken ist im gesamten Programm verfügbar ...
Das ist m. E. so nicht ganz richtig.
Habe die Situation kurz nachgestellt und erhalte ein Kontextmenü mit "Drucken" nur dann, wenn der Bericht in Seitenansicht geöffnet ist.
Was ist denn das "gesamte Programm". Ist das das Access-Hauptfenster oder ein Formular einer Access-Anwendung?
(A2021 32b)
Der Bericht wird in der Seitenansicht als Popup gebunden geöffnet. Ich kann also nichtmal zu einem anderen Fenster wechseln. Das Hauptformular ist im Hintergrund (kein Popup) und das Formular für die Rechnungserstellung aus der der Bericht aufgerufen wird, ist ebenfalls im Hintergrund (als Popup ungebunden).
Das er das Hauptformular druckt passiert nicht immer, aber relativ oft.
Ok ich habe die Ursache wohl gefunden.
Auf dem Hauptformular befindet sich ein Timer der das Hauptformular jede Minute aktualisiert. Offensichtlich erhält das Hauptformular exakt zu den falschen Druckereignissen den Fokus und dann wird nicht der Bericht sondern das Hauptformular gedruckt.
Dann schalte den Timer vor dem Drucken aus und hinterher wieder ein.