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, Print(

Count 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, Print(

Count As Integer)

If PrintCount = 1 Then

Me!ZwischSumme = Me!ZwischSum(

me + _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.