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

Office 365: Access 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 zahlenweise. 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 tblPortionen, 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. ProLieferung heißt hier diese "ID Referenz" per Doppelklick und dann GesamtRabattiert auch per Doppelklick nach unten schieben. Wenn ich die schonmal sortiere, hier mit einem Doppelklick aufsteigend sortiere, dann sehen Sie jetzt zu einer einzigen Lieferung, hier zum Beispiel die Nummer drei 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 drei und dann die Summe über die zugehörigen Preise. Hier eine Gruppe über die fünf 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 drauf klicke, wird hier und eine neue Zeile entstehen und die klärt dann, dass 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 drei 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ückwechsele, 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 und die portiliefrIDRef und dann kann ich GanzerName 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 eins gibt es genau dieses Ergebnis, zu jeder zwei 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 habe das ganze jetzt sozusagen hübscher formuliert. Technisch bleibt das das Gleiche, irgendwas wird gruppiert 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 der Fahrer so und so gemacht, dann gehe ich hier zu Erstellen Abfrageentwurf, finde die Fahrer in der tblahrer und bei den Lieferungen den Zusammenhang zu den Lieferungen oder wie oft er gefahren ist. Wenn ich jetzt hier schließe kann ich den fahrrNamen 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 drin steht oder einen Nullwert und Autowerte haben immer was drin stehen. 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 fahrrName, 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, dass ein Enzo drei mal gefahren ist, Maddalena viermal und so weiter, also die qryFahrerAnzahlLieferungen. Nach diesem System können Sie beliebig zusammenfassen, gruppieren, typischerweise eine Gruppe, eine sogenannte Aggregatfunktion: Summe, Mittelwert, Minimum Maximum sonstwas. Das geht sogar ohne die Gruppe. Ich werde jetzt also neu erstellen einer 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 GesamtRabattiert-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, genau gesagt ist es eine Gruppe, aber keine namentlich genannte Gruppe, das ist die qryGesamtRabattiertSumme. Ich kann das auch jahresweise zusammenfassen, dann muss ich nur jeweils nur ein bisschen was zurecht rechnen, also wiederum basierend auf der qryPortionenMitPreisen und muss jetzt ein Datum finden. Da hier ja kein Datum drin steht, denn das steht in der Lieferung muss ich die Lieferung noch dazu nehmen, da reicht hier die tblLieferung, 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:Jahr(, dann kommt der Feldname, Klammer zu. Nach dem Return können wir das ein bisschen breiterziehen und da kommt wieder GesamtRabattiert rein und die Gruppierungsabfrage angeschaltet und hier, das geht auch mit einem Doppelklick, auf Summen umschalten. Und schon haben Sie jährliche Summen. Und das Ganze entsprechen gespeichert, also qryLieferungenSummeJährlich, zum Beispiel. Dieses Konzept der Gruppirungsabfragen ist sehr sehr flexibel. Sie können eine Gruppe und eine Aggregatfunktion machen, Sie können auch nur die Aggregatfunktion machen, das hat mir 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 Lieferungen. 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 auftauchend zusammengefasst wird. Es in 16 Speisen und jetzt gucken wir mal im Vergleich mit der tblSpeisen, tatsächlich waren es 18, es gibt also zwei, die nicht verkauft wurden. Auch das lässt sich mit einer Gruppierungsabfrage herausbekommen, indem sie einfach mehrfache Aufrufe zusammenfasst. Es gibt übrigens 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 es eben mit Klicks geht. Also eine Gruppirungsabfrage kann es geben, wie hier nur mit Gruppe, es kann sie eben nur mit Aggregatfunktion: Summe, Minimum, Maximum, Mittelwert, Anzahl sowas oder im Normalfall eher eine Gruppe, eine Summe.

Office 365: Access Grundkurs

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

6 Std. 18 min (75 Videos)
Derzeit sind keine Feedbacks vorhanden...
 
Hersteller:
Exklusiv für Abo-Kunden
Erscheinungsdatum:08.09.2016

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!