Home General
New Blog Posts: Merging Reports - Part 1 and Part 2

Cross-Tab

edited October 2003 in General
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

Comments

  • edited October 2003
    ------------------------------------------------------
    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.

    --
    Best Regards,

    Nico Cizik
    Digital Metaphors
    http://www.digital-metaphors.com
This discussion has been closed.