Kreuztabellenabfragen

Im folgenden Beispiel gehen wir davon aus, dass die Datenquelle keine Tabelle, sondern eine Abfrage ist. Einerseits um zu zeigen, dass das möglich ist, zum anderen, weil die folgenden Daten in einer Tabelle kaum sinnvoll normalisiert wären:

qryVerkäufe
IDVerkauf datVerkaufsDatum txtProdukt lngStück curEinnahme
1 01.02. Kaugummi 10 5,00
2 01.02. Lutscher 15 1,50
3 01.02. Paprikachips 5 10,00
4 02.02. Kaugummi 5 2,50
5 02.02. Paprikachips 5 10,00
Abfrage1
qryVerkäufe
*
IDVerkauf
datVerkaufsDatum
txtProdukt
lngStück
curEinnahme

Nun wollen wir die Verkäufe eines Tages in einer Zeile sehen, und die Produkte sollen in Spalten dargestellt werden. Dafür wählen wir den Abfragetyp „Kreuztabelle“. Der untere Teil des Abfragefensters verändert sich daraufhin: Der uns bereits bekannte Summen-Button wird aktiviert, eine neue Zeile „Kreuztabelle“ erscheint, und die Zeile „Anzeigen“ verschwindet. Wir füllen dies wie folgt aus:

TRANSFORM Sum(lngStück)
SELECT datVerkaufsDatum
FROM qryVerkäufe
GROUP BY datVerkaufsDatum
PIVOT txtProdukt;
Feld: datVerkaufsDatum txtProdukt lngStück
Tabelle: qryVerkäufe qryVerkäufe qryVerkäufe
Funktion: Gruppierung Gruppierung Summe
Kreuztabelle: Zeilenüberschrift Spaltenüberschrift Wert
Sortierung: Aufsteigend    
Kriterien:      
oder:      
       
Abfrage1
datVerkaufsDatum Kaugummi Lutscher Paprikachips
01.02. 10 15 5
02.02. 5   5

Die Abfrage zeigt nun an, welche Produkte an welchem Tag verkauft werden. Wer das Beispiel am eigenen PC ausprobiert, sollte auch mit anderen Funktionen in der Spalte lngStück experimentieren, oder lngStück durch curEinnahme ersetzen.