我必须使用一个数据库,该数据库返回既是字母字符又使用数字字符的字符串数据。例如,1条记录可以返回字符串" 1000"接下来可能会返回字符串" blah"所有alpha字符串将始终为" Blah"
当返回一个数字字符串时,我想将其格式化为货币,如果是alpha show" Blah"。
这是我试过的,它有点工作???
=IIf(IsNumeric(First(Fields!MyField.Value, "DataSet1")), FormatCurrency(First(Fields!MyField.Value, "DataSet1")) ,"Blah")
如果MyField值是一个数字字符串,例如" 1000"它在报告上格式化为$ 1,000.00。但是,如果MyField值为" blah",则报告显示" ERROR"
任何人都能解释为什么我会看到这种奇怪的行为吗?
由于 佩里
答案 0 :(得分:2)
始终评估IIf
表达式的两个条件,因此即使FormatCurrency("blah")
返回IsNumeric("blah")
,评估False
时也会出现问题。
您可以使用custom code中的相同逻辑解决此问题,您可以使用完整的If/Then/Else
代码。