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

Multiple Bands?

edited August 2004 in End User
Hi,

In a previous application using Quick Reports, we had a report that
consisted of about 35 different detail bands per record. How do I create a
similar report using Reportbuilder?

The fields in my record are:

PollId
Clerk
EmployeeName
Job1
RegJob1
OTJob1
Job2
RegJob2
OTJob2
Job3
RegJob3
OTJob3
Job4
RegJob4
OTJob4
Job5
RegJob5
OTJob5
Job6
RegJob6
OTJob6
Pay
TipTotal
InOutCounter
These go from 1 to 24:
Entry1In
Entry1Out
Entry1Break
Entry1Job

The first header consists of Clerk Information and Pay/Tips
After the first header the Job1 - 6 information are on separate bands
After Job1-6 there is a Header and following that header Entry1 - 24 are
done as separate bands.

I would greatly appreciate some help to get me started here...

Jonas

Comments

  • edited August 2004

    Welcome to ReportBuilder!

    In ReportBuilder, you use subreports. Subreports provide a powerful and
    elegant solution, much more so than detail bands. SubReports can be used to
    traversed detail datasets and to print alternate layouts. Regions are
    another alternative, though much less powerful. Regions do not traverse
    data - they are simple containers for other components - essentially like a
    TPanel in Delphi.

    I highly recommend that spend some time up front now learning the
    fundamentals of ReportBuilder.....

    ---------------------------------------------------------------
    Article: Resources for Learning ReportBuilder
    ---------------------------------------------------------------

    1. Learning ReportBuilder is a complete learning system designed to teach
    end users how to build a range of reports, but it is also an excellent
    resource for the developer who is just getting started with RB. Learning RB
    includes a 125-page PDF file, a stand-alone application complete with a
    database, and a help file. The PDF file contains a set of tutorials, which
    can be completed using the provided application. Learning ReportBuilder can
    be downloaded from:

    http://www.digital-metaphors.com/Subpages/Downloads/LearningRB.html


    2. Developer's Guide

    When you install RB, this guide is automatically installed into the
    RBuilder\Developers Guide directory. It contains extensive conceptual
    information and step by step tutorials which show how to construct reports
    and reporting applications within the context of the Delphi IDE.


    3. On-Line Help

    Accessible via a single click of the F1 key from with the Delphi IDE, this
    reference resource explains the classes, methods, properties and events
    which make up the product. It is also an excellent source of information
    regarding installation, troubleshooting and version history.


    4. Examples

    There are a large number of example reports and reporting applications
    included with RB. These show how to accomplish some of the most frequently
    requested types of reports. In total there are probably over 200 different
    examples covering everything from crosstabs to full-blown end-user reporting
    solutions. The RAP functionality included with ReportBuilder Enterprise has
    a separate set of demos, tutorials, and help files.


    5. news.digital-metaphors.com

    The newsgroups are very active with both Digital Metaphors engineers, TeamDM
    members (volunteers specially selected for their knowledge of RB and their
    willingness to help) and RB developers all pitching in to answer questions
    and help each other out. There is also a Tech Tips 'newsgroup' maintained
    by DM Engineers which lists over 100 different articles outlining various
    tips and techniques. Probably the easiest way to connect to the newsgroups
    is to surf the digital metaphors site, go to the support section and click
    the newsgroup of your choice:

    http://www.digital-metaphors.com/Subpages/Support/newsgroups.html


    ReportBuilder newsgroup archives may be searched using a search engine
    hosted by Tamarack Associates. Access the the following URL and then search
    the Borland Newsgroup database. Tamarack has indexed the ReportBuilder
    newsgroup archives in this database.


    http://www.tamaracka.com/




    6. support@digital-metaphors.com

    When you are working on the really advanced stuff, and need an additional
    point of view, we're always glad to help.



    --
    Tech Support mailto:support@digital-metaphors.com
    Digital Metaphors http://www.digital-metaphors.com


    --
    Nard Moseley
    Digital Metaphors Corporation
    www.digital-metaphors.com



    Best regards,

    Nard Moseley
    Digital Metaphors
    www.digital-metaphors.com
  • edited August 2004
    Nard,

    Thanks for the information.
    Please get me started in the right direction here. In my main repor I have a
    group (Clerk) and I am printing each clerk on a separate page, however, when
    I try to add the Job1 stuff under each clerk in a supreport, it prints 10
    (Number of Clerks) Job 1' s per clerk. How do I need to set this up to work
    properly?

    Jonas

  • edited August 2004

    1. Have you read the conceptual information and completed the tutorials in
    the Developers Guide? Have you examined the demos in
    RBuilder\Demos\Reports\Demo.dpr and read the articles in the Tech Tips
    newsgroup?

    If the answer to the above is an honest yes, then I can try to help you -
    please answer the questions that follow. If the answer is no, please
    complete all of the tasks describe in number one above.

    A. Requirements
    -------------------

    1. What does the desired output look like? (In other words, what should the
    report output look like?)

    2. What database tables are required to supply the data? And what is the
    relationship between the tables.

    B. Implementation
    ----------------------

    1. What does your current data access implementation look like? Is it a
    master/detail relationship with one query containing a list of clerks and
    another query containing a list of jobs. Or is it a single query containing
    all of the information?

    2. What does the report layout currently look like?





    --
    Nard Moseley
    Digital Metaphors Corporation
    www.digital-metaphors.com



    Best regards,

    Nard Moseley
    Digital Metaphors
    www.digital-metaphors.com
  • edited August 2004
    Mr. Moseley,

    I have studied the examples, and completed tutorials, and the examples are
    good, but often limited. The order summary example has two tables linked
    together which seems too make it easier to creaste sub-reports.

    Please see my first post in regards to what fields I need to display and how
    I would like to display them. All my data is in one table. Please see
    attached table.(DBISAM)

    Right now I have my main report in RB where I have a group (clerk) and a
    subreport. On the subreport I am displaying Job1 information, buf it
    displays information for all 10 clerks, I only need it to display for the
    one that is in the group. I have tried adding additional groups in the
    subreport for the clerk, but without success. In my second sub report which
    will have Job2 data in it, the same thing happens, 10 items.

    I would greatly appreciate some help here. Thank you for your time.

    Jonas


  • edited August 2004

    Observations:

    1. My first recommendation would be that you redesign your database so that
    is normalized. You should have a Clerks table, Jobs table, and Entry Table.

    If redesigning the database is not an option then you can still simulate the
    above by creating three SQL queries that are linked together.

    2. I do not understand the need to use 6 separate subreports (formerly 6
    bands) for the Jobs and 24 separate subreports (formerly 24 bands) for the
    Entry's. Unless each occurence requires a different layout, it would be
    simpler to use a single subreport that contains a Jobs layout and a second
    subreport that contains the Entry layout.

    3. Given the above, here is my recommended approach to modeling this:

    main report --> clerk
    subreport1 --> jobs 1-6
    subreport2 --> entrys 1-24

    a. The data consists of three datasets - clerks, jobs, entrys that are
    linked in master/detail relationships. Clerks is the master. Jobs and Entrys
    are linked to Clerks.

    b. The main report is connected to the clerk data. It traverses the clerk
    data and generates a detail band for each cleark. Subreport1 resides in the
    detail band of the main report. It is connected to jobs data and generates a
    detail band for each job (1-6). Subreport2 resides in the detail band of
    the main report. It is configured to ShiftRelativeTo subreport1. Subreport2
    traverses the Entrys table and generates a detail band for each entry
    (1-24).

    4. With your current approach you have a main report with a group on Clerk.
    Therefore the main report will traverse the table and generate a detail band
    for each clerk. When the clerk value changes then a group break will be
    generated. If you place a subreport in the detail band, it will generate
    once for each clerk record - not what you want. See the Data Access thread
    of Tech Tips newsgroups for the article on Fundamentals of Data Traversal.

    Hope this is helpful, post additional questions/comments here....




    --
    Nard Moseley
    Digital Metaphors Corporation
    www.digital-metaphors.com



    Best regards,

    Nard Moseley
    Digital Metaphors
    www.digital-metaphors.com
  • edited August 2004
    Please see additional questions below...

  • edited August 2004

    If you re-organize the data so that there are three linked queries as I
    described before, then the subreport detail band will print a single Job or
    single Entry. You can use the DetailBand.BeforePrint event to set the
    visibility of the band for non-zero entries.

    if plJobs['DataFieldName'] = 0 then
    myChildReport.DetailBand.Visible := False
    else
    myChildReport.DetailBand.Visible := True;




    --
    Nard Moseley
    Digital Metaphors Corporation
    http://www.digital-metaphors.com


    Best regards,

    Nard Moseley
    Digital Metaphors
    www.digital-metaphors.com
This discussion has been closed.