Benutzer mit den meisten Antworten
Zuweisung Drucker / Papierschacht

Frage
-
Hallo,
ich muss verschiedene Reports an verschiedenen Druckern bzw. Papierschächten drucken. Bisher habe ich die Reports jeweils mehmals dupliziert und den jeweiligen Drucker / Schacht zugewiesen. Nach Änderungen am Report musste alles wieder neu dupliziert und zugewiesen werden,.nach jedem Druckertausch ebenfalls.
Nun habe ich alles so umgebaut, dass die Anwender über Comboboxen für jeden Report einen Drucker auswählen können (Standarddrucker ändern -> Drucken -> Standarddrucker zurücksetzen). Drucker mit mehreren Papierschächten habe ich je Schacht einmal installiert.
Die Drucker zuweisung funktioniert, aber die Schachtzuweisung nicht, die Reports kommen immer auf dem Standardschacht. Als ob im Report "Standardschacht" gespeichert ist und die Druckereinstellung überschreibt.
Gibt es dafür eine Lösung? Oder muss ich alles wieder zurück ändern?
Danke & Gruß
Thomas
Antworten
-
Thomas Warnke wrote:> ...> über Comboboxen> für jeden Report einen Drucker auswählen können (Standarddrucker> ändern -> Drucken -> Standarddrucker zurücksetzen). Drucker mit> mehreren Papierschächten habe ich je Schacht einmal installiert.>> Die Drucker zuweisung funktioniert, aber die Schachtzuweisung nicht,> die Reports kommen immer auf dem Standardschacht. Als ob im Report> "Standardschacht" gespeichert ist und die Druckereinstellung überschreibt.> ...Joo, Probleme dieser Art sind bekannt.Manchmal hilft es, nicht den Standarddrucker zu ändern, sonderndirekt den Drucker des Berichtes. Also z.B.DoCmd.OpenReport "MeinBericht", acViewPreview, , , acHiddenReports!MeinBericht.Printer = Application.Printers("MeinDrucker")'wenn das nicht klappt/reicht, kannst du hier auch versuchen, den'Schacht zuzuweisen, s. die Konstanten in <F1> für "PaperBin" z.B.'Reports!MeinBericht.Printer.PaperBin = acPRBNAutoDoCmd.OpenReport "MeinBericht", acViewNormalDoCmd.Close acReport, "MeinBericht", acSaveNo--ServusKarl*********Access-FAQ: http://www.donkarl.com
- Als Antwort markiert Thomas Warnke Freitag, 20. Juli 2012 07:42
Alle Antworten
-
Thomas Warnke wrote:> ...> über Comboboxen> für jeden Report einen Drucker auswählen können (Standarddrucker> ändern -> Drucken -> Standarddrucker zurücksetzen). Drucker mit> mehreren Papierschächten habe ich je Schacht einmal installiert.>> Die Drucker zuweisung funktioniert, aber die Schachtzuweisung nicht,> die Reports kommen immer auf dem Standardschacht. Als ob im Report> "Standardschacht" gespeichert ist und die Druckereinstellung überschreibt.> ...Joo, Probleme dieser Art sind bekannt.Manchmal hilft es, nicht den Standarddrucker zu ändern, sonderndirekt den Drucker des Berichtes. Also z.B.DoCmd.OpenReport "MeinBericht", acViewPreview, , , acHiddenReports!MeinBericht.Printer = Application.Printers("MeinDrucker")'wenn das nicht klappt/reicht, kannst du hier auch versuchen, den'Schacht zuzuweisen, s. die Konstanten in <F1> für "PaperBin" z.B.'Reports!MeinBericht.Printer.PaperBin = acPRBNAutoDoCmd.OpenReport "MeinBericht", acViewNormalDoCmd.Close acReport, "MeinBericht", acSaveNo--ServusKarl*********Access-FAQ: http://www.donkarl.com
- Als Antwort markiert Thomas Warnke Freitag, 20. Juli 2012 07:42
-
Hallo,
danke, das funktioniert. Ein Problem habe ich noch bei Verwendung der WhereCondition. Am Bildschirm werden nur die gefilterten Daten gezeigt, auf dem Ausdruck ist der Filter aber wieder weg.
Ich mache es jetzt mit PrintOut, spricht etwas dagegen?
Appilcation.Echo False
DoCmd.OpenReport "MeinBericht", acViewPreview, , strMeinFilterReports!MeinBericht.Printer = Application.Printers("MeinDrucker")DoCmd.PrintOutDoCmd.Close acReport, "MeinBericht", acSaveNo
Appilcation.Echo TrueGruß
Thomas
-
Thomas Warnke wrote:> ...> danke, das funktioniert. Ein Problem habe ich noch bei Verwendung der> WhereCondition. Am Bildschirm werden nur die gefilterten Daten> gezeigt, auf dem Ausdruck ist der Filter aber wieder weg.>> Ich mache es jetzt mit PrintOut, spricht etwas dagegen?>> Appilcation.Echo False> DoCmd.OpenReport "MeinBericht", acViewPreview, , strMeinFilter> Reports!MeinBericht.Printer = Application.Printers("MeinDrucker")> DoCmd.PrintOut> DoCmd.Close acReport, "MeinBericht", acSaveNo> Appilcation.Echo TrueNaa, passt schon.Das Echo True solltest du auf jeden Fall auch noch in eineFehlerbehandlung einbinden. Sonst friert die Anwendung ein,wenn etwas mit dem Bericht schief geht.--ServusKarl*********Access-FAQ: http://www.donkarl.com