Microsoft KB Archive/182823

= ACC: "Continued" Header with Groups That Span Multiple Pages (95/97) =

Article ID: 182823

Article Last Modified on 1/22/2007

-

APPLIES TO


 * Microsoft Access 95 Standard Edition
 * Microsoft Access 97 Standard Edition

-



This article was previously published under Q182823



Moderate: Requires basic macro, coding, and interoperability skills.



SUMMARY
This article shows you how to create a label that will print 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 containing "Continued from previous page..." is printed at the top of the page.



MORE INFORMATION
The following steps use the sample database Northwind.mdb to demonstrate how to create a label that is printed at the top of each report page when a data group spans multiple pages:

 Open the sample database Northwind.mdb and create a new module.  Enter 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 and base 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. Right-click anywhere in the detail section that is not occupied by a control to display the property sheet of the detail section.</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 select Country from the drop-down list. Set the GroupHeader property to Yes; 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 set its Caption property to Continued from previous page... ; set the Name property of the label to ContinuedLabel and set its Visible property to No.</li>  Add a text box to the page header section and set its properties as follows:

<pre class="fixed_text">      Name: CheckGroupVal ControlSource: Country Visible: No                       </li>  Set the OnPrint property of the page header as follows:

<pre class="fixed_text">       =SetContinuedLabel(Report) </li>  Add a text box to the page footer section of the report and set its properties as follows:

<pre class="fixed_text">      Name: SetGroupVal ControlSource: Country Visible: No                       </li>  Set the OnPrint property of the page footer as follows:

<pre class="fixed_text">      =SetGlobalVar(Report) </li> Set the Height property of the page footer section 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">