是的,仍然与this question和this other question中的报告相同。 是的,我知道,我是CR noob :-)无论如何,我已经专注地浏览了Google,并且出现了很多关于如何使用共享变量的教程,但我似乎无法掌握其工作原理,因为我无法实现我需要。
这些是我的公式: (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然后 'UTILE:'+ ToText(ut2_saldo) 否则如果ut2_saldo = 0那么 'Pareggio' 其他 'PERDITA:'+ ToText(ut2_saldo)
(PassSaldoShared,在主报告中创建) whileprintingrecords; global numbervar pass_saldo; pass_saldo;
(AttSaldoShared,在主报告中创建) whileprintingrecords; global numbervar att_saldo; att_saldo;
这个想法是有一个“最终平衡”,但变量总是0,所以我总是看到“Pareggio”而不是正确的值。所有公式都正确放置:
据我所知,这应该是做事的正确方法(但我可能是错的,那就是......:D)我无法查明问题。 你能帮我吗?
最诚挚的问候,
安德鲁
答案 0 :(得分:1)
好吧,我设法通过使用6(SIX)公式,在报告的顶部两个公式来声明和初始化变量为0(零)两个子报告计算总和,最后两个在主报告中实际显示值: - )
无论如何,我们重新编写了报告(感谢我们的一个SQLServer主人),现在几乎所有的复杂性(子代表,共享变量)都消失了! woooooooo hooooooooooo! : - )
然而,对于我的任何一个问题,我都没有得到任何答案,然而我的问题仍然存在,但是,我仍然感到高兴,因为我仍然无法理解为什么,哦为什么!?!,水晶会崩溃或者只是消失而不会对可能发生的事情留下任何暗示。没有错误日志我知道并且在事件查看器中没有明显的迹象,没有可以解释这样的怪人。感谢您的所有时间,
安德鲁