是的,仍然是在this question和this other question中的报告。 是的,我知道,我是一个CR noob :-)无论如何,我已经仔细地浏览了Google,并且有很多关于如何使用共享变量的教程,但我似乎无法掌握它的工作原理,因为我无法实现我需要的。Crystal Reports 8,共享变量和公式
这些是我的公式: (ActiveAttSaldo,在正值资产子报表中创建) whileprintingrecords; global numbervar att_saldo; att_saldo:= SUM({@ImportoEuroConto},{SP_EstrattoConto.TipoConto})
(PassSaldo,在负资产子报表创建) whileprintingrecords; global numbervar pass_saldo:= 0; pass_saldo:= SUM({@ImportoEuroConto},{SP_EstrattoConto.TipoConto})
(UtileSaldo,在主报告创建) whileprintingrecords; shared numbervar ut2_saldo; ut2_saldo:= {@AttSaldoShared} - {@ PassSaldoShared};
如果ut2_saldo> 0,则 '效用值:' + ToText(ut2_saldo) 否则如果ut2_saldo = 0然后 'Pareggio' 别的 '珀迪塔:' + ToText(ut2_saldo)
(PassSaldoShared,创建在主报告中) whileprintingrecords; global numbervar pass_saldo; pass_saldo; pass_saldo;
(AttSaldoShared,在主报告中创建) whileprintingrecords; global numbervar att_saldo; att_saldo;
的想法是有一个“最后的平衡”,但变量始终为0,所以我总是看到“Pareggio”,而不是正确的值。所有的公式都正确放置:
- ActiveAttSaldo被放置在组尾1(活性资产subrep) - 分组由“TipoConto”
- PassSaldo被放置在组尾1(被动资产subrep) - 由TypoConto分组
- UtileSaldo,AttSaldoShared和PassSaldoShared都在相同的部分,它是由CodiceSocieta(企业编码,英语)分组组页脚1B(在组页脚1a中两个子报表都存在)声明。
据我所知,这应该是做事情的正确方法(但我可能是错的,那是......:D),我无法确定问题的真正原因。 可以请你帮我吗?
最好的问候,
安德鲁