Gruppensummen ohne Gruppen im Berichtsfuß

Die Summen von Zahlen in bestimmten Feldern innerhalb von Gruppierungen zu ermitteln, ist kein Hexenwerk. Manchmal benötigen Kunden aber Spezialanforderungen, die sich mit üblichen Mitteln nicht mehr bewerkstelligen lassen. Zum Beispiel das Bilden von Gruppensummen ohne das Vorhandensein von Gruppen. Der vorliegende Beitrag zeigt, wie dies funktioniert.

Neulich erreichte mich die Anforderung, für eine Liste von Elementen bestimmter Kategorien die Anzahl der Elemente je Kategorie auszugeben – allerdings nicht im Rahmen einer Gruppierung im Gruppenfuß, sondern ohne Gruppierung im Seitenfuß. Konkret ging es um die Ausgabe von Präsenten für Mitarbeiter, wobei die Mitarbeiter nicht nach Präsent gruppiert, sondern nach Alphabet, Alter oder sonstigen Kriterien sortiert werden sollten. Prinzipiell soll der Bericht also wie in Bild 1 aussehen.

pic001.png

Bild 1: Anzahl von Gruppierungselementen ohne Aktivierung der Gruppierung

Die Lösung ist nicht ganz trivial, denn die Anzahl der verschiedenen Präsente kann sich ändern. Es wäre somit kein guter Stil, einfach für jede Präsentart ein Bezeichnungsfeld im Berichtsfuß zu platzieren und ein entsprechendes Textfeld mit der Anzahl zu füllen. Das Problem hierbei wäre, dass Sie jedes Mal, wenn ein Präsent hinzukommt oder wegfällt, in den Entwurf des Berichts eingreifen müssten.

Das Beispieldatenmodell sieht wie in Bild 2 aus und besteht aus einer Mitarbeiter- und einer Präsente-Tabelle. Also brauchen wir eine dynamische Lösung, die sich an den vorhandenen Präsentarten orientiert und je Präsent eine Zeile im Berichtsfuß erzeugt. Dies gelingt nur mit einem Unterbericht zuverlässig. Diesem weisen Sie als Datenherkunft eine Abfrage basierend auf den einzigen beiden Tabellen des Datenmodells zu. Den Bericht selbst erleichtern Sie um Seitenkopf und -fuß sowie um Berichtskopf und -fuß und fügen eine Gruppierung nach dem Feld PraesentID hinzu. Diese soll keinen Kopfbereich, aber einen Fußbereich enthalten. Dann minimieren Sie den Detailbereich, indem Sie seine Eigenschaft Höhe auf 0 einstellen oder den unter dem Detailbereich liegenden Gruppenfuß so weit nach oben schieben, dass der Detailbereich nicht mehr sichtbar ist. Im Gruppenfuß schließlich fügen Sie das Feld Praesent aus der Feldliste des Berichts ein. Ergänzen Sie diesen Bereich um ein weiteres Textfeld namens txtAnzahlPraesente, dessen Eigenschaft Steuerelementinhalt Sie auf den Wert =Anzahl(PraesentID) festlegen. Der Berichtsentwurf sollte nun wie in Bild 3 aussehen.

pic002.png

Bild 2: Datenmodell der Beispieldatenbank

pic003.png

Bild 3: Entwurf des Unterberichts zur Anzeige der Anzahl je Präsent


Nur für Abonnenten

Ab hier wird’s wirklich spannend – der Rest ist exklusiv für Abonnenten.

Mit dem Abo von Access im Unternehmen bekommst du den kompletten Artikel – inklusive vollständigem Code, Beispieldatenbank und Schritt-für-Schritt-Erklärung.

So sparst du dir stundenlanges Herumprobieren, vermeidest teure Fehler in deiner Access-Anwendung und kannst Lösungen direkt in deinem Unternehmen einsetzen, statt nur darüber zu lesen.

Teste Access im Unternehmen jetzt 4 Wochen lang kostenlos: Voller Zugriff auf alle Artikel, Downloads und Beispieldatenbanken. Kein Risiko – wenn es für dich nicht passt, kündigst du einfach innerhalb der ersten vier Wochen.

Bereits Abonnent? Hier einloggen


Kostenlos & unverbindlich

Oder hast Du eine konkrete Frage zu Deiner eigenen Access-Anwendung?

Vielleicht stellt Deine Anwendung Dich vor eine Herausforderung, zu der Du bisher keine Lösung findest. Schlechte Performance, kein ausreichender Zugriffsschutz, Du bist unsicher über Dein Datenmodell oder Dein Code liefert unerklärliche Fehler?

In unserem kostenlosen Access-Audit schaut sich André Minhorst persönlich gemeinsam mit Dir Deine Lösung per Zoom an – und zeigt Dir, wo Datenmodell, VBA-Code, Ergonomie und Sicherheit Optimierungspotenzial bieten.

Jetzt kostenloses Access-Audit anfordern →

Schreibe einen Kommentar