为什么此 IIF 比较失败
Why is this IIF comparison failing
我必须使用一个数据库,其中 return 的字符串数据既是字母字符又使用数字字符。例如 1 条记录可能 return 字符串“1000” 下一条可能 return 字符串 "blah" 所有字母字符串将始终是 "Blah"
当数字字符串被 returned 时,我想将其格式化为货币,如果它是 alpha 显示 "Blah"。
这是我尝试过的方法,效果不错???
=IIf(IsNumeric(First(Fields!MyField.Value, "DataSet1")), FormatCurrency(First(Fields!MyField.Value, "DataSet1")) ,"Blah")
如果 MyField 值是数字字符串,例如“1000”,则它在报告中的格式为 $1,000.00。但是,如果 MyField 值为 "blah",则报告显示 "ERROR"
谁能解释为什么我会看到这种奇怪的行为?
谢谢
佩里
始终评估 IIf
表达式的两个条件,因此即使 IsNumeric("blah")
return False
.[= 评估 FormatCurrency("blah")
时也会出现问题。 16=]
您可以在 custom code 中使用相同的逻辑解决此问题,您可以在其中使用完整的 If/Then/Else
代码。
我必须使用一个数据库,其中 return 的字符串数据既是字母字符又使用数字字符。例如 1 条记录可能 return 字符串“1000” 下一条可能 return 字符串 "blah" 所有字母字符串将始终是 "Blah"
当数字字符串被 returned 时,我想将其格式化为货币,如果它是 alpha 显示 "Blah"。
这是我尝试过的方法,效果不错???
=IIf(IsNumeric(First(Fields!MyField.Value, "DataSet1")), FormatCurrency(First(Fields!MyField.Value, "DataSet1")) ,"Blah")
如果 MyField 值是数字字符串,例如“1000”,则它在报告中的格式为 $1,000.00。但是,如果 MyField 值为 "blah",则报告显示 "ERROR"
谁能解释为什么我会看到这种奇怪的行为?
谢谢 佩里
始终评估 IIf
表达式的两个条件,因此即使 IsNumeric("blah")
return False
.[= 评估 FormatCurrency("blah")
时也会出现问题。 16=]
您可以在 custom code 中使用相同的逻辑解决此问题,您可以在其中使用完整的 If/Then/Else
代码。