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

REPOST: RB Newbie Question

edited May 2002 in General
My apologies for this repost, but my previous post does not
seem to reach the server.

-----------

Dear All,

I downloaded RB recently, and and since most of my previous
reports are done in QuickReports, I have some difficulties
understanding ReportBuilder's approach to certain tasks.

Here's one for starter...

In QR, since the report is tied to the form, we can create
a hierarchy of reports piggybacking Delphi's Visual Form
Inheritance mechanism. What this means is that I can start
with a basic report that contains only several components
for the headers and footers (Report titles, user name,
printing timestamp, page number), and apply generic
formatting (font colors, etc). This is the highest-level
ancestor.

All other reports will INHERIT from this report/form, so
they will inherit all the components/properties of the
ancestor. Each children will 'override' some components
(report title, dbtexts in the detail band, etc) if needed.

This way, whenever a sweeping change is required, I can
just open the ancestor form/report, change the properties,
and all the children's inherited components will change
accordingly.

How do we accomplish the same thing with ReportBuilder?

The obvious answer would be just like QuickReport,
putting each ppReport Component inside a form in itself,
inheriting the form each time I need a new form.

But since ReportBuilder doesn't really NEED a form, I have
a feeling that I'm missing something. Not to mention that
the scheme will probably lose me the ability to use
templates (RTM?).

As far as I can understand from the documentations, report
persistence in RB is accomplished by three pieces of
technology: RTMs, DADE, and RAP. DADE allows one to store
queries, etc inside a report, and RAP allows one to store
logic code inside a report. RTM provides a way to store
the report in a file or database.

To rephrase my earlier question, let's assume that I have
10 reports stored in RTM format on file. How do I make sure
that the ten reports will have exactly the same HEADERs and
FOOTERs for example?

I have a lot of legacy QR reports relying on this behaviour,
and converting them one by one is error prone and tedious.
I have not seen this mentioned anywhere in the documentation,
so I thought I'd just ask. Sorry for the long winded email.

Thanks in advance...
sugi.

PS: please cc my email, i may not be able to follow the
newsgroups closely. thank you.

Comments

  • edited May 2002
    Hi Sugi...



    Unfortunately RB does not use inheritance as you describe it. You would
    create a general template with everything you need on it. You would then
    make a copy of it and add what ever you need to the copy. This means, as you
    probably already figured out, that you have to update each and every report
    if this change has to be in all of them.



    One alternative might be to create your common components in code and add it
    to a loaded template, but this is rather tedious as well.



    Cheers, Marco...
    -----------------------------------------------------------
    QUMAS
    Enterprise Compliance Management
    Visit our Website: http://www.qumas.com



  • edited May 2002
    You can indeed use form inheritance as you did in QR.

    However, form inheritance is not compatible with templates.

    One approach that some developers use for replaceable headers/footers, etc.
    is to load a subreport into that area. See the example in RBuilder\Demos\End
    User\Dynamic Subreport Loading...

    --
    Cheers,

    Tom Ollar
    Digital Metaphors Corporation
This discussion has been closed.