Windows 8 Access 2010 VBA acFormatPDF

Hallo!
Unter Access 2010, Windows 7 funktioniert folgender Befehl einwandfrei:

DoCmd.OutputTo acOutputReport, ValReport, acFormatPDF, strOutputFile, True, False, False, acExportQualityPrint

Derselbe Befehl ausgeführt unter Windows 8 produziert den Fehler Nr. 13: „Typen unverträglich“.

Gibts dazu Lösungsvorschläge?

PS: Ich exportiere einen Report nach PDF.

Vielen Dank im Voraus!
Martin

Hallo Martin,

vorab, ich habe kein W8, kann also auch nur raten :smile: aber ‚Fehler Nr. 13: „Typen unverträglich“‘ kann nach meiner Meinung nur in drei Richtungen zeigen

  1. Du hast einen Fehler in der Namenserzeugung für Dein PDF (zumindest für W8…) --> Schau Dir den Namen noch mal genauer an… also Pfad + Name

  2. PDF-Erzeugung mit API sind stark Druckertreiberabhängig… also unter Windows zumindest. Manchmal kommt es vor, das der Versuch, Daten im ‚Nichtdruckbaren Bereich‘ auszugeben diesen Fehler auslöst --> Check mal die Einstellungen von Deinem Report, ob die Seiteneinstellungen evtl. zu lang oder zu breit gewählt sind und vergleiche diese Werte mit dem Standarddrucker und seinen Einstellungen.

  3. Du hast wirklich ein korruptes Datenfeld… aber dann hätte es eigentlich unter W7 auch schon rappeln müssen.

Es tut mir leid, das ich hier nur raten kann, hoffe aber, das es Dir etwas hilft.
Ich werde mal meine Augen und Ohren offen halten und sobald ich was erfahre, lege ich nach.

Bis dahhin,
Burkhard

Hallo Burkhard!

Zuerst mal: Danke für die schnelle Antwort.

Ich habs gefunden:
Da meine Anwendung in Mehrbenutzerumgebungen mit einem SQL Server im Hintergrund läuft filtere ich den korrekten Datensatz über die IP-Adresse des Rechners.

Und zwar bisher erst im Bericht:
me.recordsource=„SELECT * FROM dbo.uft_rptRechnung(“ & strIP & „)“.

Das ist aber anscheinend zu langsam.
Daher übergebe ich diesen String nun vorbereitet aus dem Formular: me.Recordsource= strDatenquelle (wobei dieser String dasselbe wie oben ist, nur eben schon mit der IP statt dem Platzhalter).

Nun funktionierts auch in Windows 8 (bitte um Entschuldigung an alle Win8 Enthusiasten wegen des vermeintlichen Fehlers).

Martin

Hallo,

ich denke mal, das der vorletzte Parameter nicht korrekt ist.


The type of character encoding format you want used to output the text or HTML data. You can select MS-DOS, Unicode, or Unicode (UTF-8). The MS-DOS argument setting is available only for text files. If you leave this argument blank, Access outputs the data by using the Windows default encoding for text files and the default system encoding for HTML files.

da wird kein boolscher Wert erwartet.
Definitiv kann ich das aber nicht ausprobieren, da ich kein Win8 zur Verfuegung habe.

Tschau
Peter

Hallo Martin,

tut mir leid,mit Windows 8 hab ich keinerlei Erfahrung

Gruß
JOGI

Hallo Martin,
Entschuldige die verspätete Antwort, ich musste erst meinen alten Compi mit W8 Preview drauf ausgraben (ich bin bei W7 geblieben und dein Code funktionierte damit einwandfrei).
Auch in W8 Preview konnte ich höchstens LZF 2501 produzieren wenn eine der Variablen falsch war. LZF 13 ist leider eine ziemlich unbestimmte Fehlermeldung. Am häufigsten tritt sie auf wenn in neueren Access Version nicht explizit zwischen DAO und ADO Database und Recordset unterschieden wird, aber dies ist ja bei einem Report Aufruf eher unwahrscheinlich. Lass dir doch mal im Direktfenster ValReport und strOutputFile anzeigen und sende sie mir, vielleicht finde ich dann etwas raus.
Gruss
Fonti46

Hallo Martin,

kann Dir leider nicht helfen, da ich noch keine DB mit Acc2013 entwickelt habe.
Warte noch auf den ersten Kunden.

Schade, habe auch bei Kollegen nachgefragt, kein Ergebnis.

Grüße