Hallo zusammen,
ich beiß mir die Zähne an einer Abfrage aus und habe schon so einiges versucht. Vielleicht kann mir jemand helfen, das würde mich sehr freuen. Mein Anliegen ist einfach.
Ich habe eine Datenbank, nennen wir sie Tabelle1, mit folgenden Feldern:
Schuelername Note
In der Datenbank stehen sehr viele Einträge:
"John Doe" "1"
"Hans Müller "3"
"John Doe" "2"
"Hans Müller" "1"
"Sabine Meier" "3"
usw
Schülernamen wiederholen sich also auch.
Ich möchte nun einfach nur folgende Auswertung haben:
"Schülername" "Anzahl Note 1" "Anzahl Note 2" Anzahl Note 3" "Anzahl Noten gesamt"
Es gibt nur die Note 1 bis 3. Und ich meine Anzahl, nicht Summe.
Ich hoffe, ich habe das verständlich erklärt und bedanke mich schon jetzt für Eure Zeit.
Viele Grüße
Mick
Mit einer Kreuztabellenabfrage (Assistent zur Erstellung ist in Access vorhanden) kommst Du unmittelbar zu einer Lösung, wenn die als Spaltenüberschrift bspw. "1" statt "Anzahl Note 1" genügt. Ansonsten wäre noch etwas Vorarbeit in der Datenherkunft der KTA nötig.
Hallo,
auch so, wenn die Notenanzahl fix (hier 3 ) ist:
SELECT Tabelle1.Schülername,
(select count(*) from tabelle1 as a where a.Schülername = tabelle1.[Schülername] and a.Note =1) AS AnzNote1,
(select count(*) from tabelle1 as b where b.Schülername = tabelle1.[Schülername] and b.Note =2) AS AnzNote2,
(select count(*) from tabelle1 as c where c.Schülername = tabelle1.[Schülername] and c.note =3) AS AnzNote3,
[AnzNote1]+[AnzNote2]+[AnzNote3] AS GesamtAnzahl
FROM Tabelle1
GROUP BY Tabelle1.Schülername
Erstmal vielen Dank an Dich und Eberhard, ich freue mich sehr über Eure Hilfe.
Ich habe eine Abfrage mit Deinem Vorschlag, Franz, erstellt. Access meckert mich aber an
Systaxfehler(fehlender Operator) in Abfrageausdruck tabelle1.schuelername
Nachdem ich tabelle1 in [tabelle1].schuelername geändert habe, wurde nicht mehr gemeckert.
Tausend Dank Ihr Zwei!
Viele Grüße
Mick
Hallo Franz,
ich habe es schon wieder (vergeblich) selbst versucht, krieg es aber nicht hin.
Gibt es zudem noch die Möglichkeit, nur Datensätze aus einem bestimmten Monat und Jahr zu zeigen, genau genommen, diese in einem Dialog vorher abzufragen? In der Tabelle gibt es das Feld "Datum".
In einer anderen Abfrage habe ich das schonmal hinbekommen und zwar mit
WHERE (((Month([Datum]))=[Bitte Monat (ohne führende Null) eingeben]) AND ((Year([Datum]))=[Und das vierstellige Jahr bitte]));
aber hier werde ich mit irgendwas mit "Aggregat" angeschnauzt.
Vielen Dank und viele Grüße
Mick