【问题标题】:Crystal Reports 8, shared variables and formulasCrystal Reports 8,共享变量和公式
【发布时间】:2010-10-02 11:57:03
【问题描述】:

是的,与this questionthis other question 中的报告仍然相同。 是的,我知道,我是 CR 菜鸟 :-) 无论如何,我已经仔细浏览了 Google,并且弹出了很多关于如何使用共享变量的教程,但我似乎无法掌握它的工作原理,因为我无法实现我需要。

这些是我的公式: (ActiveAttSaldo,在正资产子报表中创建) 打印记录时; 全局编号var att_saldo; att_saldo := Sum ({@ImportoEuroConto}, {SP_EstrattoConto.TipoConto})

(PassSaldo,在负资产子报表中创建) 打印记录时; 全局编号var pass_saldo := 0; pass_saldo := Sum ({@ImportoEuroConto}, {SP_EstrattoConto.TipoConto})

(UtileSaldo,在主报告中创建) 打印记录时; 共享编号var ut2_saldo; ut2_saldo := {@AttSaldoShared}-{@PassSaldoShared};

如果 ut2_saldo > 0 那么 '实用程序:'+ToText(ut2_saldo) 否则如果 ut2_saldo = 0 那么 '帕雷焦' 别的 'PERDITA: '+ToText(ut2_saldo)

(PassSaldoShared,在主报告中创建) 打印记录时; 全局编号var pass_saldo; pass_saldo;

(AttSaldoShared,在主报告中创建) 打印记录时; 全局编号var att_saldo; att_saldo;

这个想法是有一个“最终平衡”,但变量总是 0,所以我总是看到“Pareggio”而不是正确的值。所有公式都正确放置:

  • ActiveAttSaldo 放置在组页脚 1(活动资产子代表)中 - 按“TipoConto”分组
  • PassSaldo 放置在组页脚 1(被动资产子代表)中 - 按 TypoConto 分组
  • UtileSaldo、AttSaldoShared 和 PassSaldoShared 都在同一部分中声明,这是由 CodiceSocieta(CompanyCode,英文)分组的组页脚 1b(在组页脚 1a 中,两个子报表都存在)。

据我所知,这应该是正确的做事方式(但我可能是错的,即... :D)而且我无法查明问题所在。 你能帮帮我吗?

最好的问候,

安德鲁

【问题讨论】:

    标签: crystal-reports


    【解决方案1】:

    好的,我设法通过使用 6(六)个公式来做到这一点,报告顶部的两个用于声明变量并将变量初始化为 0(零),每个子报告两个用于计算总和,最后两个在主报告中实际显示值:-)

    无论如何,我们重新编写了报告(感谢我们的一位 SQLServer 大师),现在几乎所有的复杂性(子代表、共享变量)都消失了!呜呜呜呜呜呜! :-)

    然而,令我大吃一惊的是,我的任何问题都没有得到任何答案,其中一些问题仍然 - 但是 - 未解决,因为我仍然无法理解例如为什么,哦,为什么!?!,Crystal会崩溃或干脆消失,而不会留下任何可能发生的事情的暗示。我知道没有错误日志,事件查看器中也没有明显的迹象,没有可以解释这些怪事。

    同样感谢您的宝贵时间,

    安德鲁

    【讨论】:

      猜你喜欢
      • 2013-06-14
      • 1970-01-01
      • 2012-01-20
      • 2023-04-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多