Home > Artikel > Ausgabe 11/2015 > Mehrspaltiger gruppierter Bericht

Mehrspaltiger gruppierter Bericht

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).

Im Artikel Kommunikationsdaten als Bericht in Ausgabe 11-12/2015 haben Sie erfahren, wie Sie mehrere Datensätze mit teilweise gleichen Daten ohne Wiederholungen ausgeben. Dies wollen wir in diesem Artikel verfeinern, indem wir die wiederholt auftretenden Daten gleich in einen Gruppenkopf und nur die eindeutigen Daten im Detailbereich anzeigen. Das ganze verteilen wir noch auf mehrere Spalten und fügen ein paar schicke Icons hinzu – fertig ist die perfekte Telefonliste!

Beispieldatenbank

Die Beispiele dieses Artikels finden Sie in der Datenbank 1511_MehrspaltigerGruppierterBericht.accdb.

Beispieldaten

Die im Bericht darzustellenden Daten stammen aus den drei Tabellen tblKunden, tblKommunikationsdetails und tblKommunikationsarten der Beispieldatenbank, die wir für den Bericht in einer Abfrage wie in Bild 1 zusammengefasst haben (mehr Informationen zu den Basistabellen und dieser Abfrage finden Sie im Artikel Kommunikationsdaten als Bericht).

Herkunftsdaten für den Bericht

Bild 1: Herkunftsdaten für den Bericht

Aufbau des Berichts

Der Bericht soll nicht, wie in oben genanntem Artikel, jeweils eine Zeile pro Kunde plus Kommunikationsart und Kommunikationsdetails (also Telefonnummer, Faxnummer, E-Mail-Adresse et cetera) aufweisen, sondern direkt Name und Firma des Kunden in einer Kopfspalte darstellen und die Daten zu den verschiedenen Telekommunikationsdaten in darunter liegenden Zeilen.

Grundlage: Gruppierung

Die Basis für eine solche Aufteilung ist das Hinzufügen einer Gruppierung inklusive Anzeige eines Gruppenkopf-Bereichs. Nachdem Sie die oben beschriebene Abfrage als Datenherkunft eines neuen, leeren Berichts hinzugefügt haben, legen Sie die benötigte Gruppierung im unteren Bereich an.

Dazu aktivieren Sie den Gruppierungsbereich, sofern noch nicht sichtbar, mit dem Eintrag Sortieren und Gruppieren des Kontextmenüs, das beim Rechtsklick auf einen der Bereichsköpfe erscheint.

Ein Klick auf die Schaltfläche Gruppe hinzufügen fügt die Gruppierung hinzu und aktiviert gleichzeitig den Gruppenkopfbereich für das Feld KundeID (siehe Bild 2).

Hinzufügen der Gruppierung

Bild 2: Hinzufügen der Gruppierung

Gruppenkopf füllen

Damit wir die Spalten recht schmal halten können, wollen wir die Inhalte der Felder Nachname und Vorname sowie die Firma, soweit vorhanden, untereinander darstellen. Dazu legen wir im Kopfbereich ein Textfeld namens txtKontakt an, das den folgenden Steuerelementinhalt aufweisen soll:

=[Nachname] & ", " & [Vorname] & Zchn(13) + Zchn(10) + [Firma]

Warum arbeiten wir hier teilweise mit dem Kaufmanns-Und (&) und teilweise mit dem Plus-Zeichen (+), um die einzelnen Elemente zu verbinden? Weil das Kaufmanns-Und alle Elemente verknüpft, auch wenn eines der Elemente den Wert Null aufweist, und das Plus-Zeichen immer das Ergebnis Null liefert, wenn eines der verknüpften Elemente den Wert Null aufweist.

Der Ausdruck Zchn(13) + Zchn(10) entspricht einem Zeilenumbruch, der dafür sorgt, dass die erste Zeile den Nachnamen und den Vornamen liefert und eine weitere Zeile die Firma.

Sollte die Firma nicht angegeben sein, benötigen wir den Zeilenumbruch nicht. Dadurch, dass wir diesen mit dem Plus-Zeichen mit dem Feld Firma verknüpfen, entfällt der auch der Zeilenumbruch, sollte das Feld Firma den Wert Null enthalten.

Vergrößerbares Textfeld

Wir legen die Höhe des Textfeldes zunächst so an, dass dieses genau eine Zeile aufnimmt. Damit auch die zweite Zeile angezeigt wird, falls eine Firma angegeben wurde, müssen wir die Eigenschaft Vergrößerbar des Textfeldes auf Ja einstellen. Stellen Sie bei dieser Gelegenheit auch sicher, dass diese Eigenschaft für den Kopfbereich der Gruppierung nach dem Feld KundeID ebenfalls den Wert Wahr aufweist (siehe Bild 3).

Feld mit Name und Firma

Bild 3: Feld mit Name und Firma

Ein Wechsel in die Seitenansicht liefert den Bericht aus Bild 4. Das sieht schon fast gut aus – mit kleinen Fehlern: Erstens werden die Einträge noch nicht nach dem Nachnamen und dem Vornamen sortiert, zweitens sollten alle Namen grau hinterlegt werden, damit sich diese von den gleich noch einzufügenden Kommunikationsdaten abheben, und drittens benötigen wir keine Rahmenlinien.

Nachname, Vorname und Firma erscheinen fast wie gewünscht

Bild 4: Nachname, Vorname und Firma erscheinen fast wie gewünscht

Die Rahmenlinien um die Textfelder entfernen wir, indem wir die Eigenschaft Rahmenart für das Textfeld txtKontakt auf Transparent einstellen. Für eine einheitliche Hintergrundfarbe sorgen wir, indem wir die Eigenschaft Hintergrundfarbe auf den gleichen Wert einstellen wie die Eigenschaft Alternative Hintergrundfarbe (unter Access 2013 etwa auf den Wert Hintergrund1, Dunkler 5%).

Fehlt noch die Sortierung, die wir wieder über den Bereich Gruppieren, Sortieren und Summe hinzufügen.

Hier klicken Sie zwei Mal auf Sortierung hinzufügen, wählen für die erste Sortierung das Feld Nachname und für die zweite das Feld Vorname aus und verschieben die beiden neuen Sortierungen dann so nach oben wie in Bild 5 dargestellt.

Sortierung nach Nachname und Vorname hinzufügen

Bild 5: Sortierung nach Nachname und Vorname hinzufügen

Bild 6 liefert dann die korrekte Sortierung.

Bericht mit korrekter Sortierung

Bild 6: Bericht mit korrekter Sortierung

Kom­mu­ni­ka­tions­daten hinzufügen

Damit kommen wir zu den Telefon- und Maildaten, die ja im Detailbereich zu jedem Kunden dargestellt werden sollen. Wir vergrößern also zunächst die Höhe des Detailbereichs und fügen dann die beiden Felder Kommunikationsart und Kommunikationsdetail zum Detailbereich hinzu (siehe Bild 7). Wenn Sie die Felder aus der Feldliste in den Entwurf ziehen, können Sie die automatisch hinzugefügten Bezeichnungsfelder gleich wieder entfernen, denn diese benötigen wir nicht mehr.

Hinzufügen der Kommunikationsdaten

Bild 7: Hinzufügen der Kommunikationsdaten

Hier stellen wir gleich die Eigenschaft Alternative Hintergrundfarbe des Detailbereichs auf den Wert der Eigenschaft Hintergrundfarbe ein (zum Beispiel auf Hintergrundfarbe 1) sowie die Eigenschaft Rahmenart der Textfelder auf den Wert Transparent.

Das Ergebnis sieht bereits recht gut aus – siehe Bild 8. Allerdings könnten wir, wenn wir die Kommunikationsarten so beibehalten wollen, auch noch die Firma in einer Zeile mit dem Kundennamen darstellen – die Spaltenbreite würde dies jedenfalls hergeben.

Kommunikationsdaten zu den einzelnen Kunden

Bild 8: Kommunikationsdaten zu den einzelnen Kunden

Aber wir wollen gleich die Kommunikationsarten ja auch noch durch geeignete Icons ersetzen, um etwas Platz zu sparen und nicht so viele sich wiederholende Texte anzuzeigen.

Icons hinzufügen (ab Access 2010)

An dieser Stelle haben wir eine neue Version des Berichts unter dem Namen rptKommunikationsdatenMehrspaltigIcons erstellt.

Bevor wir Icons zum Bericht hinzufügen können, müssen wir diese zur Access-Datenbank hinzufügen, welche diese in der Tabelle MSysResources speichert. Die Bilder müssen Sie zunächst zu einem Formular oder einem Bericht hinzufügen, und zwar über den Ribbon-Eintrag Entwurf|Steuerelemente|Bild einfügen|Durchsuchen.

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!