• Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 602
  • Last Modified:

Problem with making Qreport ?

Hi Guys
I will explain my project then you will tell me where is the problem :

I have a form ( form1) with two Tmemo components and some of Tedit components
The other form ( form2 ) has : Tquickrep
 I put on it QRBand1(property bandtype=rbPageHeader) , QRBand1 has two Tqrimage . ( no problem with QRBand1 )

Then I put QRBand2 (property bandtype=rbdetail ) , QRBand2 has two TQRmemo
One for memo1 and the other for memo2 ( in form1 )
With some qrlabels get the same values of edits in form1

THE PROBLEM : when I write in memos and edits (on form1) then call the instruction (form2.qreport1.Preview; ) , I show what I wrote on edits and memos
But if the information is too long ( and here is the problem ) the qreport don't  open new pages for it and information is cut at the bottom of first page .

This is my problem , I hope you find the solution and explain it for beginner with  QREPORTS .

THANKS .
0
peruzzi
Asked:
peruzzi
1 Solution
 
mokuleCommented:
The problem is: property bandtype=rbPageHeader.
PageHeader cannot be longer then page it can't be realized.
Change bandtype
0
 
mokuleCommented:
It is also the problem with qrmemo.
Try something like this
Put QRStringsband1 and QRExpr1 on it.
Then Edit property Expression of QRExpr and choose variable QRSTRINGBAND1.
You should also set Items of QRStringsband

Hope this helps
0
 
peruzziAuthor Commented:
Hi
makule, nothing changed
I wish you explain more
what I have to do with QRSTRINGBAND1.items

thanks
0
Concerto's Cloud Advisory Services

Want to avoid the missteps to gaining all the benefits of the cloud? Learn more about the different assessment options from our Cloud Advisory team.

 
mokuleCommented:
So,
Two forms.
On Form1 Memo1 and Button1.
On Form2 QuickRep1, QRStringsBand1 and QRExpr1 on this band
Select QRExpr1 property Expression. You've got Expression Wizard. Click button Variable.
Select QRSTRINGBAND1 from the list. Click OK and OK once more.

procedure TForm1.Button1Click(Sender: TObject);
begin
  Form2.QRStringsBand1.Items := Memo1.Lines;
  Form2.QuickRep1.Preview;
end;

That's it. You can run program
0
 
psycho_cat_69Commented:
When you create your TQRMemo, you set a height and a width on your component.  A component cannot be splitted on different pages of a QuickReport.  So when your text is larger then your component, you text doesn't appear on the QR.  

You should assign you TMemo.Lines[x] manually.  So when you'll hit the end a the page...You'll be able to generate a new page and continue the display of your Memo!
0
 
LimbeckCommented:
Somethign that will probably help is :
Add a TClientdataset
Define the fileds you want in it
in your code :
   createdataset
  Fill the fields/records with data

then use this Clientdataset as datasource for your Quickreport

grt
Ed
0
 
peruzziAuthor Commented:
Hi guz....
makule , thanks for your good example
now , I understand well, but I want to put some qrlabel components between the two qrstringbands
how can I do that ?

I am waining

peruzzi
0
 
mokuleCommented:
Put another qrstringband, and qrlabel on it
0
 
peruzziAuthor Commented:
Hi
Mokule , thanks for your help ,now every thing go well
thanks again
and thanks for all who try to answer this question

peruzzi
0

Featured Post

Receive 1:1 tech help

Solve your biggest tech problems alongside global tech experts with 1:1 help.

Tackle projects and never again get stuck behind a technical roadblock.
Join Now