fastreport 如何设置 连续打印相同几份报表再打印下份报表!

sstsgqyj 2008-04-15 06:25:19
在fastreport 打印报表时候,不想在打印的时候弹出的对话框里面设置打印份数,因为这样设置结果是几份相同的报表不在一起,不方便管理,请高手知道的提供一下代码或设置方式,我用fastreport 3.0以上版本的,谢谢!
...全文
527 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
jichengzh 2011-08-26
  • 打赏
  • 举报
回复
请问是账目搞定的啊,我也遇到相同的问题,能告示我吗,你的联系方式是什么啊
sstsgqyj 2008-04-16
  • 打赏
  • 举报
回复
搞定了,明白了,谢谢
sstsgqyj 2008-04-16
  • 打赏
  • 举报
回复
先多谢GDTOPONE的热情帮助,请问,输出时候是按照我发的图片效果连续输出两份出来吗?
llh6795 2008-04-16
  • 打赏
  • 举报
回复
up
GDTOPONE 2008-04-16
  • 打赏
  • 举报
回复
修正一下,有点笔误:
while not adoqeruy1 do begin
改为:
while not adoqeruy1.eof do begin
GDTOPONE 2008-04-16
  • 打赏
  • 举报
回复
其实就是将当前的记录复制一份副本出来
这样实现:
先在数据表多加一个标识字段,类型为INT型,本例取名为:codeid,而本例的数据表名为:x_eng;

var
i: Integer;
tmp: array of Variant;
begin
{复制出来的记录codeid取值为1}
with adoqeruy1 do begin
DisableControls;
SetLength(tmp, Fields.Count);
while not adoqeruy1 do begin
for i := 0 to FieldCount - 1 do
tmp[i] := Fields[i].AsVariant;
Append;
for i := 0 to FieldCount - 1 do
Fields[i].AsVariant := tmp[i];
FieldByName(codeid).Asinteger := 1;
next;
end;
Sort:='姓名';{复制完毕记录后按姓名排序}
frReport1.ShowReport;
{删除复制出来的记录}
ADOCommand1.CommandText:='delete x_eng where codeid=1';
ADOCommand1.Execute;
close;
open;{重新打开一次}
EnableControls;
end;

end;
sstsgqyj 2008-04-16
  • 打赏
  • 举报
回复
居然没有人可以帮忙,不知道是我表达不清楚还是真的无人知道如何实现!!!
sstsgqyj 2008-04-15
  • 打赏
  • 举报
回复
在FastReport v2.52 版本中:
frReport1.DefaultCopies:=10;
frReport1.ShowReport;
就可以实现要求;
----------
但在FastReport3.03版本中:
frxReport1.PrintOptions.Copies:=10
frxReport1.ShowReport(true);
打印时总默认为1,不能实现要求(在报表设计器中把PrintOptions.Copies改为10也没反应)
=====================
sstsgqyj 2008-04-15
  • 打赏
  • 举报
回复
或者这样理解:
工作证打印程序,我想张三的工作证连续打印两张,然后再打印李四的,李四的工作证也是打印两张,全部工作证都是这样处理

2,498

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 数据库相关
社区管理员
  • 数据库相关社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧