VBA Tipp: Seitensumme im Bericht

Aus DBWiki
Wechseln zu: Navigation, Suche

Anforderung

  • Ich möchte in einem Bericht die Summe des Inhalts eines Zahlenfeldes pro Seite im Seitenfuß anzeigen.
  • Alternativ möchte ich die Seitensumme auf der folgenden Seite im Seitenkopf als Übertrag anzeigen.

Lösung (ohne Übertrag)

  1. Für die Anzeige der Seitensumme ist ein ungebundenes Textfeld im Seitenfuß mit dem Namen Seitensumme erforderlich.
  2. Außerdem wird folgender Code im Bericht benötigt:
' Formular-Variable für die Summierung
' Der Datentyp kann alternativ auch Long oder Double sein.
Dim curSumme As Currency
 
 
Private Sub Seitenkopfbereich_Format(Cancel As Integer, FormatCount As Integer)
 
 ' Variable bei neuer Seite auf 0 stellen
 curSumme = 0
 
End Sub
 
 
Private Sub Detailbereich_Print(Cancel As Integer, PrintCount As Integer)
 
 ' Einzelne Werte aufsummieren
 If PrintCount = 1 Then
   curSumme = curSumme + Nz(Me.EinZahlenfeld, 0)
 End If
 
End Sub
 
 
Private Sub Seitenfußbereich_Format(Cancel As Integer, FormatCount As Integer)
 
 ' Seitensumme anzeigen
 Me.Seitensumme = curSumme
 
End Sub

Lösung (mit Übertrag)

  1. Für die Anzeige des Übertrags ist (zusätzlich zum Feld Seitensumme, siehe Lösung oben) ein ungebundenes Textfeld im Seitenkopf mit dem Namen Uebertrag erforderlich.
  2. Im Bericht wird dann dieser Code verwendet:
' Formular-Variable für die Summierung
' Der Datentyp kann alternativ auch Long oder Double sein.
Dim curSumme As Currency
 
 
Private Sub Seitenkopfbereich_Format(Cancel As Integer, FormatCount As Integer)
 
 ' Übertrag anzeigen (nicht auf der ersten Seite)
 If Me.Page = 1 Then
   Me.Uebertrag = Null
 Else
   Me.Uebertrag = curSumme
 End If
 
End Sub
 
 
Private Sub Detailbereich_Print(Cancel As Integer, PrintCount As Integer)
 
 ' Einzelne Werte aufsummieren
 If PrintCount = 1 Then
   curSumme = curSumme + Nz(Me.EinZahlenfeld, 0)
 End If
 
End Sub
 
 
Private Sub Seitenfußbereich_Format(Cancel As Integer, FormatCount As Integer)
 
 ' Seitensumme anzeigen
 Me.Seitensumme = curSumme
 
End Sub

Weblinks