Home > Artikel > Ausgabe 3/2018 > Tabellerische Berichtslayouts

Tabellerische Berichtslayouts

Achtung: Sie sind nicht angemeldet. Wenn Sie Abonnent sind und sich anmelden, lesen Sie den kompletten Artikel, laden das PDF herunter oder probieren die Beispieldatenbank aus (sofern vorhanden).

Wenn Sie die Felder der Datensatzquelle eines Berichts aus der Feldliste in den Bericht ziehen, landen diese dort immer in der gleichen Anordnung – nämlich untereinander und mit Beschriftungsfeldern versehen. Zum Glück bietet Access seit einiger Zeit Funktionen, mit denen Sie das Layout dieser Elemente im Berichtsentwurf schnell hin- und herschalten können. Dieser Artikel zeigt, wie das funktioniert.

Beispieldatenbank

Die Beispiele dieses Artikels finden Sie in der Datenbank 1803_Berichtslayouts.accdb.

Steuer­elemente zum Bericht hinzufügen

Wir gehen davon aus, dass Sie die Daten einer einfachen Tabelle wie etwa der Tabelle tblKunden in einem Bericht ausgeben möchten. Daher legen wir einen neuen Bericht namens rptKunden an (über den Ribbonbefehl Erstellen|Berichte|Berichtsentwurf) und weisen diesem als Datensatzquelle die Tabelle tblKunden zu.

Dann zeigen wir durch einen Klick auf den Ribboneintrag Entwurf|Tools|Vorhandene Felder hinzufügen die Feldliste an und ziehen die dort noch zu markierenden Felder per Drag and Drop in den Detailbereich des Berichtentwurfs (siehe Bild 1).

Einfügen der Felder in den Detailbereich des Berichts

Bild 1: Einfügen der Felder in den Detailbereich des Berichts

Hier erhalten wir nun die Standardanordnung – die Felder landen untereinander im Bericht und erhalten auf der linken Seite passende Bezeichnungsfelder.

Nun möchten wir allerdings eine tabellarische Anordnung erzeugen, das heißt, wir wollen beispielsweise alle Bezeichnungsfelder am unteren Rand des Bereichs Seitenkopf anordnen und die Textfelder nebeneinander im Detailbereich – und zwar so, dass die Textfelder genau unter dem jeweiligen Bezeichnungsfeld landet und diese auch jeweils genau gleich breit sind. Wer schon mit Access in älteren Versionen gearbeitet hat, weiß, dass man dies früher tatsächlich von Hand erledigen musste.

Anorden mit Layout

Seit einigen Access-Versionen gibt es jedoch die Möglichkeit, dies auf einfachere Weise zu realisieren. Dazu markieren Sie zunächst alle betroffenen Steuer­elemente, wobei es ausreicht, die gebundenen Steuer­elemente zu berücksichtigen. Dann wählen wir im Ribbon das Tab Anordnen aus, wo wir in der Gruppe Tabelle die beiden Einträge Gestapelt und Tabelle finden (siehe Bild 2).

Markieren aller Felder und Anwenden eines Layouts

Bild 2: Markieren aller Felder und Anwenden eines Layouts

Hier wollen wir den Eintrag Tabelle anklicken, der das Resultat aus Bild 3 verursacht. Es wurde als Erstes ein Rahmen um alle Elemente gezogen, den Sie an dem Symbol oben links auf dem Formular bewegen können – momentan allerdings nur nach links und nach rechts, da die Elemente die aktuellen Berichtsbereiche nicht verlassen können. Alle Bezeichnungsfelder wurden in den Seitenkopf-Bereich verschoben, während die Textfelder im Detailbereich verblieben sind. Außerdem wurden die Elemente wie gewünscht in tabellarischer Form nebeneinander angeordnet statt wie zuvor übereinander. Schon jetzt hat uns dieser einfache Mausklick also eine Menge manueller Arbeit abgenommen.

Anwendung des Layouts Tabelle

Bild 3: Anwendung des Layouts Tabelle

Welche Möglichkeiten ergeben sich daraus noch? Zunächst einmal können wir die Breiten von Bezeichnungsfeld und Textfeld anpassen und das jeweils andere Element wird, da es an die gleiche Spalte im Raster gebunden ist, automatisch mit angepasst.

Ein Doppelklick auf den rechten oder linken viereckigen Griff eines der Bezeichnungsfelder oder Textfelder passt die Breite automatisch an den Inhalt an. Das hilft hier natürlich nur bedingt weiter, da wir ja den Inhalt der Textfelder in der Entwurfsansicht nicht kennen – wir kommen jedoch später auf dieses Feature zurück.

Wenn die Überschriften zu hoch landen

Wenn der Seitenkopf des Berichts beim Anlegen des tabellarischen Layouts eine zu große Höhe hatte, legt Access die Spaltenüberschriften ganz oben in diesem Bereich an. Das sieht dann beispielsweise wie in Bild 4 aus. Wie können wir dieses Layout retten und die Spaltenüberschriften weiter unten platzieren, nämlich direkt am unteren Rand des Seitenkopf-Bereichs? Dazu sind nur wenige Handgriffe nötig.

Missglücktes Layout

Bild 4: Missglücktes Layout

Als Erstes sorgen Sie dafür, dass nur noch die obere Reihe mit den Bezeichnungsfelder markiert ist. Dazu ziehen Sie einfach mit der Maus einen Rahmen auf, der alle Bezeichnungsfelder erfasst (siehe Bild 5).

Markieren der Bezeichnungsfelder

Bild 5: Markieren der Bezeichnungsfelder

Dann greifen Sie einen der viereckigen Griffe unten an den Bezeichnungsfeldern und ziehen diesen nach unten, bis der untere Rand etwa mit dem unteren Rand des Seitenkopfes abschließt (siehe Bild 6).

Vergrößern durch Ziehen nach unten

Bild 6: Vergrößern durch Ziehen nach unten

Das Zwischenergebnis sieht nun wie in Bild 7 aus. Die Bezeichnungsfelder haben nun eine Höhe, die etwa der Höhe des Seitenkopf-Bereiches entspricht. Das ist natürlich nicht das Ziel – wir wollen ja die Höhe beibehalten, aber die Bezeichnungsfelder sollen am unteren Rand des Seitenkopf-Bereiches landen.

Zwischenergebnis: Vergrößerte Bezeichnungsfelder

Bild 7: Zwischenergebnis: Vergrößerte Bezeichnungsfelder

Dazu ist der letzte Schritt nötig, bei dem wir einen der oberen viereckigen Griffe mit der Maus anklicken und nach unten ziehen – soweit nach unten, bis die Bezeichnungsfelder die gewünschte Höhe erreichen. Das Ergebnis sieht dann wie in Bild 8 aus.

Herstellen der alten Höhe

Bild 8: Herstellen der alten Höhe

Von Bereich zu Bereich

Was tun, wenn Sie die Spaltenüberschriften gar nicht im Seitenkopf-Bereich haben möchten, sondern in einem Gruppenkopf-Bereich? Dazu fügen wir als Erstes eine Gruppierung hinzu, beispielsweise nach dem Anfangsbuchstaben des Kunden-Codes. Dazu fügen wir über den Bereich unter dem Berichtsentwurf eine neue Gruppierung hinzu und stellen für die Eigenschaft Gruppieren nach das Feld KundenCode ein und für die Eigenschaft mit dem Wert nach Gesamtwert in nach dem ersten Zeichen um. Die Option mit Kopfzeilenbereich dürfte bereits aktiviert sein. Es erscheint nun auch der gewünschte Gruppenkopf-Bereich, dem wir ein Textfeld mit dem Steuerelementinhalt =Left(KundenCode;1) hinzufügen – so zeigt dieses den ersten Buchstaben des Kundencodes für die jeweilige Gruppierung an. Wir wollen nun möglichst einfach die Spaltenüberschriften, die sich aktuell im Seitenkopf-Bereich befinden, in den neu angelegten Gruppenkopf-Bereich überführen (siehe Bild 9).

Hinzufügen einer Gruppierung plus Gruppenkopf-Bereich 

Bild 9: Hinzufügen einer Gruppierung plus Gruppenkopf-Bereich 

Das versuchen wir zu erreichen, indem wir zunächst alle Bezeichnungsfelder markieren – und zwar durch das Aufziehen eines Rahmens mit der Maus um alle betroffenen Elemente. Dann betätigen wir die Tastenkombination Strg + X, um die Elemente aus dem Seitenkopf-Bereich auszuschneiden, markieren den Zielbereich, also den neuen Gruppenkopf-Bereich, unf betätigen dann die Tastenkombination Strg + V, um den Inhalt der Zwischenablage dort einzufügen.

Das gelingt auch, allerdings haben wir nun nicht mehr einen Layout-Bereich, sondern gleich zwei – einen mit den Spaltenüberschriften und einen mit den Textfeldern.

Das wäre an dieser Stelle kein Problem, wenn Sie die Breite der Spalten schon angepasst hätten. Dies ist allerdings noch nicht geschehen. Wenn wir nun etwa die Breite eines der Textfelder vergrößern, wirkt sich dies nicht mehr automatisch auf die Breite der Spalte aus.

Es gibt leider auch keine Möglichkeit, die Spaltenköpfe beim erstmaligen Erstellen des Tabelle-Layouts in einen anderen Bereich zu schreiben – selbst, wenn wir zuvor den Bereich Seitenkopf ausblenden, wird dieser beim Erstellen des Tabelle-Layouts wieder eingeblendet und die Spaltenüberschriften landen dort.

Spaltenüberschriften per Trick verschieben

Sie haben das Ende des frei verfügbaren Teil dieses Artikels erreicht!

Wenn Sie mehr lesen und auf viele weitere Artikel zugreifen möchten, melden Sie sich als Abonnent unter Login an. Falls nicht, bestellen Sie doch einfach ein Jahresabonnement!