Multiple Bands?
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
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
This discussion has been closed.
Comments
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
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
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
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
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
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