2016-01-11 155 views
0

我有2个表行,它们是TABLE.ROW1 & TABLE.ROW2,它们都包含我的数据库表row1上的数字 row2是varchars类型。这里有一个声明

IF (INSTR({TABLE.ROW1})) > (INSTR({TABLE.ROW2})) 
OR (INSTR({TABLE.ROW1})) = (INSTR(TABLE.ROW2})) THEN (INSTR({TABLE.ROW1})) 
ELSEIF (INSTR({TABLE.ROW1})) < (INSTR(TABLE.ROW2)) THEN "FAIL" 

问题是,水晶报告总是显示这个错误信息; “预计在此发表声明”。 这个问题很麻烦,我认为它来自转换的事情。有人可以帮忙吗?

参考链接: i have try using INSTR but still no result 添加样品的结果:

my objective is to create table like this on the report

+0

你想用两行来实现什么?你确切的要求是什么? – Siva

+0

我已为您添加示例结果图片..感谢您的关注 – audhie

+0

'InStr()'函数至少需要两个参数。 – Arvo

回答

0

我找到了答案,我不知道这是正确的或不是,但这是正确显示在我的水晶报表。我创建单独的公式的值以数字和其他式转换为运行转换结果

@第一公式:

IF isnumeric({Table.Row1}) = true then tonumber({Table.Row1}) else 0

@第二公式:

IF isnumeric({Table.Row2}) = true then tonumber({Table.Row2}) else 0

然后在最终公式:

IF {@1st} > {@2nd} OR {@1st} = {@2nd} THEN {Table.Row1} ELSE IF {@1st} < {@2nd} THEN "FAIL"