Lies diesen Artikel und viele weitere mit einem kostenlosen, einwöchigen Testzugang.
Berichte bieten zwei Möglichkeiten, Daten hierarchisch zu strukturieren: per Unterbericht oder durch sogenannte Gruppierungen. Letztere ermöglicht es beispielsweise, alle Bestellungen eines Kunden anzuzeigen und zu jeder Bestellung auch noch die Bestelldetails mit den Artikeln anzuzeigen oder alle Artikelkategorien mit den dazugehörigen Artikel zu präsentieren. Gruppierungen erlauben dabei eine ganze Reihe von Einstellungen, die dieser Artikel vorstellt.
Beispieldatenbank
Die Beispiele dieses Artikels finden Sie in der Datenbank 1203_GruppierungenInBerichten.mdb.
Datenherkunft für Gruppierungen
Voraussetzung für die gruppierte Ansicht von Daten in einem Access-Bericht ist eine entsprechend vorbereitete Datenherkunft. Dabei kann es sich um eine Tabelle oder auch um eine Abfrage handeln – je nachdem, ob die Tabelle bereits alle für eine anschauliche Gruppierung nötigen Daten enthält. Wenn Sie beispielsweise alle Artikel der Tabelle tblArtikel der Beispieldatenbank nach Lieferanten gruppiert anzeigen möchten, sollte die Tabelle auch alle anzuzeigenden Daten liefern. Im Falle der Artikel aus Bild 1 funktioniert das: Die Tabelle selbst enthält zwar nur ein Fremdschlüsselfeld zum Festlegen eines Datensatzes der verknüpften Tabelle tblLieferanten, aber Access erkennt in Berichten automatisch auch die im Nachschlagefeld angezeigten Daten. Und dabei wird noch nicht einmal ein Kombinationsfeld angezeigt (das in einem Bericht ja ohnehin nicht funktioniert), sondern ein Textfeld.
Bild 1: Diese Daten reichen, um Artikel nach Lieferant gruppiert darzustellen.
Wenn die Daten für den Aufbau der Gruppierung im Bericht hingegen aus mehreren Tabellen stammen, müssen Sie eine geeignete Abfrage erstellen. Im zweiten Beispiel weiter unten werden wir in einem Bericht alle Kunden samt Bestellungen und Bestellpositionen anzeigen. Dazu benötigen wir dann bereits eine Abfrage, die auf den Tabellen tblKunden, tblBestellungen und tblBestelldetails basiert (eigentlich wäre auch noch tblArtikel gefragt, aber den Artikelnamen beziehen wir aus dem entsprechenden Nachschlagefeld der Tabelle tblBestelldetails).
Aufbau einer Gruppierung
Eine Gruppierung in einem Access-Bericht ist immer dann sinnvoll, wenn Sie Daten aus hierarchisch aufgebauten Tabellen strukturiert anzeigen möchten. Ein einfacher Fall ist das oben beschriebene Beispiel der Lieferanten und Artikel. Der Bericht soll jeweils in einem Kopfbereich alle Lieferanten anzeigen und unterhalb des Kopfbereichs, auch Gruppenkopf genannt, alle Artikel liefern, die der jeweilige Lieferant anbietet.
Um einen solchen Bericht aufzubauen, fügen Sie einem neuen, leeren Bericht in der Entwurfsansicht zunächst die Tabelle tblArtikel als Wert für die Eigenschaft Datenherkunft hinzu.
Der Bericht zeigt nicht automatisch einen entsprechenden Gruppenkopf an, da er ja noch gar nicht weiß, dass er gruppierte Daten anzeigen soll. Dies teilen wir ihm aber gleich mit, und zwar im Bereich Gruppieren, Sortieren und Summe unterhalb des Berichts (Access 2007 und jünger) beziehungsweise im Dialog Sortieren und gruppieren (Access 2003 und älter). Diesen Bereich öffnen Sie in allen aktuelleren Access-Versionen über den Kontextmenü-Eintrag Sortieren und gruppieren eines der Köpfe der Berichtsbereiche (siehe Bild 2).
Bild 2: Mit diesem Kontextmenüeintrag öffnen Sie den Dialog Sortieren und gruppieren.
Gruppieren unter Access 2003 und älter
Unter Access 2003 und älter finden Sie den kleinen, übersichtlichen Dialog aus Bild 3 vor, wenn Sie eine Gruppierung anlegen möchten. Dieser Dialog zeigt im oberen Teil eine Liste aller vorhandenen Sortierungen und Gruppierungen an und im unteren Bereich die Eigenschaft des jeweils oben markierten Eintrags.
Bild 3: Der Dialog zum Anlegen und Anpassen von Gruppierungen unter Access 2003 und älter
Wenn Sie wissen, nach welchem Feld Sie die Gruppierung aufbauen möchten, wählen Sie dieses Feld in der Spalte Feld/Ausdruck aus. Eine Gruppierung ist immer auch eine Sortierung, also legen Sie in der rechten Spalte fest, ob die Sortierung aufsteigend oder absteigend erfolgen soll.
Bislang haben Sie nur eine Sortierung angelegt, denn es fehlt das entscheidende Element der Gruppierung: der Gruppenkopf und/oder der Gruppenfuß. Damit den beiden Eigenschaften Gruppenkopf und Gruppenfuß legen Sie fest, welche zusätzlichen Bereiche je Gruppe angezeigt werden sollen. Wenn Sie dies nicht tun, werden die Datensätze lediglich nach dem angegebenen Feld sortiert.
Stellen Sie hingegen den Wert Gruppenkopf oder Gruppenkopf auf Ja ein, wird im gleichen Moment ein entsprechender Bereich im Berichtsentwurf eingeblendet.
Diesen sollten Sie tunlichst nutzen, um dort Daten bezüglich des Gruppierungsfeldes anzugeben – beispielsweise also das Feld LieferantID. Bild 4 zeigt den Entwurf eines Bericht mit einer Gruppierung nach dem Lieferanten. Das bedeutet, dass für jeden Lieferanten ein neuer Gruppenkopf angezeigt wird, der den Namen des Lieferanten enthält. Nach dem Gruppenkopf folgen die Artikel, deren Lieferant dem im Gruppenkopf angezeigten Lieferant entsprechen – hier mit Artikelname und Einzelpreis. Lieferanten, die für keinen Artikel als Lieferant angegeben wurden, erscheinen in keinem Gruppenkopf.
Bild 4: Entwurf eines Berichts mit einem einfachen Gruppenkopfbereich
Ende des frei verfügbaren Teil. Wenn Du mehr lesen möchtest, hole Dir ...
Testzugang
eine Woche kostenlosen Zugriff auf diesen und mehr als 1.000 weitere Artikel
diesen und alle anderen Artikel mit dem Jahresabo