Cross-Tab
Hello
I am using RBuilder 7.03 with Delphi 5
I try to create a cross tab from a TIBQuery
(I use Firebird 1.02 and IBExpress)
I set the IBQuery.Active property to True
then I create the ppReport and the Cross-Tab and then
set the rows and columns.
Finally I set IBQuery.Active property to False and run the
application.The report runs and the results are correct
but the report seems to repeat itself, so instead of 2 page reports i
get 150 page reports.
I tried to calculate the number of pages created and i think that
there are as many reports as the lines of the IBQuery created.
Please tell me how i can eliminate this
Thank you
Iakovos Karakizas
I am using RBuilder 7.03 with Delphi 5
I try to create a cross tab from a TIBQuery
(I use Firebird 1.02 and IBExpress)
I set the IBQuery.Active property to True
then I create the ppReport and the Cross-Tab and then
set the rows and columns.
Finally I set IBQuery.Active property to False and run the
application.The report runs and the results are correct
but the report seems to repeat itself, so instead of 2 page reports i
get 150 page reports.
I tried to calculate the number of pages created and i think that
there are as many reports as the lines of the IBQuery created.
Please tell me how i can eliminate this
Thank you
Iakovos Karakizas
This discussion has been closed.
Comments
Article: TroubleShooting: Report Prints Endless Pages
------------------------------------------------------
Occasionally, we have customers state that their reports are in some
infinite state where page after empty page prints forever.
There are a few items to check when this occurs.
The TppReport.AutoStop property is the first thing to check. If this is
false when the DataPipeline property is unassigned, the endless report will
be the result. AutoStop is automatically set to True when DataPipeline is
set to nil, but it is possible to set it back to False. Check for instances
in your code where you might have created this condition.
Another thing to check is that all subreports in your report have their
DataPipeline set. When a subreport does not have its pipeline set, you will
sometimes see a condition where the first detail record prints and then you
get blank pages.
Another, non-data related cause can sometimes be your margin settings. If
you have stretching bands that need to overflow to the next page, if your
margins are too tight, sometimes the report engine will endlessly overflow
to the next page trying to fit the overflow material. As a test, try setting
DetailBand.PrintHeight to phDynamic. A dynamic height band can overflow to
additional pages as needed.
Still another cause might be having a statically positioned control, set to
ReprintOnOverFlow, in the same band with a stretching control. For instance,
if you have a memo set to stretch and in that same band, a label control set
to ReprintOnOverFlow, then on every page after the first, the memo will
begin to print after the label control. If the label is placed low enough
that the memo has no room to print, the report will forever be trying to
print the overflowing memo on the next page.
---
1. Check each report/childreport and make sure that the Report.DataPipeline
property is assigned OR the AutoStop is set to True.
2. Try setting all Detailband.PrintHeight to phDynamic. It may be that you
have a fixed height detail band that is too large to print on a page.
3. As a test, try commenting out all event-handler code associated with the
report. Make sure that you are manipulating the dataset in any manner, while
the report is generating. This can cause the report engine to get lost.
4. Save the report under a new name and try incrementally simplifying it
until the issue goes away. Then incrementally add complexity until you
isolate the cause of the error.
If you still have an issue after performing the above steps, please create a
simple, minimal Delphi project and e-mail to support@digital-metaphors.com
in zip format.
--
Nico Cizik
Digital Metaphors
http://www.digital-metaphors.com