Crystal reports 这里需要一份声明

Crystal reports 这里需要一份声明,crystal-reports,Crystal Reports,我有两个表行,分别是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)

我有两个表行,分别是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"
IF(INSTR({TABLE.ROW1}))>(INSTR({TABLE.ROW2}))
或者(INSTR({TABLE.ROW1}))=(INSTR(TABLE.ROW2}))然后(INSTR({TABLE.ROW1}))
ELSEIF(INSTR({TABLE.ROW1}))<(INSTR(TABLE.ROW2))然后“FAIL”
问题是,crystal report总是显示此错误消息;“这里需要一份声明”。 这个问题很麻烦,我想是转换的问题。有人能帮忙吗

参考链接: 添加示例结果:


我找到了答案,我不知道这是不是正确的答案,但这在我的crystal report中显示正确。我创建单独的公式来将值转换为数字,并创建其他公式来运行转换结果

@第一个公式:

如果isnumeric({Table.Row1})=true,那么tonumber({Table.Row1})else 0

@第二个公式:

如果isnumeric({Table.Row2})=true,那么tonumber({Table.Row2})else 0

然后在最后的公式中:

如果{@1st}>{@2nd}或{@1st}={@2nd},则{Table.Row1}

否则,如果{@1st}<{@2nd},那么“FAIL”

这两行的目标是什么?您的具体要求是什么?我已经为您添加了样本结果图像。。感谢您的关注
InStr()
函数至少需要两个参数。您好,Arvo,很抱歉我对crystal report了解不多,您对这两个参数的理解是什么?使用
InStr
有什么具体原因吗?您可以直接比较结果。。