Crystal Report Run Total

时间:2015-11-13 11:52:00

标签: crystal-reports crystal-reports-2010 running-total

我正在创建一个报告(截图见下方),其中我必须显示列Balance的总计。通过添加或减去balancedr列值来生成此cr列值。有关详细说明,如果dr0,则cr值将从balance值中减去,如果cr0则{{1} }}值将添加到dr值,balance列第一个值将来自balance列的particulars (=opening)dr值,然后计算将开始并且将运行总计cr

我尝试了一些Crystal Report公式来完成此操作但未能获得所需的值。我还附上了我尝试过的公式的快照。

报告的第一页 this image is first page of report

此图片是我在本报告中用于运行总计的公式。但是这种方法并没有计算出正确的总和,而且这个公式不适用于报告的下一页,因为它从下一页的开头开始

this image is the formulas in this report

如果有人知道任何其他有用且简单的方法来计算适合我目前情况的跑步总数,请指导我。

2 个答案:

答案 0 :(得分:1)

你可以这样做。在报表设计中创建两个公式字段,即ff_Reset_Balff_Cur_Bal,并在公式编辑器中将其值设置为:

  1. ff_Reset_Bal

    whileprintingrecords;
    numbervar RunTotl;
    RunTotl:=0;
    
  2. ff_Cur_Bal

    whileprintingrecords;
    numbervar RunTotl;
    RunTotl:=RunTotl + {WLBills.dr} - {WLBills.cr};
    
  3. 现在将这些公式字段放在报告中,如下所示:

      报告标题部分中的
    1. ff_Reset_Bal其报告标题NOT页眉
    2. 详细信息部分中的
    3. ff_Cur_Bal(这是您在报告中的余额列
    4. 现在在报告标题中隐藏ff_Reset_Bal Right Click,指向Format Field,然后在Common标签中选择{{1} }}

答案 1 :(得分:0)

您可以直接在CR中创建运行总计 - 在“字段资源管理器”中添加“运行总计”字段。总结一下 - 为此,我将创建一个仅包含int counter = 0; int [] t = {1,5,7,8,11,15}; int [] zd = {15,4,3,2,7,20}; for(int i= 0; i<t.length; i++){ for(int j = 0; j < zd.length; j++) { if(t[i]==zd[j]){ counter++; // counter = counter + 1; } } } System.out.println(counter); 的公式。如果您有一些分组,请记住仅在正确的组更改时评估运行总计。