Sunday, January 8, 2012

Limit the number of records per page

Method 1 

To limit the number of records per page, you need to create two formulas that create a running total for each page.

1st Formula: HeaderReset - This formula should be placed in the page header of the report.  It will reset the counter when the report is processed to the next page.  Counter is a variable that stores the number as the report processes each record.

WhilePrintingRecords;
NumberVar counter:=0

2nd Formula: CountDetails - This formula should be placed in the Details section.  It will count each record and increment by one.

WhilePrintingRecords;
NumberVar counter;
counter:=counter+1

You will now need to use the CountDetails formula to force the new page based on the necessary number of records.   To do this:


Go to Format/Section and select the Details section.

Click on the X+2 button to the right of the "New Page After" option.  Be sure not to place a check in the New Page After box.  Once you click on the button, you will be placed in the formula editor.  Enter the following formula:
{@CountDetails}=7  
(enter the number of records you need on each page)

This condition will force a new page when Crystal reaches the seventh record in the details section.  The count will reset to zero at the beginning of each page due to the @HeaderReset formula.
If you need to count the Group Header records instead of the Details section, follow the above instructions for the details section, but place the formula and condition in the Group Header section instead of the Details section.

To hide the formula fields in the header and details section, right click on the field and go to format font.  Change the color to white and you will not be able to see them.

*NOTE: These instructions presume that you have a working knowledge of Crystal Reports. Accuvar assumes no responsibility for any data loss or downtime caused by performing this tip.



Method 2

1. Open the report in Design View
2. Right click on the Details section and select Section Expert
3. Make sure the Details section is selected in the Section Expert dialog box. Check the box that says “New Page After”
4. Click the formula editor button to the right of the checkbox.
5. Enter the following formula

      if Remainder (RecordNumber, 10) = 0 then true else false
6. Click Save and Close and then click OK.
If you run the report it should break after each 10 rows.

No comments:

Post a Comment