Seitensummen bei Rechnungen angeben (Access97, 2000)
Veröffentlicht am 29.12.2003
Bei mehrseitigen Rechnungen ist es in vielen Fällen erforderlich, dass auf jeder Seite eine Zwischensumme der einzelnen Positionen ausgegeben wird.
Verwenden Sie das Drucken-Ereignis, um solche Seitensummen zu berechnen.
Grundlage für diese Lösung ist ein ungebundenes Textfeld namens ZwischSumme, das Sie im Seitenfuß der Rechnung plazieren. Hier wird später die Zwischensumme ausgegeben. Alles weitere wird von zwei Ereignisprozeduren erledigt.
Die erste Prozedur ist an die BeimDrucken-Ereigniseigenschaft des Seitenkopfes gebunden:
Private Sub Seitenkopf0_Print(Cancel As Integer, PrintCount As _Integer)
Me!ZwischSumme = 0
End Sub
Diese Prozedur sorgt dafür, dass das Feld ZwischSumme zum Beginn jeder neuen Seite auf 0 initialisiert wird. Die zweite Prozedur ist an das BeimDrucken-Ereignis des Datailbereichs geknüpft:
Private Sub Detail1_Print(Cancel As Integer, _PrintCount As Integer)
If PrintCount = 1 Then
Me!ZwischSumme = Me!ZwischSumme + Me!Gesamtpreis
End If
End Sub
Bei jedem einzelnen Datensatz wird die Zwischensumme um den Betrag der aktuellen Rechnungsposition (in diesem Beispiel Gesamtpreis) erhöht. Vorher wird jedoch noch die PrintCount-Eigenschaft auf den Wert 1 untersucht. Dies ist erforderlich, da Access das Print-Ereignis bei Rechnungspoitionen, die sich über mehrere Seiten erstrecken, mehrmals aufruft. Die PrintCount-Eigenschaft gibt hierbei an, wie oft das Ereignis für den aktuellen Bereich bereits aufgerufen wurde.
Damit bestimmte Positionen nicht mehrmals hinzuaddiert werden, darf die Berechnung nur beim Auftreten des ersten Ereignisses erfolgen.
