Moin moin,
wenn ich mein Startformular automatisch bei Datenbanköffnung anzeigen lasse, dann funktioniert die PDF-Erzeugung nicht mehr. Es kommt der Fehler
"Fehler 2046 der befehl oder die Aktion AusgabeIn ist zurzeit nicht verfügbar"
DoCmd.OpenReport "rptAuswertung", acViewPreview, , "[Item_Channel] = '" & Me.cboChannelFilter.Value & "' and " & " [Fehlercode] = '" & Me.cboFehlercodeFilter.Value & "'", acHidden
Call SchliessePdf("rptAuswertung.pdf")
[color=red]DoCmd.OutputTo acOutputReport, "rptAuswertung", acFormatPDF, "c:\temp\rptAuswertung.pdf", True[/color]
DoCmd.Close acReport, "rptAuswertung"
Der Debugger macht die rote Zeile gelb und bleibt stehen.
Hat jemand eine Idee woran es liegen könnte? Wenn ich das Formular ganz normal aus dem DBFenster öffne, dann funktioniert alles einwandfrei. Ich habe auch schon ausprobiert, das Formular beim Öffnen über das AutoExec() Makro zu starten, aber das ändert nichts.
Es scheint, als ob bei automatischem Start irgendeine Funktionalität deaktiviert ist :-\
Hallo,
in welchem Ereignis steht der Code?
Private Sub cmdDrucken_Auswertung_Click()
bei klick
Derzeit ist das DB-Navigationsfenster über die Startoptionen deaktiviert. Wenn ich diesen Haken rausnehme, dann funktioniert es wieder problemlos. Der User soll aber nirgendwo rumfummeln können. Wenn ich per
DoCmd.NavigateTo "acNavigationCategoryObjectType"
RunCommand acCmdWindowHide
das NaviFenster schließe, dann geht wieder nichts :-(
ZitatCall SchliessePdf("rptAuswertung.pdf")
Was bedeutet das?
mit Call SchliessePdf("rptAuswertung.pdf") wird eine Function aufgerufen, die überprüft, ob eine pdf mit dem Namen rptAuswertung.pdf geöffenet ist. Falls ja, wird sie geschlossen, damit die neue gespeichert (und die alte damit überschrieben) werden kann.
Hallo,
kann es sein, dass trotz dieser SchliessePDF-Prozedur die PDF-Datei durch irgendein Programm geöffnet ist?
Hi,
Zitatdie überprüft, ob eine pdf mit dem Namen rptAuswertung.pdf geöffenet ist
wie kann man das feststellen, ob eine Datei geöffnet ist?
Hi,
Zitat von: MaggieMay am Juli 14, 2014, 15:31:00
wie kann man das feststellen, ob eine Datei geöffnet ist?
siehe: http://www.access-o-mania.de/forum/index.php?topic=19507.msg107463#msg107463
Analoges Vorgehen ist beschrieben in: http://www.access-o-mania.de/forum/index.php?topic=18124.msg102282#msg102282
nein, kann nicht sein.
es muss irgendetwas mit dem Navigationsfenster zu tun haben bzw. mit "irgendertwas", das beim Laden des NaviFensters gestartet/geladen wird.
Sobald ich das Navifenster standardmäßig bei Öffnen der DB anzeigen lasse, funktioniert alles und der Befehl ist zur pdf-Erzeugung funktioniert. Wenn ich das Navi-Fenster beim Öffnen ausblende, damit der user nichts verändern kann, funktioniert der Befehl nicht mehr.
Jetzt habe ich mir sowas gestrickt. Hier wird das Navifenster vor der pdf Erzeugung geöffnet und danach geschlossen.
Private Sub cmdDrucken_Pivot_Click()
DoCmd.Save acForm, "frm_navigation"
DoCmd.RunCommand acCmdSave
'NaviFenster einblenden
DoCmd.SelectObject acTable, , True
RunCommand acCmdDocMinimize
DoCmd.OpenReport "rpt_Pivot", acViewPreview, , , acWindowNormal
Call SchliessePdf("rpt_Pivot.pdf")
DoCmd.OutputTo acOutputReport, "rpt_Pivot", acFormatPDF, "c:\temp\rpt_Pivot.pdf", True
DoCmd.Close acReport, "rpt_Pivot"
'NaviFenster ausblenden
DoCmd.SelectObject acTable, , True
RunCommand acCmdWindowHide
End Sub