为Crystal Reports混淆VB代码

时间:2014-04-10 16:41:03

标签: vb.net reporting-services crystal-reports pseudocode

我试图将旧的水晶报告转换为我公司的SSRS报告,并且遇到了一些令人困惑的VB报告,至少可以这么说。如果有人可以将其分解为伪代码以帮助我让ssrs报告正确的信息,我会非常感激!

stringvar BROKER;

if {LOAN_IPT.INTEREST} like "*BROKER" then BROKER := {LOAN_IPT.SHORT_NAME}&"   *** SHORT NAME ***" else BROKER;
if {LOAN_IPT.INTEREST} like "*BROKER" and isnull({CARDINDX.DESCRIPTION}) 
    then BROKER := {LOAN_IPT.SHORT_NAME}&"   *** SHORT NAME ***" else 
    (if {LOAN_IPT.INTEREST} like "*BROKER" then BROKER :={CARDINDX.DESCRIPTION} else BROKER);

编辑:让我解释一下,我知道这不是stackoverflow的代码翻译服务。我要求那些比我更了解情况的人协助我们了解这里发生了什么。似乎有一些不需要的冗余,我试图将其压缩成更易读的版本。就像我说的......我感谢任何帮助,但负面评论根本没有帮助。我认为这个网站是为了帮助解答与代码相关的问题,以便志同道合的人可以在异常情况下一起工作。如果我没有特定的"我很抱歉。这里有问题。我只是接触到一群我认为比我更了解的人,希望有人能够理解代码是什么,并以更多的外行人的方式将其传达给我。

1 个答案:

答案 0 :(得分:3)

公平地说,代码片段过于复杂,以至于一点指导都不会受到伤害。

这是我如何重写它:

if {LOAN_IPT.INTEREST} like "*BROKER" //string match on field
then (if isnull({CARDINDX.DESCRIPTION}) then {LOAN_IPT.SHORT_NAME}&"   *** SHORT NAME ***"
      else {CARDINDX.DESCRIPTION})

else "" //if string match fails, return empty string

编辑:我刚刚想到,如果字符串匹配失败,则不一定返回空字符串,而是返回可能已在报表中其他位置设置的BROKER变量的值。您需要在报告中搜索其他公式,看看是否有任何公式使用相同的变量(我的猜测是他们不是,但你永远不知道)。