[Access VBA] Bericht auf beliebigem Drucker

Hallo *,

ich Suche eine Lösung für Access 2000 auf Win2K, mit der ich einen Bericht auf einen beliebigen Drucker ausgeben kann. Die Ausgabe auf den Standarddrucker funktioniert wunderbar. Nun soll aber vor dem Ausdruck ausgewählt werden können, welcher installierter Drucker für den Ausdruck verwendet werden soll. Hintergrund: Der Anwender soll z.B. in einer Dialogbox wählen können, ob er einen Papier-Ausdruck oder ein PDF-Dokument erstellen möchte.

Ein PDF-Drucker ist installiert. Die manuelle, vorübergehende Änderung des Standard-Druckers über die Systemsteuerung scheidet aus, weil der Anwender darauf keinen Zugriff hat. Auch die Ausgabe des Berichtes in eine Datei, die dann manuell in PDF gewandelt wird, kommt nicht in Frage. Die Lösung soll möglichst weitgehend automatisiert laufen.

Im Idealfall wird die erstellte PDF-Datei mit einem definierten Text an einen ebenso definierten Empfänger per Email versendet. Auf dem System ist Outlook 2000 installiert, der Email-Verkehr läuft ausschließlich über einen Exchange-Server. SMTP ist nicht erlaubt. Dies wäre aber wirklich das Tüpfelchen auf dem i. Wesentlich wichtiger ist die Drucker-Auswahl. Hier komme ich einfach nicht weiter.

Ein weiteres kleines Access-Problemchen konnte ich bisher auch noch nicht lösen. Ich verwende immer ein und denselben Bericht. Die Daten kommen aber für jeden Ausdruck aus einer anderen Abfrage. Nun soll im Berichts-Kopf ein Text individueller Text erscheinen. Ich stelle mir vor, dass man in einer VB-Funktion einen String definiert, der im Bericht ausgegeben wird. Das ist mir aber noch nicht gelungen.

Viele Worte, kurze Frage: Hast Du eine Idee, wie ich diese Aufgaben lösen kann?

Hallo Joachim.

In Excel kann man eine Tabelle ausdrucken mit der PrintOut-Methode

Ausdruck.PrintOut(From, To, Copies, Preview, ActivePrinter, PrintToFile, Collate, PrToFileName)

Bei ActivePrinter kannst Du den Drucker selber festlegen, indem Du einfach die Zeichenfolge genau so dort hinschreibst, wie sie auch im Drucken-Dialog steht (Im Code muss sie dann in Anführungszeichen)

Ich kenne mich mit Access überhaupt nicht aus, aber ich denke, es wird auch dort dieselbe Methode geben.

Kannst Du ja mal ausprobieren.

Viele Grüße
Carsten

Hallo Carsten,

leider komme ich damit nicht weiter, denn Access bietet - wenn ich bisher nichts übersehen habe - diese Möglichkeit zur Druckerauswahl nicht. Auch in der Hilfe zu VBA 6 habe ich nichts gefunden :frowning:

Joachim

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

Vielleicht habe ich hier etwas Passendes gefunden. Unter diesem Link

http://www.aboutvb.de/khw/artikel/khwappprinter.htm

scheint die Funktion realisiert zu sein, die ich benötige. Ich scheitere aber an der Umsetzung des VBS-Codes in VBA.

Ebenso komme ich mit dieser Anleitung nicht zurecht, die sich wohl direkt auf VBA bezieht:

http://www.aboutvb.de/vba/artikel/vbaprinterlist.htm

kann mir vielleich jemand telefonisch helfen - (Telefon)Kosten übernehme ich :wink:

Joachim

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]