PDA

Vollständige Version anzeigen : PDF-Ausgabe von Berichten


Dublette
18.01.2008, 08:27
Hallo zusammen,

bei mir ist grade ein ziemlich blödes Problem aufgetreten. Und zwar habe ich in einer Access-DB einen PDF Export der einen oder mehrere Berichte ausgibt. Das Ganze funktioniert auch solange bis ich den Navigationsbereich ausblenden lasse. Dann kann ich nur noch einen einzelnen Bericht als PDF exportieren. Werden mehrere Berichte ausgewählt bricht er beim 2. mit der Meldung "Laufzeitfehler 2046: Der Befehl oder die Aktion 'AusgabeIn' ist zurzeit nicht verfügbar" ab.

Das Ganze passiert in folgender Zeile:
Call DoCmd.OutputTo(acOutputReport, arrBerichte(i).rpt, acFormatPDF, strDateiname, True, , , acExportQualityPrint)

Zur Info: Im Array arrBerichte stehen die Namen der Berichte die exportiert werden sollen.

Wie gesagt, der Fehler tritt erst auf wenn der Navigationsbereich ausgeblendet wird. Die ganze Zeit vorher funktionierte es tadellos... wollte halt jetzt alles für den Endbenutzer unnötige raushauen und dann sowas :(

Hoffe, dass mir hier einer helfen kann! :)

Sascha Trowitzsch
18.01.2008, 10:06
Ich habe hier gerade keine ACCDB (?) mit mehreren Berichten, um das nachzustellen.
Mir ist nur auch schon aufgefallen, dass diverse Methoden bei den A2007-Berichten fehlschlagen. So lässt sich etwa die Ansicht eines Berichts nicht ohne Weiteres zur Laufzeit per VBA ändern. Auch da kommt die Meldung "Nicht verfügbar" oder "Eigenschaft schreibgeschützt", obwohl sie es nicht ist.
Kannst du mal testen, ob der Fehler auch passiert, wenn du die Berichte jeweils vor dem PDF-Export öffnest und danach schließt?
Also DoCmd.OpenReport arrBerichte(i).rpt > PDF-Export > Docmd.Close acReport, arrBerichte(i).rpt .
Und wenn das geht, dann das Gleiche, aber die Berichte jeweils im Hntergrund mit acHidden geöffnet, damit der User nichts sieht.

Ciao, SAscha

Dublette
18.01.2008, 10:37
Also als hidden geöffnet werden die Berichte schon (und geschlossen natürlich auch). Ich probiers vllt mal sie nicht hidden zu öffnen ...

Edit: Ne geht auch nicht kommt der selbe Fehler. :(

Sascha Trowitzsch
20.01.2008, 22:44
Du öffnest also die Bereichte unsichtbar und lässt dann, quasi parallel, Docmd.OutputTo folgen?
Dieser Vorschlag von mir sollte nur ein Test sein! ;)
Für Docmd.OutputTo muss ein Bericht nicht erst (versteckt) geöffnet werden. Geht auch so. Bzw. möglicherweise führt gerade das zur Meldung "Nicht verfügbar"?!
Versuch's also mal ohne Öffnen.

Ciao, Sascha