Overview
Some Crystal Reports were loading very slowly in both RDPWin and in the Crystal Designer. The problem usually only manifests itself when there are subreports in the report. The more subreports, the longer the load time. The owner statement report was taking almost a minute to load.
The real problem is that Crystal Reports use the printer driver to format the report. This printer driver is stored as part of the report. Some printer drivers cause the formatting to take a long time. By defining "No Printer" as part of the main report and ALL subreports, a generic driver is used, which is much faster for formatting. This does not effect the format of the report, when it is finally printed since the driver for the printer chosen at this time is used. With the owner statement reconfigured, it now takes less than a second to load.
Subreports that are an external file have one copy on the disk in the report file and another copy in the main report. The two subreports are not the same. If changes are made to the external file, the copy in the main report is not changed. The subreport must be re-imported in order to get the new changes. So, all the subreport external files must be changed to No Printer and then re-imported into the main report. The steps below outline this procedure.
Reports that don't have and subreports seem to load quickly with or without the "No Printer" being checked, so changing those reports is optional. All RDP standard Crystal Reports will be changed to the "No Printer" setting.
Steps to Changing Existing Reports
Main Report:
- Open the main report in Crystal Designer and check to see what subreports are in this report. These are the items with a ".rpt" at the end of the name. If the mouse is placed over the item, the mouse over text will begin with "Subreport:".
- Choose File->Printer Setup... from the main menu.
- Click the "No Printer" check box and save. Save the report at this point, but don't close the report.
Modify All Subreports:
- Open one of the external file subreports in Crystal Designer.
- Choose File->Printer Setup... from the main menu.
- Click the "No Printer" check box and save.
- Save the subreport and close it.
- Repeat the steps above for all subreports in the main report.
Continue with Main Report:
- Go back to the main report in Crystal Designer.
- Right click on a subreport and choose "Re-import subreport".
- A warning will appear, answer "Yes".
- Repeat the steps above for all subreports in the main report.
- Save the main report and close it.
- Open the main report to test to make sure it loads instantaneously.