2015-12-08 37 views
0

我在Crystal Reports中遇到共享变量问题。我用下面的共享变量式每次刷新报表时共享变量值都会发生变化

Shared NumberVar CC31To50; 
Shared NumberVar CC0To30; 
Shared NumberVar CC61To80; 
Shared NumberVar CC51To60; 
Shared NumberVar CCUnk; 
If {Command.cst_rf_label} = '0-30% of area median income (extremely low)' Then 
    CC0To30:=CC0To30+1 
Else If{Command.cst_rf_label} <> '0-30% of area median income (extremely low)' Then 
    CC31To50:=CC31To50+1 
Else If{Command.cst_rf_label} <> '0-30% of area median income (extremely low)' Then 
    CC51To60:=CC51To60+1 
Else If{Command.cst_rf_label} <> '0-30% of area median income (extremely low)' Then 
    CC61To80:=CC61To80+1 
Else If ISNULL({Command.cst_rf_label}) Then 
    CCUnk:=CCUnk+1 

的问题是,当我在刷新报表每次从这些共享变量的值正在改变。任何人都可以提出什么问题?

+0

是否检查过数据库中的数据 – Siva

+0

您的所有* else if *语句是否相同,即Else如果{Command.cst_rf_label} <>'地区中位数收入(非常低)的0-30%'Then'。是这样还是一个错字? – haraman

+0

有一个叫做域的参数。这是工作正常的所有领域的价值观,除了一个... –

回答

0

在报告的开始处(在报告标题中),您应该初始化公式字段中的所有共享变量。将它们全部设置为0.然后,当刷新报告时,您将始终获得相同的结果。

创建公式场像这样:

Shared NumberVar CC31To50:=0; 
Shared NumberVar CC0To30:=0; 
Shared NumberVar CC61To80:=0; 
Shared NumberVar CC51To60:=0; 
Shared NumberVar CCUnk:=0; 

0 

放入报告标题这个公式字段。您可以使用抑制零来格式化该字段。