Reports: Page Totals
Each section of a report has a
Format event, where you can alter properties such as
Visible, Color, Size, etc in a manner similar to the Current in a form. (See
Runtime Properties: Forms for details.) For example to force a
page break when certain conditions are met, include a PageBreak control in the Detail Section and toggle its Visible property. In addition, the
Print event can be used to perform tasks like adding the current record to a running total.
You have an
Amount field, and want to display the
Amount total for that page in the Page Footer. Totals are not normally available in the Page Footer, but the task requires just
four lines of code!
- In the PageHeader's Format event procedure, add:
curTotal = 0 'Reset the sum to zero each new Page.
- In the DetailSection's Print event, add:
If PrintCount = 1 Then curTotal = curTotal + Me.Amount
- Place an unbound control called PageTotal in the Page Footer. In the PageFooter's Format, add:
Me.PageTotal = curTotal
- In the Code Window under Declarations enter:
Option Explicit 'Optional, but recommended for every module.
Dim curTotal As Currency 'Variable to sum [Amount] over a Page.
That's it! Don't forget to rate 4 stars for this solution.
×