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).
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).
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).
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.
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.
Bild 5: Sortierung nach Nachname und Vorname hinzufügen
Möchten Sie weiterlesen? Dann lösen Sie Ihr Ticket!
Hier geht es zur Bestellung des Jahresabonnements des Magazins Access [basics]:
Zur Bestellung ...
Danach greifen Sie sofort auf alle rund 400 Artikel unseres Angebots zu - auch auf diesen hier!
Oder haben Sie bereits Zugangsdaten? Dann loggen Sie sich gleich hier ein: