Zwischensummen ziehen in mehrseitigen Rechnungen

Bei mehrseitigen Rechnungen behalten Sie den Überblick durch eine Zwischensumme der einzelnen Positionen am Seitenende. Solche Summen gibt das Ereignis »Drucken« aus.

Grundlage dafür ist ein Textfeld namens »ZwischSumme«, das Sie im Seitenfuß platzieren. Dort erscheint später die Zwischensumme. Alles Weitere wird von zwei Ereignisprozeduren erledigt, von denen die erste an die Ereigniseigenschaft »BeimDrucken« des Seitenkopfes gebunden ist:



Private Sub Seitenkopf0_Print(Cancel _ As Integer, PrintCount As Integer)
Me!ZwischSumme = 0
End Sub



Diese Prozedur initialisiert das Feld »ZwischSumme« für jede neue Seite mit dem Wert »0«. Die zweite Prozedur ist an das Ereignis »BeimDrucken« des Datailbereichs gebunden:



Private Sub Detail1_Print(Cancel _ As Integer, PrintCount As Integer)
If PrintCount = 1 Then
Me!ZwischSumme = Me!ZwischSumme + _Me!Gesamtpreis
End If
End Sub



Die Prozedur erhöht bei jedem Datensatz die Zwischensumme um den Betrag der aktuellen Rechnungsposition (im aktuellen Beispiel »Gesamtpreis«). Davor wird die Eigenschaft »PrintCount« auf den Wert »1« untersucht. Das ist nötig, weil Access das Print-Ereignis bei Rechnungspositionen über mehrere Seiten auch mehrmals aufruft.
Die Eigenschaft »PrintCount« gibt an, wie oft das Ereignis für den aktuellen Bereich bereits aufgerufen wurde. Damit Access bestimmte Positionen nicht mehrfach addiert, darf die Berechnung nur beim Auftreten des ersten Ereignisses erfolgen.