您的位置:首页 > 其它

【水晶报表】如何实现每页数据汇总?

2007-12-29 10:06 591 查看
1:用一个变量mySum来累计页面数据 “订单.订单金额”
公式@CurrentSum,放在详细资料节需要进行汇总的字段的位置


WhilePrintingRecords;


CurrencyVar mySum;


mySum:=mySum + {订单.订单金额};

如果不需要显示,抑制显示即可

2: 在每页的页脚获取到这个变量的值(也就是该页最后一个Sum值),当然这个时候后一个mySum是前面所有数据的和,
也就是仍然是我以前犯的错误症状
@CurrentPageSum


WhilePrintingRecords;


CurrencyVar mySum;

3:关键所在,在每页的页眉或者页脚的位置将我们的变量重置@ResetPageSum,保证在每页的开始它都是从0开始累计的


WhilePrintingRecords;


CurrencyVar mySum := 0;

在这里对两个基本概念进行说明
[b]WhilePrintingRecords: [/b]
这里的Printing不是指打印机打印的时候,而是水晶报表在获取完数据后将数据显示在报表上的过程


WhilePrintingRecords 强制公式将在程序打印数据库记录的同时进行计算。


该函数也可以强制不含数据库字段和组字段的公式在打印记录的同时而不是在读取记录之前进行处理。它还强制含有数据库字段的公式在打印记录而不是在读取记录的同时进行处理。

变量的作用域问题 :
前一篇文章里我对共享变量进行了说明,而此处则使用的是全局变量(Global)的特性
同一名称的全局变量,在报表(一个报表,不含子报表)中使用同样的内存空间,可以为报表中所有的公式使用
默认情况下,可以省略Global关键字,所以在前面的公式中没有出现这个关键字
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐