Solved

Yet Another QReportQuestion - CompositeReport..

Posted on 2000-02-21
16
509 Views
Last Modified: 2012-06-27
Hi,

I was trying to make a Composite report of two reports, but it doesn't print anything.. not even in preview.. I gues I'm doing smth wrong..
Besides, how do I know in front how many pages a report is going to be?
Can anybody give me a code example?

Thanks,

Lizzzard
0
Comment
Question by:lizzzard
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 9
  • 7
16 Comments
 
LVL 8

Expert Comment

by:ZifNab
ID: 2544062
you've to add reports to your composite quickreport :

Thus in the AddReports event of the Composite Report component you add your Quickreports, eg.

procedure TfrmQR3Demo.QRCompositeReport1AddReports(Sender: TObject);
begin
  // The OnAddReports event is called by the CompositeReport
  // to add the reports to list of reports
  with QRCompositeReport1.Reports do
  begin
    Add(frmMasterDetail.QuickRep1);
    Add(frmBasicMD.QuickRep1);
    Add(frmImageRpt.QuickRep1);
  end;
end;

Preview/Print it like

QRCompositeReport1.Preview;

QRCompositeReport1.print;

This is the example of QR itself. I've one at my work also. Also note that the composite report only works on preview and printing (not exporting to html,...)

Zif.
0
 
LVL 8

Accepted Solution

by:
ZifNab earned 50 total points
ID: 2544137
Oops, forgot a question :

About pagecount :

I think the only way is  to use the Prepare method. This method creates the
report (thus time of report-making increases! timex2) but doesn't show or print it.
Then look at QuickReport1.QRPrinter.PageCount which will then be accurate.
Be sure to free the QRPrinter object and set it to nil after you access the
variable but before you preview it.

eg.

QuickRep1.Prepare;
TotalPages := QuickRep1.QRPrnter.PageCount;
QuickRep1.QRPrinter.Free;
QuickRep1.QRPrinter := nil;


I think there is no other way. eg, If you set a TQRSysData to qrsPageCount, you've also set the report's Options property to TwoPass

Regards, Zif.

0
 

Author Comment

by:lizzzard
ID: 2549871
Hi, Zif,

Which version and edition are you working with??

0
Industry Leaders: We Want Your Opinion!

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

 
LVL 8

Expert Comment

by:ZifNab
ID: 2550150
D4/D5 and latest QR.

Doesn't it work?
0
 

Author Comment

by:lizzzard
ID: 2550174
Nope...

TotalPages := QuickRep1.QRPrnter.PageCount;

gives me wrong number of pages. Lookes like the
pagelength differs from this method in relation to the print method of the report. Besides I dont have a qrsPageCount..
I'm using D5, with QReport that comes with Delphi.
Do you have professional?
0
 

Author Comment

by:lizzzard
ID: 2550182
This is my first time I have to make smething with qreport (you already guessed huh?) and the project has to be finished soon, so I don't have too much time to sort it all out. A position I certainly don't like to be in...
0
 
LVL 8

Expert Comment

by:ZifNab
ID: 2551415
But have you first prepared the report, before you checked the pagecount?

I've Enterprise version of D5.

argh, it was qrsPageNumber. Oops sorry.
0
 

Author Comment

by:lizzzard
ID: 2551861
Hm...

I used Prepare.. yes.. But sometimes the number of pages just isn't right. Most of the time one less than it really is...

Strange....

I thought it had to be PageNumber, but it didn;t work, so I thought maybe you had another version...

Still. I'm up sh*t creek...
0
 
LVL 8

Expert Comment

by:ZifNab
ID: 2552493
yes strange indeed.
0
 
LVL 8

Expert Comment

by:ZifNab
ID: 2552548
mmmm, well you've a PageNumber... this is at QuickRep1.PageNumber. (this is at record generation).

It's funny, but it looks like this property contains the latest PageNumber (after Prepare)... I tested it and it seems to give the correct amount of pages (=is last PageNumber).

What does it in your application?

Zif.

0
 

Author Comment

by:lizzzard
ID: 2553728
Hi, Zif..

Thanks for your time..
After prepare,PageNumber just gives me one page too less. When I print it or preview it, there's one page extra. I did a QuickRep1.QRPrnter.Preview and noticed that there was more data on a page... However, I don´t like to mess around with the paper length, because it ought to be right.. just A4..

What do you suggest?

Lizzz...
0
 
LVL 8

Expert Comment

by:ZifNab
ID: 2553748
uck!
0
 

Author Comment

by:lizzzard
ID: 2553977
Thanks! I'll try that...
0
 
LVL 8

Expert Comment

by:ZifNab
ID: 2557597
lizzard,

what happens if you explecitely set the paperlength (in source code)  before calling prepare?

Zif.
0
 

Author Comment

by:lizzzard
ID: 2622791
Hi,

Thanks for your help on this Zif and sorry you haven't heard from me in awhile.. but you know busy...busy..

Anyway, after all I solved this problem by setting the papersize to A4 every time it's printed, What the f**k is going on why I have do do this...
Anyway.. it's solved now..

Thanks again,

Regards,

Lizzz.....SSSSSSSSSSSsssssssssssssssss.........
0
 
LVL 8

Expert Comment

by:ZifNab
ID: 2625648
Hi lizzard,

from my experience QR isn't that very good, however it's also the only reporting tool I've used, so I don't know how other reporting tools are.

Zif.
0

Featured Post

Independent Software Vendors: We Want Your Opinion

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Creating an auto free TStringList The TStringList is a basic and frequently used object in Delphi. On many occasions, you may want to create a temporary list, process some items in the list and be done with the list. In such cases, you have to…
Introduction Raise your hands if you were as upset with FireMonkey as I was when I discovered that there was no TListview.  I use TListView in almost all of my applications I've written, and I was not going to compromise by resorting to TStringGrid…
In this video, viewers will be given step by step instructions on adjusting mouse, pointer and cursor visibility in Microsoft Windows 10. The video seeks to educate those who are struggling with the new Windows 10 Graphical User Interface. Change Cu…
Michael from AdRem Software outlines event notifications and Automatic Corrective Actions in network monitoring. Automatic Corrective Actions are scripts, which can automatically run upon discovery of a certain undesirable condition in your network.…

696 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question