Crystal reports 如何在Crystal Report中从主报表组中减去子报表组
次级报告公式Crystal reports 如何在Crystal Report中从主报表组中减去子报表组,crystal-reports,subreport,Crystal Reports,Subreport,次级报告公式 whileprintingrecords; shared numbervar exp_credit:= Sum ({Exp_credit.amount}, {Exp_credit.date}, "monthly" 子报表值 04/2014 1500 05/2014 2000 06/2014 1500 07/2014 1000 08/2014 3000 09/2014 4000 10/2014 3500 11/2014 2800 12
whileprintingrecords;
shared numbervar exp_credit:= Sum ({Exp_credit.amount}, {Exp_credit.date}, "monthly"
子报表值
04/2014 1500
05/2014 2000
06/2014 1500
07/2014 1000
08/2014 3000
09/2014 4000
10/2014 3500
11/2014 2800
12/2014 2600
01/2015 2800
02/2015 2800
03/2015 2600
04/2014 3500
05/2014 3500
06/2014 3000
07/2014 4000
08/2014 3900
09/2014 3900
10/2014 4000
11/2014 5000
12/2014 2800
01/2015 3500
02/2015 3700
03/2015 3700
主报告公式
whileprintingrecords;
shared numbervar exp_debit:= Sum ({Exp_debit.amount}, {Exp_debit.date}, "monthly"
主报告值
04/2014 1500
05/2014 2000
06/2014 1500
07/2014 1000
08/2014 3000
09/2014 4000
10/2014 3500
11/2014 2800
12/2014 2600
01/2015 2800
02/2015 2800
03/2015 2600
04/2014 3500
05/2014 3500
06/2014 3000
07/2014 4000
08/2014 3900
09/2014 3900
10/2014 4000
11/2014 5000
12/2014 2800
01/2015 3500
02/2015 3700
03/2015 3700
净公式
whileprintingrecords;
shared numbervar exp_credit;
shared numbervar exp_debit;
shared numbervar net:= (exp_debit-exp_credit);
我得到的是公式净值
04/2014 900
05/2014 900
06/2014 400
07/2014 1400
08/2014 1300
09/2014 1300
10/2014 1400
11/2014 2400
12/2014 200
01/2015 900
02/2015 1100
03/2015 1100
我想每个月都会扣除子报表最后一个值2600,我需要每个月的值,请帮助我。您可以尝试以下方法: 为借方和贷方创建两个子报告,并在标题中逐个放置。将借方的所有值存储在数组中,贷方的所有值存储在数组中,并将两者传递给主报表 使用以下代码在数组中存储值
Shared StringVar array store;
store:=store+ (Date&"-"&ToText(Value));
//append date and value to retrieve correctly in main report
1
使用不同的共享变量在两个子报表中创建相同的公式
在主要报告中
Shared Stringvar Store //assume debit value
Shared stringvar store1 //assume credit
//now split and convert to number and subtract the values
tonumbersplitstore[1],-[2]-TonumberSplitStore1[1],-[2]
小心你减去相似的日期
这将为您提供第一个值的差异。同样,更改store和store 1大括号中的数字以获取其他值的值您将子报表放置在何处,将主报表放置在何处?在哪一节中?子报表公式@exp_credit放在子报表的集团标题1节中,子报表放在报表标题部分的主报表中。所有值都已正确计算。每个月扣除子报表上一次值2600,我需要分别计算每个月的值。请尽快帮助我。提前谢谢,请回答我的问题,请等待您的答复…您的实现非常混乱…最好使用数组…您是否尝试过使用这些数组…请让我知道…再次在主报告中,您将主报告值放置在何处?您为什么使用子报告…我看不到任何用途…从多少表中,您获得了借方和贷方值Siva,感谢您的及时支持。如果我使用此公式,则收到错误消息,公式的结果不能是数组。如何解决这个问题。很抱歉延迟回复。您正在谈论的公式有两个……而且我检查了不应该出现错误。原始公式是->共享StringVar数组存储;存储:=存储+日期-&ToTextValue;我应用的公式是-->共享StringVar数组存储;store:=store+GroupName{Exp\u debit.date},monthly&&ToTextSum{Exp\u debit.amount},{Exp\u debit.date},monthly;如果我有任何错误,请告诉我您在分号后添加了1…同时添加它编辑解决方案bitI应用的主报告公式为-->共享Stringvar Store共享Stringvar store1 Tonumber SplitStore,[1]-[2]-TonumberSplitStore1[1],-[2],但收到错误消息剩余文本似乎不是公式的一部分。