在if else语句中添加公式

时间:2017-07-24 07:53:28

标签: crystal-reports

我需要在显示字符串中使用公式来更改交叉表中的文本。我必须计算一些基于数值的数据库值,并用“”替换一些值。以下是数值的公式:

shared numberVar array sgpa;
shared stringVar array stds;
shared booleanVar array show_gpa;

numberVar i;
stringVar _sgpa:="";

for i:=1 to count(stds)
do
if stds[i] = GridRowColumnValue("TAB_COURSE_GRADE.STD_ID2") then _sgpa := 
iif(show_gpa[i], ToText(sgpa[i],"##.##"),"");

_sgpa

如果有其他方式给我“这里需要一个字符串”错误,我怎么能有效地添加这个if / else语句:

shared numberVar array sgpa;

shared numberVar array sgpa;
shared stringVar array stds;
shared booleanVar array show_gpa;

numberVar i;
stringVar _sgpa:="";


If CurrentFieldValue = "UF"
Then ""
Else 
for i:=1 to count(stds)
do
if stds[i] = GridRowColumnValue("TAB_COURSE_GRADE.STD_ID2") then _sgpa := iif(show_gpa[i], ToText(sgpa[i],"##.##"),"");

_sgpa

1 个答案:

答案 0 :(得分:0)

为什么不将它分成多个公式?

制作一个单独的公式Calculations,它将执行所有所需的数学运算以获得显示值,但不进行CurrentFieldValue检查。然后制作一个名为IfElse的第二个公式,它看起来像:

IF CurrentFieldValue = "UF" THEN "" ELSE CSTR({@Calculations})