quickreport 用法(50分)

R

rixin

Unregistered / Unconfirmed
GUEST, unregistred user!
能否用quickrepor實現:
原記錄
A01 aaa 100
A01 bbb 200
A02 aaa 50
A03 bbb 100
A03 ccc 20
A03 ddd 20
...

打印出

A01 aaa 100
A01 bbb 200
sum: 300
A02 aaa 50
sum: 50
A03 bbb 100
A03 ccc 20
A03 ddd 20
sum: 140
...
 
当然可以
具体操作:
加入控件
QuickRep1 : TQuickRep;
qrGroup1 : TQrGroup;
qrDetail1 : TQrDetail;
qrBand1 : TQrBand;
qrDbText1, qrDBText2, qrDBText3 : TQrDBText;
qrExpr : TQrExpr;
其中:
QuickRep1.Dataset := 一个TDataset对象;
qrGroup1.Expression := 第一列的字段名;
qrGroup1.FooterBand := qrBand1;
qrBand1.BandType := rbGroupFooter;
qrDBText1, qrDBText2, qrDBText3为qrDetail1的子控件且它们的
Dataset属性相同,DataField属性分别为各自的字段名
qrExpr.Expression := '''Sum : '' + Sum(字段名)';
qrExpr为qrBand1的子控件



 
没错,是要用QrExpr.
 
多謝jlg

請看下面:qrGroup1.Expression 中應如何寫?

原記錄
A010 aaa 100
A011 bbb 200
A020 aaa 50
A030 bbb 100
A031 ccc 20
A032 ddd 20
...

打印出

A010 aaa 100
A011 bbb 200
sum: 300
A020 aaa 50
sum: 50
A030 bbb 100
A031 ccc 20
A032 ddd 20
sum: 140
...
 
完全可以,用QuickReport的分组报表功能
实现分组可参考QRGroup控件的Expression、FooterBand属性的含意。
实现合计用QRExpr控件,关键属性有Expression、ResetAfterprint等,同时
了解QRBand的BandType属性的各个含意。并且记住数据库要按分组字段排序。

具体实现可参考Delphi自带的例子和Help。


 
qrGroup1.Expression等于Table(或Query)中用于分组的字段名。
如:QRGruop1.Expression:=Table1.aa(假如aa为A010..A100..等字段的字段名)
 
接受答案了.
 
顶部