Zur Hauptseite ... Zum Onlinearchiv ... Zum Abonnement ... Zum Newsletter ... Zu den Tools ... Zum Impressum ... Zum Login ...

Seitensumme für jede Seite

Seitensummen sind gerne gesehen und leicht zu berechnen. Interessanter wird es, wenn die Summe nicht über mehrere Seiten, sondern für jede Seite neu berechnet werden soll. Wie Sie das bewerkstelligen können, zeigt nachfolgendes Beispiel.

Beispieldatenbank

Als Beispieldatenbank wird die Nordwind-Datenbank verwendet. Der dort enthaltene Bericht namens Rechnung bildet die Grundlage für die nachfolgend beschriebenen Schritte.

Bericht anpassen

Der Bericht Rechnung der Nordwinddatenbank enthält im Detailbereich ein Feld namens Endsumme, dass je Seite im Fußbereich aufsummiert werden soll.

Dazu benötigen Sie ein wenig VBA und ein entsprechendes Feld im Fußbereich. Legen Sie daher ein neues Feld namens txtSeitensumme im Fußbereich des Berichts an.

Öffnen Sie dann das Klassenmodul des Berichts, indem Sie in dessen Entwurfsansicht wechseln und im Menü den Eintrag Ansicht/Code auswählen.

Legen Sie ganz oben im nun VBA-Editor erscheinenden Klassenmodul die folgende Zeile an, die eine Variable namens Seitensumme deklariert:

Dim Seitensumme As Integer

Nun werden drei Ereigniseigenschaften angelegt. Die erste dient dazu, die Variable Seitensumme beim Formatieren jeder neuen Seite wieder auf den Wert 0 zu setzen. Die zweite addiert den Inhalt des Feldes Endsumme im Detailbereich zum aktuellen Wert der Variablen Seitensumme hinzu. Die dritte und letzte wird beim Formatieren des Seitenfußes ausgelöst und schreibt den Wert der Variablen Seitensumme in das Textfeld txtSeitensumme.

Die drei Prozeduren sehen folgendermaßen aus:

Private Sub Detail_Format(Cancel As Integer, FormatCount As Integer)

    Seitensumme = Seitensumme + Me!Endpreis

End Sub

Private Sub Seitenfußbereich_Format(Cancel As Integer, FormatCount As Integer)

    Me!txtSeitensumme = Seitensumme

End Sub

Private Sub Seitenkopf_Format(Cancel As Integer, FormatCount As Integer)

    Seitensumme = 0

End Sub

Nach dem Anlegen der Prozeduren zeigt das Textfeld txtSeitensumme immer die Summe der Werte des Feldes Endsumme für die aktuelle Seite an.

© 2003-2010 André Minhorst Alle Rechte vorbehalten.