Kreuztabellenabfragen

Beim folgenden Beispiel gehen wir davon aus, dass die Datenquelle keine Tabelle, sondern eine Abfrage sei. Einerseits um zu zeigen, dass das geht, 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. Die Produkte sollen spaltenweise dargestellt werden. Dafür wählen wir den AbfragetypAbfragetyp „Kreuztabelle“ aus. Der untere Teil des Abfragefensters verändert sich daraufhin: Der uns schon bekannte Funktionen-Button wird aktiviert, eine neue Zeile „Kreuztabelle“ erscheint, und die Zeile „Anzeigen“ verschwindet. Wir füllen dies wie folgt aus:

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:      
       
TRANSFORM Sum(lngStück)
SELECT datVerkaufsDatum
FROM qryVerkäufe
GROUP BY datVerkaufsDatum
PIVOT txtProdukt;
Abfrage1
datVerkaufsDatum Kaugummi Lutscher Paprikachips
01.02. 10 15 5
02.02. 5   5

Die Abfrage zeigt, wie viele Produkte pro Tag verkauft wurden. Wer das Beispiel am eigenen PC ausprobiert, sollte auch mit anderen Funktionen in der Spalte „lngStück“ experimentieren, oder „lngStück“ durch „curEinnahme“ ersetzen.