Berichte werden in der Regel so ausgelegt, dass sie immer auf der linken Seite einen Rand zum Abheften haben. Bei den meisten Dokumenten ist das völlig ausreichend, zum Beispiel für Rechnungen oder Angebote. Es gibt jedoch auch wesentlich anspruchsvollere Aufgaben, die mit einer Access-Anwendung samt Bericht erledigt werden. Diese sollen dann so ausgedruckt werden können, dass Vorder- und Rückseite eines Blatts bedruckt werden und beim aufgeklappten Dokument der breitere Rand immer zur Heftung hin zeigt. Auch wenn die dazu notwendigen Einstellungen selten angewendet werden: Es gibt sie und in diesem Beitrag zeigen wir, wie man einen Bericht so druckt, dass die Seiten als Broschüre geheftet werden können.
Bericht vorbereiten
Als Erstes benötigen wir einen geeigneten Bericht. Eigentlich eignet sich dazu jeder Bericht, der vier und mehr Seiten enthält. Als Beispiel verwenden wir einen Bericht, der die Adressen der Mitarbeiter aus unserer Mitarbeiterverwaltung als Liste ausgibt.
Wir erstellen also einen neuen, leeren Bericht, dem wir die Tabelle tblMitarbeiter als Datensatzquelle zuweisen. Wir ziehen die Felder MitarbeiterID, AnredeID, Vorname, Nachname, Strasse, PLZ und Ort in den Detailbereich des Entwurfs.
Dann wollen wir diese möglichst effizient in die Tabellenform überführen, also so, dass die Bezeichnungsfelder als Spaltenüberschriften im Seitenkopf-Bereich landen und die eigentlichen Felder im Detailbereich verbleiben.
Dazu markieren wir alle Steuerelemente und betätigen im Ribbon den Befehl Anordnen|Tabelle|Tabelle (siehe Bild 1).
Bild 1: Hinzufügen und Anordnen der anzuzeigenden Felder
Damit erhalten wir die Ansicht aus Bild 2. Damit können wir bereits fast arbeiten.
Bild 2: Tabelle als Basis unseres Berichts
Wenn wir jedoch in die Seitenansicht wechseln, stellen wir fest, dass wir noch ein paar optische Verbesserungen vornehmen müssen (siehe Bild 3):
Bild 3: Die Optik muss noch optimiert werden.
- Die Zeilen werden noch mit wechselnder Hintergrundfarbe angezeigt.
- Die einzelnen Textfelder haben noch Ränder.
- Die Breite der Textfelder muss noch optimiert werden, damit alle Einträge auf die Breite des bedruckbaren Bereichs passen.
Die wechselnden Hintergründe stellen wir über die Eigenschaft Alternative Hintergrundfarbe ein, der wir den gleichen Wert hinzufügen, den die Eigenschaft Hintergrundfarbe aufweist.
Die Ränder der Textfelder entfernen wir, indem wir diese markieren und die Eigenschaft Rahmenart auf Transparent einstellen. Schließlich wechseln wir in die überaus praktische Layoutansicht des Berichts. Diese zeigt die Daten so an, wie sie auch in der Berichtsansicht erscheinen und so, wie es ungefähr der Seitenansicht entspricht – zumindest bezüglich der Spaltenbreiten. Diese Ansicht bietet aber gleichzeitig die Möglichkeit, Einstellungen an den Elementen vorzunehmen. Dazu gehört auch das Definieren der Spaltenbreiten. Wir brauchen nur wie in Bild 4 den rechten Rand eines der Steuerelemente einer Spalte nach links oder rechts zu ziehen, um die Breite an den Inhalt anzupassen.
Bild 4: Anpassen der Spaltenbreiten
Hier müssen wir die Spaltenbreiten nun insgesamt so verkleinern, dass auf der rechten Seite kein Element mehr aus der gestrichelten Markierung herausragt. Die Spaltenüberschriften der Felder MitarbeiterID und AnredeID ändern wir noch auf ID und Anrede, sodass diese weniger Platz benötigen. Dazu brauchen wir diese nur doppelt anzuklicken und anzupassen. Die Inhalte der Spalte MitarbeiterID, die nun die Überschrift ID trägt, wollen wir außerdem noch linkszentriert ausrichten. Dazu wechseln wir im Ribbon zum Bereich Format|Schriftart, markieren die Spaltenüberschrift und stellen für diese als Ausrichtung Linksbündig ausrichten ein. Das Gleiche erledigen wir dann noch für die Feldinhalte dieser Spalte. Hier sehen wir beim Anklicken eines der Einträge, dass direkt alle Elemente der Spalte markiert werden (siehe Bild 5).
Bild 5: Ausrichten der IDs am linken Spaltenrand
Überschriften hervorheben
Schließlich wollen wir die Überschriften noch fett drucken und unter den Überschriften eine Linie hinzufügen. Das erledigen wir wieder in der Entwurfsansicht (siehe Bild 6). Hier sehen wir gegebenenfalls auch noch, dass die Seite wesentlich breiter als der Platz ist, der durch die Steuerelemente beansprucht wird – in diesem Fall ziehen wir den rechten Seitenrand bis an den rechten Rand des ganz links platzierten Steuerelements heran.
Bild 6: Der Bericht in der Entwurfsansicht
Seitenränder korrekt einrichten
Wechseln wir nun zur Seitenansicht, erhalten wir die Ansicht aus Bild 7. Das sieht schon gut aus, aber der Seitenrand beträgt auf beiden Seiten nur weniger als einen Zentimeter.
Bild 7: Der Bericht in der Seitenansicht
Die genauen Einstellungen finden wir im Dialog Seite einrichten, den wir in der Entwurfsansicht des Berichts im Ribbon unter Seiten einrichten|Seitenlayout mit dem Befehl Seite einrichten aufrufen können. Hier sehen wir nun, dass der Abstand für alle Seiten auf 6,35 Millimeter eingestellt ist (siehe Bild 8).
Bild 8: Dialog zum Einrichten der Seite
Wir werden die Seitenränder gleich ohnehin per VBA einstellen. Dieser soll für den äußeren Rand 10 mm betragen und für den inneren Rand 25 mm. Wenn das keine Rolle spielt, warum gehen wir nicht direkt zur Programmierung der Seitenränder über? Weil wir aktuell links und rechts in Summe nur 13 mm Seitenrand sehen und wir später insgesamt 35 mm benötigen. Das heißt, dass der Inhalt aktuell noch zu viel Platz benötig. Also stellen wir in diesem Dialog zunächst die linke Seite auf 25 mm und die rechte auf 10 mm Seitenrand ein.
Wechseln wir nun zur Seitenansicht, stellen wir fest, dass auf der ersten Seite der rechte Rand der rechten Spalte abgeschnitten wird. Um dies zu korrigieren, wechseln wir erneut zur Layoutansicht und justieren die Spaltenbreiten so, dass diese wieder in den gestrichelt markierten Bereich hineinpassen (siehe Bild 9).
Bild 9: Die Spalten sind aktuell wieder zu breit.
Nach einigen Korrekturen und dem Durchlaufen aller Inhalte zur Prüfung, ob diese noch vollständig sichtbar sind, sieht der Entwurf in der Layoutansicht wie in Bild 10 aus. Lediglich die Linie im Seitenkopf müssen wir hier noch kürzen.
Bild 10: Spalten mit perfekter Breite
Abwechselnde Seitenränder
Danach hat der Bericht die Form, mit der wir in die Programmierung der alternierenden Seitenränder einsteigen können. Das Ziel ist, dass der Seitenrand für die erste Seite links 25 mm beträgt und rechts 10 mm – diese Seite ist die Titelseite. Die zweite und die dritte Seite sollen dann die folgenden Seitenränder aufweisen:
- Zweite Seite: Links 10 mm, rechts 25 mm
- Dritte Seite: Links 25 mm, rechts 10 mm.
- Für die folgenden Seiten wechseln die Seitenränder entsprechend.
Das heißt also: Für alle Seiten mit einer ungeraden Seitennummer beträgt der linke Rand 25 mm und der rechte Rand 10 mm und alle Seiten mit einer geraden Seitennummer erhalten die umgekehrten Seitenränder. Aktuell betragen die Seitenränder für alle Seiten links 25 mm und rechts 10 mm. Das werden wir nun ändern.
Hier nutzen wir das Ereignis Bei Seite (siehe Bild 11). Für diese Prozedur hinterlegen wir zunächst einmal zwei Anweisungen, mit denen wir die Werte für die aktuellen Seitenränder herausfinden. Dazu adressieren wir die Eigenschaften LeftMargin und RightMargin des Printer-Objekts des aktuellen Berichts. Der Code sieht wie folgt aus:
Bild 11: Anlegen einer Ereignisprozedur für das Ereignis Bei Seite
Ende des frei verfügbaren Teil. Wenn Du mehr lesen möchtest, hole Dir ...
den kompletten Artikel im PDF-Format mit Beispieldatenbank
diesen und alle anderen Artikel mit dem Jahresabo