
在程序中用select sum语句,得到统计数,
再赋值给memo!
然后再show report。不过相对来说这个方法复杂了,要是想要比较简单的方法的话就用finereport来做,会好一些。
可以用sql例如
select 产品1,数量 from table where ........
union
select ''合计'' as 产品1 ,sum(数量) as 数量 from table where......
不过蛮麻烦的,或者你可以试试FineReport,可以直接把数据字段拖过来求和汇总的。
公司需要,我写的delphi程序需要产生包括页小计,合计报表的程序,这里我们用到fast report还蛮好用的,现在介绍一下。首先你要插入报表控件TfrxReport,双击进去后,选择Report->data就可以选择在介面里报表外的TfrxDataset(可以连table、query,up to you)
1关键还是学会使用band
在fast report里面band是个很重要的区域单位,里面包括header/footer/masterdata/detaildata etc. .在最右边的工具栏里有insert band,好好地利用它
1合计
其实蛮简单的,加个footer band,往里面丢memo就可以了。不过值得注意的是使用sum()和数据变量,数据结构为<frxdbdtst1."T$pltu">,在合计那里我们通常是用sum(<frxdbdtst1."T$pltu">),但是显示的不是数据,是sum(frx....,必需还要加上[],但这还不行,这只能显示“600060001200"把所有数据连接起来的字符串,所以正解是
[sum(strtofloat(<frxdbdtst1."T$pltu">))]
用strtofloat 告诉电脑<frxdbdtst1."T$pltu">作为数字使用。这样就能得出13200正确合计啦。
2小计
经过本人吐血测试,发现只需在page那里加上pagefooter band,往里面丢memo就可以了,每页底下就有小计,无需设置,简单易用。不过它的sum()格式有点不同
[sum(strtofloat(<frxdbdtst1."T$pltu">),detaildata1)]
请大家注意
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)