我正在创建一个报告(截图见下方),其中我必须显示列Balance
的总计。通过添加或减去balance
和dr
列值来生成此cr
列值。有关详细说明,如果dr
为0
,则cr
值将从balance
值中减去,如果cr
为0
则{{1} }}值将添加到dr
值,balance
列第一个值将来自balance
列的particulars (=opening)
或dr
值,然后计算将开始并且将运行总计cr
。
我尝试了一些Crystal Report公式来完成此操作但未能获得所需的值。我还附上了我尝试过的公式的快照。
报告的第一页
此图片是我在本报告中用于运行总计的公式。但是这种方法并没有计算出正确的总和,而且这个公式不适用于报告的下一页,因为它从下一页的开头开始
如果有人知道任何其他有用且简单的方法来计算适合我目前情况的跑步总数,请指导我。
答案 0 :(得分:1)
你可以这样做。在报表设计中创建两个公式字段,即ff_Reset_Bal
,ff_Cur_Bal
,并在公式编辑器中将其值设置为:
ff_Reset_Bal
whileprintingrecords;
numbervar RunTotl;
RunTotl:=0;
ff_Cur_Bal
whileprintingrecords;
numbervar RunTotl;
RunTotl:=RunTotl + {WLBills.dr} - {WLBills.cr};
现在将这些公式字段放在报告中,如下所示:
ff_Reset_Bal
(其报告标题NOT页眉)ff_Cur_Bal
(这是您在报告中的余额列)现在在报告标题中隐藏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);
的公式。如果您有一些分组,请记住仅在正确的组更改时评估运行总计。