Unsere Datenschutzrichtlinie wird in Kürze aktualisiert. Bitte sehen Sie sich die Vorschau an.

Access 2016 Grundkurs

Summen von Gruppen bilden

Testen Sie unsere 2016 Kurse

10 Tage kostenlos!

Jetzt testen Alle Abonnements anzeigen
Gruppierungsabfragen sind die richtige Technik, um spaltenweise Summen über eine Gruppe oder die Anzahl von Datensätzen zu ermitteln.

Transkript

Abfragen wie diese rechnen zeilenweise. Ausgehend von dem Rabatt und dem Preis wird ein rabattierter Preis ermittelt und dann im Zusammenhang mit der Menge ein gesamtrabattierter Preis. Das alles findet in der Zeile statt. Häufig brauchen sie aber auch etwas spaltenweise und das funktioniert ganz anders, dazu muss ich erstmal eine neue Abfrage erstellen, also Erstellen Abfrageentwurf und die basiert nicht auf der Tabelle Portionen sondern, weil da schon Berechnungen drin sind, auf der qryPortionenMitPreisen. Das ist aber unerheblich, grundsätzlich läuft das technisch auch mit einer Tabelle und dort möchte ich jetzt pro Lieferung die Summe der rabattierten Preise, also der Endpreise hier sehen. Pro Lieferung heißt hier, diese ID-Referenz per Doppelklick und dann GesamtRabattiert auch per Doppelklick nach unten. Wenn ich die schonmal sortiere, hier mit einem Doppelklick aufsteigend sortiere, dann sehen sie jetzt, zu einer einzigen Lieferung, hier zum Beispiel die Nummer 3, gibt es mehrere Preise, weil es eben auch mehrere Portionen gab. Ich möchte aber deren Summe sehen. Und das ist sozusagen der Klassiker: hier, eine Gruppe über die 3 und dann die Summe über die zugehörigen Preise, hier eine Gruppe über die 5 und die Summe der Preise, selbst hier, wo die Gruppe nur aus einem einzigen Element besteht, wird formal gesehen die Summe gebildet. Das ist ein Umschalter in der Entwurfsansicht und zwar hier mit diesem Symbol für die Summen. Wenn ich darauf klicke, wird hier unten eine neue Zeile entstehen und die erklärt dann, das für dieses Feld eine Gruppe gebildet wird und für dieses auch eine Gruppe, aber tatsächlich eine Summe. Also hier eine Gruppierung der ID und hier eine Summierung der gesamtrabattierten Preise. Das war es eigentlich schon, das heißt ich kann mir die Ansicht angucken, es ist noch nicht schön, aber rechnerisch richtig. Hier also pro Gruppe, die Gruppe 3 zum Beispiel hat die Summe über die gesamtrabattierten Preise hier zusammengefasst. Das Ganze ist eine sogenannte Gruppierungsabfrage, weil die Gruppe das wichtige ist und die Summe zwar häufig, aber nicht zwingend. Das kann ich schon mal speichern, das ist also die qryLieferungenSummen. Das geht natürlich hübscher, also wenn ich in die Entwurfsansicht zurückwechsel, kann ich noch eine weitere Tabelle anzeigen lassen, genau genommen sogar eine weitere Abfrage, denn es gibt eine qryLieferungenSortiert, wenn ich die hinzufüge, dann steht dort schon ein schöner Klartext, die muss natürlich mit dieser Tabelle verbunden werden, also die liefrID die und die portiliefrIDRef und dann kann ich Ganzer Nahme hier nach unten ziehen und in einer Gruppierungsabfrage muss jedes Feld immer irgendeine Funktion hier haben. Wenn die ID und der ganze Name identisch sind, also Immer eins zu eins zueinander passen, dann entstehen jetzt nicht mehr Gruppen. Also zu Jeder 1 gibt es genau dieses Ergebnis zu, Jeder 2 dieses Ergebnis, deswegen sehe ich hier weiterhin nur 14 Gruppen und kann im Grunde hier auch diese ID weglassen und dafür dann hier aufsteigend sortieren und hab das ganze jetzt sozusagen hübscher formuliert. Technisch bleibt es das gleiche, irgendwas wird kopiert und da drin eine Summe gebildet. Das geht natürlich auch über andere Tabellen, wenn ich also alternativ mal sehen will, wie viele Fahrten hat Fahrer so und so gemacht, dann gehe ich hier zu Erstellen und Abfrageentwurf, finde die Fahrer einer Tabelle Fahrer und bei den Lieferungen, den Zusammenhang zu den Lieferungen oder wie oft der gefahren ist, wenn ich jetzt hier schließe, kann ich den Fahrernamen wählen und hier im Grunde ein beliebiges Feld. Für beliebige Felder nehme ich immer den AutoWert, denn gelegentlich ist es wichtig, ob da was drinsteht oder ein Null-Wert und AutoWerte haben immer was drinstehen. Jetzt kommt wieder das Umschalten, im Moment sind ja noch alle zu sehen, mehrfach, hier zum Beispiel will ich sehen, Enzo ist dreimal gefahren, Maddalena ist viermal gefahren, Luigi wieder dreimal, Claudia zweimal und so weiter. Das heißt, ich schalte wieder um auf die Gruppierungsabfrage. Eine Gruppe, das ist der Fahrername, aber hier die Anzahl der Datensätze und deswegen ist es egal, welches Feld ich nehme, ob das Feld liefrID dreimal vorkommt oder liefrDatum, ist egal. Jetzt kann ich hier lesen, das Enzo dreimal gefahren ist, Maddalena viermal und so weiter. Also die qryFahrerAnzahlLieferungen. Nach diesem System können Sie beliebig zusammenfassen, gruppieren, typischerweise eine Gruppe, eine sogenannte Aggregat-Funktion, Summe, Mittelwert, Minimum, Maximum, sonstwas. Das geht sogar ohne die Gruppe. Ich werde jetzt also neu erstellen eine Abfrage, die auch dieses Mal wieder auf der qryPortionenMitPreisen basiert. Und hatte eben die liefrID und den Preis und werde jetzt, wenn ich ihn denn da unten hervorheben kann, nur den gesamtrabattierten Preis wählen. Das sind im Moment noch alle 33 Datensätze. Und jetzt gehe ich hin und bilde eine Summe und zwar keine Gruppe, die Gruppe entfällt, es gibt nur eine Summe. Und damit habe ich einen einzigen Preis, das ist meine Gesamteinnahme, die Summe über alles, ohne eine Gruppe, genauer gesagt ist es eine Gruppe, aber keinen namentlich genannte Gruppe, das ist die qry. GesamtRabattiertSumme. Ich kann das auch jahresweise zusammenfassen, dann muss ich nur jeweils ein bisschen was zurechtrechnen, also wiederum basierend auf der qryPortionMitPreisen. Und muss jetzt ein Datum finden. Da hier ja kein Datum drinsteht, denn das steht in der Lieferung, muss ich die Lieferung noch dazunehmen, da reicht hier die Tabelle Lieferung. Muss die beiden wieder verbinden mit gedrückter Maustaste und von dem Datum, per Doppelklick, will ich aber nur das Jahr wissen, also erfinden wir hier wieder Berechnung Lieferjahr Doppelpunkt Jahr Klammer auf, dann kommt der Feldname, Klammer zu, nach dem Return können wir das ein bisschen breiter ziehen und da kommt wieder gesamtrabattiert rein und die Gruppierungsabfrage angeschaltet und hier, das geht auch mit einem Doppelklick, auf Suche umschalten. Und schon haben sie jährliche Summe. Und das ganze entsprechend gespeichert, also qryLieferungenSummeJaehrlich zum Beispiel. Dieses Konzept der Gruppierungsabfragen ist sehr sehr flexibel, sie können eine Gruppe und eine Aggregat-Funktion machen, sie können auch nur die Aggregat-Funktion machen, das hatten wir gerade mit der Summe über alles und sie können auch nur die Gruppen bilden. Zum Beispiel, um herauszukriegen, welche Speisen sie überhaupt verkauft haben. Das heißt, sie müssen etwas über die Speisen wissen und über die Lieferung. Da die aber keinen Zusammenhang haben, muss das über die Portionen laufen, sonst hätten sie nämlich unverbundene Tabellen. Also hier die alle zusammen. Und können jetzt hier beispielsweise den Kurznamen der Speise eintragen und erstmal gruppieren lassen. Dann sehen sie jeden genau einmal, denn die Gruppierung sorgt dafür, dass jetzt hier Gruppen gebildet werden und mehrfach auftauchen, zusammengefasst wird. Es sind 16 Speisen und jetzt gucken wir mal im Vergleich mit der Tabelle Speisen, tatsächlich waren es 18, es gibt also zwei, die nicht verkauft wurden. Auch das lässt sich mit einer Gruppierungsabfrage heraus bekommen, indem sie einfach mehrfache Aufrufe zusammenfast. Es gibt überhaupt noch eine zweite Variante, dann würden sie ein sogenanntes Distinct schreiben, das soll aber nur der Vollständigkeit halber erwähnt werden, die Gruppierungsabfrage ist einfacher und schneller, weil sie eben mit Klicks geht. Also eine Gruppierungsabfrage kann es geben wie hier nur mit Gruppe, es kann sie geben nur mit Aggregat Funktion, Summe, Minimum, Maximum, Mittelwert, Anzahl, sowas oder im Normalfall eher, eine Gruppe, eine Summe.

Access 2016 Grundkurs

Erwerben Sie die notwendigen Kenntnisse, um mit Access 2016 leistungsfähige Datenbanken zu erstellen.

6 Std. 18 min (75 Videos)
Derzeit sind keine Feedbacks vorhanden...
 

Dieser Online-Kurs ist als Download und als Streaming-Video verfügbar. Die gute Nachricht: Sie müssen sich nicht entscheiden - sobald Sie das Training erwerben, erhalten Sie Zugang zu beiden Optionen!

Der Download ermöglicht Ihnen die Offline-Nutzung des Trainings und bietet die Vorteile einer benutzerfreundlichen Abspielumgebung. Wenn Sie an verschiedenen Computern arbeiten, oder nicht den ganzen Kurs auf einmal herunterladen möchten, loggen Sie sich auf dieser Seite ein, um alle Videos des Trainings als Streaming-Video anzusehen.

Wir hoffen, dass Sie viel Freude und Erfolg mit diesem Video-Training haben werden. Falls Sie irgendwelche Fragen haben, zögern Sie nicht uns zu kontaktieren!