报表分组统计的问题,up有分(50分)

K

kds

Unregistered / Unconfirmed
GUEST, unregistred user!
分组显示的格式是这样的:
组1
姓名 差旅费 交通费 合计
a 10 20 30
b 20 30 50
组2
姓名 差旅费 交通费 合计
c 10 20 30
d 10 30 40
我的目的是在每组的后面加上小计,按照常规来说,显示的数据就是上面的样子,问题是小计怎么加上?
最后形成下面的样子;
组1
姓名 差旅费 交通费 合计
a 10 20 30
b 20 30 50
小计 30 50 80
组2
姓名 差旅费 交通费 合计
c 10 20 30
d 10 30 40
小计 20 50 70
 
如果你是用FR组件,你直接使用合计功能就可以。
合计要放在你的GROUP FOOTER里,这样就可以了。
一般你使用的合计BAND,是对整个报表进行的统计。
就是这么简单,希望你能成功。实际上,FR提供的例子里,也有相关的DEMO。
 
使用REPORTEXPERT,看对分组表的处理!
http://www.smartparter.com/download/ReportExpert20.zip
 
用fastreport
 
还是用delphi自带的,因为我好多报表是这样用的,为了一个要改不值得呀
 
实在不行,就利用sql语句把名细、分组、总计全部查出来。
 
用sql语句把名细、分组、总计全部查出来
 
应该是有办法实现的吧,我用的是QuickRep控件,我知道这个控件能够实现分组,也就是说分组那部分已经实现了,只是分组后的小计应该怎么来实现,其实说回来就是分组报表的设计问题,如果能够简单设计实现的话,那写SQL语句就没有什么必要了。
总之,分组报表(含有小计)怎么来设计?
 
放个band类型是groupfooter
放几个qrexpr设置一下公式
看看qr的demo
 
用fastreport
设定分组头,分组条件(组);
设定分组脚,Sum(差旅费),Sum(交通费),Sum(合计);
 
To realLearning:
你说的,我都做了,可是合计出来的值不对,按照题意来说:
组2的小计的值不是题意所列出的结果,而是:
组1
姓名 差旅费 交通费 合计
a 10 20 30
b 20 30 50
小计 30 50 80
组2
姓名 差旅费 交通费 合计
c 10 20 30
d 10 30 40
小计 50 100 150 //错误就在这一行
组1的正确,组2的不正确,它是把组2 和组1的值累加在一块了,而不是单独计算的组2的值,同样有组3的话,是把组,组2和组3的值累加了。
 
在你原程序的基础上添加一个query控件,sql='select 分组标记字段,Sum(差旅费),Sum(交通费),Sum(合计) from 从表 goup by 分组标记字段',再添加一个datasource控件让它指向query.让原来的mastertable的mastersource属性指向添加的datasource.让原来合计后的三个字段分别指向query中的相应字段即可.
 
fastreport 方便
 
放个band类型是groupfooter
放几个qrexpr设置一下公式
//============
设置qrexpr的ResetAfterPrint:=true;
//==========
 
多人接受答案了。
 
顶部