我用的是quickreport,如何将一条记录分到多页中去打印,并且是5联的(200分)

  • 主题发起人 主题发起人 浪里白条
  • 开始时间 开始时间

浪里白条

Unregistered / Unconfirmed
GUEST, unregistred user!
每一联对应一个主QUERY或TABLE,每一联的LABEL对应本联的TABLE,
五个TABLE对应同一数据库。
 
那怎么有5联呢?要5个quickreport吗?
 
QuickRep1.PrinterSettings.Copies:=5;
 
那只是打印份一样的表,5联的表可是要在每一联上显示第几联的
 
在quickrep.的事件中处理。
 
方法1:
临时表,ClientDataSet1.CreateDataSet 。。。。。。等等
总之先生成一样的数据集
方法2:
quickreport 的事件
procedure TForm1.QuickRep1EndPage(Sender: TCustomQuickRep);
begin
if No <6 then
begin
TQuickRep(Sender).DataSet.Prior;
No:=No+1;
end
else
No:=1;
end;

procedure TForm1.QRLabel1Print(sender: TObject;
var Value: String);
begin
Value:='联'+inttostr(no);
end;

还有几个事件没写 这只是 示意
 
还有
将你的数据 与下面的表a连接(不要条件)
order by 原来的字段,a.id

表a
id mytext
1 第1联
2 第2联
3 第3联
4 第4联
5 第4联
 
to:hfghfghfg
好象有了点思路,我试试
 
hi
怎么样了??????????????
 
select 1
union
select 2
union
...
union
select 5
这样不是有5条一模一样的记录了吗?
我用过的
 
完全同意 :xuyq

 
to:xuyq,hfghfghfg
select 1
union
select 2
union
...
union
select 5
是什么意思?
 
select * from floor
union select * from floor
应这样写吗好象并没有变成两条重复的记录呀?
 
xuyq 的 好
 
可怎么用?本来floor里有一条记录如下:
交易类型 年份 层次 套数
买卖 1996 6 10
使用了sql语句select * from floor
union select * from floor子 后
在dbgrid里显示如下:
交易类型 年份 层次 套数
买卖 1996 6 10
(第一个字段的长度变长了)
 
select * from floor
union all
select * from floor
 
多人接受答案了。
 

Similar threads

D
回复
0
查看
1K
DelphiTeacher的专栏
D
D
回复
0
查看
875
DelphiTeacher的专栏
D
后退
顶部