Die übliche Datenblattansicht von Access ist immer gleich aufgebaut: Sie enthält als Spaltenköpfe die Feldnamen und in den Zeilen die einzelnen Datensätze. In manchem Fällen ist jedoch eine andere Ansicht erforderlich: wenn man die Inhalte zweier Felder einer Tabelle als Zeilen- und Spaltenköpfe verwenden möchte und den Inhalt eines dritten Feldes als eigentliche Werte. Dabei haben wir sogar noch den Bonus, dass wenn wir mehrere Datensätze mit den gleichen Werten für die als Spalten- und Zeilenköpfe verwendeten Felder haben, die eigentlichen Werte sogar noch mit verschiedenen Funktionen aggregieren können. Wie wir solche Kreuztabellen einrichten, zeigen wir in diesem Artikel.
Beispieldatenbank
Die Beispiele dieses Artikels finden Sie in der Datenbank AbfragenBasics_Kreuztabellenabfragen.accdb.
Warum Kreuztabellen
Übliche Tabellen speichern Datensätze mit Werten für die verschiedenen Felder. Die Datenblattansicht reicht in vielen Fällen bereits für die Eingabe von Daten aus, oft wird jedoch ein Detailformular verwendet, dass jeweils einen Datensatz übersichtlich anzeigt. Auch Kombinationen von beiden mit Daten aus mehreren Tabellen gleichzeitig sind möglich.
In Excel könnte man jedoch auch sogenannte Kreuztabellen einfach anlegen: Man trägt einfach Bezeichnungen für die Spalten- und Zeilenköpfe ein und die Werte landen in der dadurch aufgespannten Tabelle.
Ein bekanntes Beispiel aus der Welt des Sports sind die Tabellen, die alle Ergebnisse zwischen den Teams einer Liga darstellen. Zeilen- und Spaltenköpfe enthalten dabei jeweils eine Auflistung aller Teams, die eigentlichen Daten sind die Ergebnisse zwischen diesen Teams.
Andere einfache Beispiele sind Darstellungen von bestimmten Daten nach bestimmten Eigenschaften wie:
- Anzahl der Schulabschlüsse nach Geschlecht
- Wahlergebnisse für verschiedene Parteien nach Altersgruppen
- Umsätze je Produktkategorie pro Quartal
- Zuordnung von Benutzern zu Benutzergruppen
Voraussetzung für eine Kreuztabelle
Um eine Kreuztabelle erstellen zu können, benötigen wir in einer einzelnen oder mehreren verknüpften Tabellen mindestens drei Felder:
- ein Feld für die Spaltenüberschriften
- ein Feld für die Zeilenüberschriften
- ein Feld, das die anzuzeigenden und gegebenenfalls zu aggregierenden Daten enthält
Wir starten mit einem einfachen Beispiel. Dabei wollen wir einfach die Benutzer zu Benutzergruppen zuordnen und in einer Kreuztabellenabfrage die Zugehörigkeiten übersichtlich abbilden. Dazu benötigen wir die drei Tabellen aus Bild 1.
Bild 1: Beziehung zwischen den Beispieltabellen
Die Tabelle tblBenutzer nimmt die Namen der Benutzer auf, die Tabelle tblBenutzergruppen die Bezeichnungen der Benutzergruppen. Über die m:n-Beziehungstabelle verknüpfen wir die Datensätze der beiden Tabellen miteinander.
Ein Datensatz in dieser Tabelle enthält immer die Zuordnung eines Benutzers zu einer Benutzergruppe.
Damit jeder Benutzer nur einmal in jede Benutzergruppe eingetragen werden kann, definieren wir einen zusammengesetzten Index für die beiden Felder BenutzerID und BenutzergruppeID.
Nachdem wir den Tabellen tblBenutzer und tblBenutzergruppen einige Datensätze hinzugefügt haben, können wir diese über die dafür angelegten Nachschlagefelder in der Verknüpfungstabelle tblZuordnungen auswählen und somit die Zugehörigkeit der Benutzer zu den Benutzergruppen definieren (siehe Bild 2).
Bild 2: Daten in den drei Tabellen zur Benutzerverwaltung
Kreuztabelle per Assistent erstellen
In diesem Artikel schauen wir uns an, wie wir eine Kreuztabelle per Assistent erstellen.
Diesen finden wir, wenn wir im Ribbon unter Erstellen im Bereich Abfragen auf die Schaltfläche Abfrage-Assistent klicken. Dies öffnet den Dialog Neue Abfrage, in dem wir den Eintrag Kreuztabellen-Assistent auswählen und bestätigen (siehe Bild 3).
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