请教fastreport的每页怎么出现合计数

请教fastreport的每页怎么出现合计数,第1张

有一个办法:

在程序中用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)]

请大家注意


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/bake/11632353.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-17
下一篇2023-05-17

发表评论

登录后才能评论

评论列表(0条)

    保存