报表难题!高手请进! 急!急!急!(100分)

  • 主题发起人 主题发起人 glf1573
  • 开始时间 开始时间
G

glf1573

Unregistered / Unconfirmed
GUEST, unregistred user!
小弟用QR作一批复杂报表,数据库有主从关系,想每页只打印一条主表记录(从表记录不定)
如何实现?望各位多多指教!
1。QP不联数据集,只打印一条记录,但如何作循环打印全部记录?
2。想用shape划线,不用band,直接将数据付给报表的每个数据项,此方法可行吗?如何
作循环打印全部记录?如何获取想要打印的记录???
 
建一个quickrep,bands.hasdetail:=true;
格式如下
detail的dataset设为主表的数据集
再建多个qrsubdetail,dataset设为对应的从表数据集
并且主从数据集要建立主从关系!
直接将数据付给报表的每个数据项 这样也行
但等烦
你可以有beforprint事件中改变数据集ok!
就这些了,还搞不定,再来问!
我也正在做这样的报表!
 

两表连接 用 TQRGroup
为什么 不联数据集 ???????????????????
QuickRep1NeedData
band 是 shape的Parent 能 不要吗
 
t365, 请教如何循环打印全部记录?
hfghfghfg, qp联数据集后,如何控制每页打印一条主表记录?
 
to qdgm988
可能动态的生成qrlabel
 
t365, 感谢关注!请问如何循环打印全部记录?
 
用fastreport多好。QuickReport以后问题多多。
 
zhumoo, 由于“种种”原因,只能采用qp!唉!
 
比如你要打印的数据集为DataSet
ptop:=10;
while not Dataset.eofdo
begin
for i:=0 to DataSet.FieldCount-1do
begin
pleft:=pleft+2;
pwidth:=DataSet.Fields.DataSize*8;
QRLabel := TQRLabel.Create(QuickRep1);
with QRLabeldo
begin
Parent := QuickRep1;
Caption := DataSet.Fields{i].AsString;
font.Style:=[];
Left := pLeft ;

Top := pTop ;
Width := pWidth ;
Alignment := taCenter;
end;
pLeft:=pLeft+pWidth;
end;
pTop:=pTop+20;
DataSet.next;
end;

写的可能不完善,但思路基本是这样!
另外quickrep不要显示出来
不然很慢,直接preview即可
 
t365, 谢谢!你的方法是动态向lable负值,可我有子表如何解决?小弟是新手望老兄
详细指教!再次感谢!
 
用这种方法什么样的报表都可打印
但是可能很累!
如果是主从表
你可用detail和subdetail就可解决!
在delphi例程里有这样的例子
demos/quickrpt目录下
 
t365, 我相对主从表全部负值动态显示,如何实现?如何控制预览页数?
谢谢!
 
为什么要这样做呢?
全部动态符值,如果报表格式每一页是固定
可在quickrep的needdate事件中符值,如果格式不固定,哪只有
用我上面所说的方法了,一个一个的动态生成!
 
t365 ,我将格式固定的报表用detail和subdeil实现,qp的数据集不联,
每次预览只显示一条主表记录,怎样全部记录都显示??
多谢!
 
数据源设置是否正确
quickrep数据源连上试试
另外detail和subdetail的数据集要建立主从关系
 
ForceNewPage = True
 
如果不需要显示可以将数据直接输出到打印机。
什么东西都自己控制~~~
 

Similar threads

回复
0
查看
978
不得闲
回复
0
查看
863
不得闲
S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
后退
顶部