ACC2000: How to Create Page Totals on a Report (216311)



The information in this article applies to:

  • Microsoft Access 2000

This article was previously published under Q216311
Moderate: Requires basic macro, coding, and interoperability skills.

This article applies to a Microsoft Access database (.mdb) and to a Microsoft Access project (.adp).

SUMMARY

This article shows you how to can create a running total for each page of a report.

MORE INFORMATION

You can use the RunningSum property to calculate record-by-record or group-by-group totals in a report. Such a device is not available if you want to show a total on each page.

To sum an item per page, follow these steps:
  1. Open the report in Design view.
  2. On the View menu, click Code.
  3. Type the following lines in the Declarations section:
    Option Compare Database
    Option Explicit
    Public PageSum as Double
    					
  4. Enter the following code in the event procedure for the Print property of the detail section where <report name> is the name of your report, and <field name> is the name of the field you want to sum:
    Private Sub Detail_Print(Cancel As Integer, FormatCount As Integer)
       PageSum  = PageSum + Reports![<report name>]![<field name>] 
    End Sub
    					
  5. Enter the following code in the event procedure for the Format property of the page header:
    Private Sub PageHeaderSection_Format(Cancel As Integer, FormatCount As Integer)
       ' reset the counter for each new page
       PageSum = 0 
    End Sub
    					
  6. Insert a text box control with the following properties in the page footer:
       Name: txtPageTotal
       ControlSource: =[PageSum]
    						
    Run the report and note that the text box displays the sum of the relevant field for each page. If you want to simulate a running sum for the report, delete the reset line from the page header Format event.

Modification Type:MinorLast Reviewed:10/11/2006
Keywords:kbhowto kbProgramming KB216311