Microsoft KB Archive/207624

= ACC2000: How to Create a 'Continued' Header with Groups That Span Multiple Pages =

Article ID: 207624

Article Last Modified on 6/28/2004

-

APPLIES TO


 * Microsoft Access 2000 Standard Edition

-



This article was previously published under Q207624



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 create a label that prints at the top of each report page when a data group spans multiple pages.

The events used in this technique capture the value of the group in the page footer. If this value is the same as the page header value on the next page, a label stating "Continued from previous page ..." is printed at the top of the page.



MORE INFORMATION
To create a "Continued from previous page ..." label that prints at the top of each report page when a data group spans multiple pages, follow these steps:  Start Microsoft Access and open the sample database Northwind.mdb.  Create a new module. Type or paste the following Public declaration and functions in the module: Public CurrentGroupVal as String

Function SetGlobalVar (InReport as Report) CurrentGroupVal = InReport!SetGroupVal End Function

Function SetContinuedLabel (InReport as Report) If InReport.Page <> 1 then InReport!ContinuedLabel.Visible = _ IIf(Trim(InReport!CheckGroupVal) = _         Trim(CurrentGroupVal), True, False) End If End Function  Create a new report in Design view, basing it on the Customers table. If the field list is not already visible, click Field List on the View menu. Drag the CompanyName and City fields to the detail section. To display the property sheet of the detail section, right-click anywhere in the detail section that is not occupied by a control.</li> Set the Height property of the detail section to 0.75". Close the property sheet.</li> On the View menu, click Sorting and Grouping.</li> In the Sorting and Grouping dialog box, click the first Field/Expression row, and then select Country from the list. Set the GroupHeader property to Yes, and then close the Sorting and Grouping dialog box.</li> Drag the Country field from the field list to the country header section.</li> Set the Height property of the country header section to 0.5".</li> Set the Height property of the page header section to 0.5".</li> Add a label to the page header section, and then set its Caption property to Continued from previous page ....</li> Set the Name property of the label to ContinuedLabel, and then set its Visible property to No.</li> Add a text box to the page header section, and then set its properties as follows:

Name: CheckGroupVal

ControlSource: Country

Visible: No

</li> Set the On Print property of the page header as follows:

=SetContinuedLabel(Report)

</li> Add a text box to the page footer section of the report, and then set its properties as follows:

Name: SetGroupVal

ControlSource: Country

Visible: No

</li> Set the On Print property of the page footer as follows:

=SetGlobalVar(Report)

</li> Set the Height property of the page footer to 0.5".</li> Preview the report. Note that the "Continued from previous page ..." label appears at the top of any page whose Country details span more than one page.</li></ol>

Note that these steps are for illustrative purposes only. Your report may require adjustments other than those mentioned. You may want to prevent a section from being split across pages by setting its KeepTogether property to Yes. In the example, you may also want to set the ForceNewPage property of the country header section to Before Section to help control the page layout.

You can also use the GrpKeepTogether property to keep groups of records together or to keep the group header with the first record in the group. You may want to experiment with this property to see how it affects your report's layout.

<div class="references_section">