Bericht über verschiedene Druckerschächte ausgeben

Datenbank

Access bietet standardmäßig keine Möglichkeit, die erste Seite und die Folgeseiten eines Berichtes jeweils über unterschiedliche Schächte eines Druckers auszugeben. Basierend auf der Lösung für die Ausgabe eines Berichtes auf einem beliebigen Drucker, können Sie dieses Manko aber schnell beheben.

Für die Festlegung der zu verwendenden Papierschächte stellt das „Printer“-Objekt eine Eigenschaft „PaperBin“ zur Verfügung. Diese Eigenschaft lässt sich auf eine Konstante wie z. B.„acPRBNUpper“, „acPRBNManual“ oder „acPRBNCassette“ setzen und es lässt sich so gezielt bestimmen, aus welchem Schacht das Papier für den Ausdruck eingezogen werden soll. Die möglichen Einstellungen werden im Formular „Drucken über verschiedene Schächte“ über die Kombinationsfelder SCHACHT 1. SEITE und SCHACHT FOLGESEITEN zur Auswahl angezeigt.

Für die Steuerung der Druckausgabe wird die Möglichkeit genutzt, bei der Anweisung „DoCmd.PrintOut“ die Parameter „PrintPages“ und „PageFrom“ beziehungsweise „PageTo“ angeben zu können. Der entsprechende Ausschnitt der Ereignisprozedur „Beim Klicken“ der Schaltfläche DRUCKEN sieht folgendermaßen aus:

R.Printer.PaperBin = Me.clSchachtErste

Zunächst wird der Schacht für die Ausgabe der ersten Seite auf die in der Liste SCHACHT 1. SEITE gewählte Einstellung gesetzt.

DoCmd.SelectObject acReport,strReport, False
DoCmd.PrintOut acPages, 1, 1

Der Bericht wird selektiert und derAusdruck gestartet, wobei die Parameter „acPages, 1, 1“ ihn auf die erste Seite beschränken.

R.Printer.PaperBin = Me.clSchachtRest
DoCmd.PrintOut acPages, 2, 999

Anschließend werden die Einstellungen für die Folgeseiten aus dem Kombinationsfeld in die Eigenschaft „PaperBin“ übertragen und die restlichen Seiten ausgedruckt. Wenn Sie Berichte mit mehr als 999 Seiten haben, erhöhen Sie den Wert für „PageTo“ einfach auf „9999“. Sind mehr Seiten angegeben, als der Bericht umfasst, ignoriert Access diesen Umstand und löst keinen Laufzeitfehler aus.