I Have a Crystal Report and get a sum of a field like this:
Sum({TheField})
我把它放在PageFooter部分,以便在所有页面中都有它,但如果报告有多个页面,它会显示所有字段的总和,我需要得到每页的总和。
有什么办法吗?
您可以按如下方式获取页面级总计。在报表设计中创建三个公式字段,即ff_Reset_Total
、ff_Current_Total
、ff_Add_Record
,并在公式编辑器中将它们的值设置为:
-
ff_Reset_Total
whileprintingrecords; numbervar PageTotl; PageTotl:=0;
-
ff_Current_Total
whileprintingrecords; numbervar PageTotl; PageTotl;
-
ff_Add_Record
whileprintingrecords; numbervar PageTotl; PageTotl:=PageTotl + {TheField};
现在将这些公式字段放在您的报告中,如下所示:
-
页眉部分中的
ff_Reset_Total
-
页面页脚部分中的
ff_Current_Total
-
详细信息部分中的
ff_Add_Record
现在,在页眉和详细信息部分中,用Right Click
分别隐藏ff_Reset_Total
和ff_Add_Record
,指向Format Field
,然后在Common
选项卡中选择Suppress
在报表头中创建一个变量。
numbervar runningtot;
runningtot:=0;
将{TheField}添加到行级别的变量中。
numbervar runningtot;
runningtot:=runningtot+{TheField};
在页脚A 中显示变量
numbervar runningtot;
runningtot;
将页脚B 中的变量重置为零
numbervar runningtot;
runningtot:=0;
您可以在页脚A中的一个公式中显示和重置变量,但以上内容更容易理解。。