我需要在显示字符串中使用公式来更改交叉表中的文本。我必须计算一些基于数值的数据库值,并用“”替换一些值。以下是数值的公式:
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
答案 0 :(得分:0)
为什么不将它分成多个公式?
制作一个单独的公式Calculations
,它将执行所有所需的数学运算以获得显示值,但不进行CurrentFieldValue
检查。然后制作一个名为IfElse
的第二个公式,它看起来像:
IF CurrentFieldValue = "UF" THEN "" ELSE CSTR({@Calculations})