【问题标题】:how to subtract Sub-Report group from main report group in Crystal Report如何从水晶报表中的主报表组中减去子报表组
【发布时间】:2015-11-17 17:38:40
【问题描述】:

子报表公式

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

主要报告公式

whileprintingrecords;
shared numbervar exp_debit:= Sum ({Exp_debit.amount}, {Exp_debit.date}, "monthly"

主要报告值

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,我需要每个月的值单独请帮助我。

【问题讨论】:

  • 子报表放在哪里,主报表放在哪里?在哪个部分?
  • 子报表公式@exp_credit 放在子报表的group header#1 部分,子报表放在主报表的报表头部分。所有值均已正确计算。每个月扣除子报表最后一个值 2600,我需要单独每个月的值。请尽快帮助我。提前致谢
  • 请回答我的问题,请等待您的回复.....
  • 你的实现非常混乱......最好使用数组......你是否尝试过使用这些......让我知道......再次在主报告中你将主要放在哪里报告值
  • 你为什么使用子报表....我看不出有什么用...从多少表中你得到借方和贷方价值

标签: crystal-reports subreport


【解决方案1】:

您可以尝试以下方法:

为借方和贷方创建 2 个子报告,并在标题中一一放置。将所有借方值存储在数组中,将所有贷方值存储在数组中,并将两者都传递给主报告。

使用以下代码将值存储在数组中。

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

Tonumber(Split(Store[1],"-")[2]) - Tonumber(Split(Store1[1],"-")[2])

小心你减去相似的日期

这将为您提供第一个值的差异..以相同的方式更改存储中的数字并存储 1 个大括号以获取其他值的值

【讨论】:

  • Siva,感谢您的及时支持。如果我使用此公式,则会收到错误消息“公式的结果不能是数组”。如何解决它。很抱歉这个延迟回复。
  • 有两个公式你在说哪个公式...我也检查过不应该出现那个错误
  • 原公式为 --> Shared StringVar 数组存储; store:=store+ (Date&"-"&ToText(Value));我应用的公式是---> Shared StringVar array store; store:=store+ (GroupName ({Exp_debit.date}, "monthly")&"-"&ToText(Sum ({Exp_debit.amount}, {Exp_debit.date}, "monthly")));如果我有任何错误,请告诉我
  • 你有没有在分号后面加 1...加它也编辑一下解决方案
  • 我将主报表公式应用为 ---> Shared Stringvar Store Shared stringvar store1 Tonumber(Split(Store,[1]"-")[2]) - Tonumber(Split(Store1[1] ,"-")[2] ) 但收到错误消息“剩余文本似乎不是公式的一部分。
猜你喜欢
  • 1970-01-01
  • 2011-05-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多