这样的报表用FastReport如何设计? ( 积分: 100 )

  • 主题发起人 主题发起人 fluganto
  • 开始时间 开始时间
F

fluganto

Unregistered / Unconfirmed
GUEST, unregistred user!
作业环境: Window2000 Pro+SP4+Delphi7+update1+FastReport3.09
所有资料在数据模块DM1中,有Table1,Table2,Ds1,Ds2,Frxdataset1,Frxdataset2
Ds1.dataset:=Table1;
Ds2.dataset:=Table2;
Frxdataset1.datasource:=ds1;
Frxdataset2.datasource:=ds2;
FrxReport1在Form1中,Form1中有uses Udm1,可访问dm1中的资料.
Table1中资料
订单号码 客户 下单日期
0100 ABC 2005/4/1
0101 ABC 2005/4/1

Table2中资料
订单号码 款号 颜色 数量
0100 #101 黑色 1000
0100 #101 白色 1500
0100 #101 红色 2000
0100 #102 黑色 1000
0100 #102 绿色 2000
0100 #102 黄色 3000
0101 #103 黄色 3000
问题1:
如要在报表中显示
订单号码 客户 下单日期 下单说明
0100 ABC 2005/4/1 #101计4500,#102 计6000
0101 ABC 2005/4/1 #103计3000
问题2:
如在报表中显示
订单号码 客户 下单日期 下单说明
0100 ABC 2005/4/1 #101 黑色*1000,白色*1500,红色*2000
0100 ABC 2005/4/1 #102 黑色*1000,绿色*2000,黄色*3000
0101 ABC 2005/4/1 #103 黄色*3000
是否要在Memo的onbeforprint事件在写PascalScript,但我用
Dm1.tabl2.first;//提示出出错,要如何才能调用dm1中的各数据?
请问这样的报表要如何设计?
望各路大侠拔刀相助!
 
作业环境: Window2000 Pro+SP4+Delphi7+update1+FastReport3.09
所有资料在数据模块DM1中,有Table1,Table2,Ds1,Ds2,Frxdataset1,Frxdataset2
Ds1.dataset:=Table1;
Ds2.dataset:=Table2;
Frxdataset1.datasource:=ds1;
Frxdataset2.datasource:=ds2;
FrxReport1在Form1中,Form1中有uses Udm1,可访问dm1中的资料.
Table1中资料
订单号码 客户 下单日期
0100 ABC 2005/4/1
0101 ABC 2005/4/1

Table2中资料
订单号码 款号 颜色 数量
0100 #101 黑色 1000
0100 #101 白色 1500
0100 #101 红色 2000
0100 #102 黑色 1000
0100 #102 绿色 2000
0100 #102 黄色 3000
0101 #103 黄色 3000
问题1:
如要在报表中显示
订单号码 客户 下单日期 下单说明
0100 ABC 2005/4/1 #101计4500,#102 计6000
0101 ABC 2005/4/1 #103计3000
问题2:
如在报表中显示
订单号码 客户 下单日期 下单说明
0100 ABC 2005/4/1 #101 黑色*1000,白色*1500,红色*2000
0100 ABC 2005/4/1 #102 黑色*1000,绿色*2000,黄色*3000
0101 ABC 2005/4/1 #103 黄色*3000
是否要在Memo的onbeforprint事件在写PascalScript,但我用
Dm1.tabl2.first;//提示出出错,要如何才能调用dm1中的各数据?
请问这样的报表要如何设计?
望各路大侠拔刀相助!
 
这么复杂的东西你为什么要麻烦FR,不好先在程序中生成好你需要的最终表,然后传给FR直接打印不就得了.
 
是sql问题,非fr的问题
 
有的地方fr還趕不上delphi自帶的報表設計器好用
 
不好意思,如果用sql可以生成这样的结果也行
但不知道这样的结果要如何产生?
 
该问题可由Sql生成:
方法1:用Sql server存储过程借助临时表
方法2:Sql Server语句功能非常强,对于此问题单独一个Sql语句应该可以,不过前提是
要对表中的数据规律进行分析,如黑色、白色等还有很多其他的颜色吗?完全通用的Sql语句有时是不能实现的。
 
里面的数据实际上会更多,颜色,款号是多样的
能否提供sql解决的更具体的方法!
 
with Ds1.datasetdo

begin
first;
while not eofdo
begin

edit;
下单说明 := qdd(订单号码);
next;
end;
end;
function qdd(订单号码): string;
begin

with Ds1.datasetdo
....(这个你自己写吧)
end;
end;
 
最好先用sql整理好再传给FR吧,可以用存储过程返回这样的记录集,而且也好扩展,万一用Fr写了,以后扩展就麻烦了。
 
在RAVE中,如何将Access中的图片打印出来!!!
我的Fr2.53打印报表时有水印(显示时没有),谁有破解版?难道是我的安装方法不对?
 
网上到处都有
 
同意,用SQL 写好,再传给客户端啊
 
后退
顶部