报告将显示两列 Foo 和 Bar
Foo 的某些行是空的 有些具有数值:
Foo:
+----+
| |
+----+
|10.0|
+----+
然后是 Bar 列,该列将从 Foo 中获取值并将 10 添加到它们,报告应产生如下结果:
Foo: Bar:
+----+----+
| | |
+----+----+
|10.0|20.0|
+----+----+
这就是我用来确定 Foo 在 Bar 中是否为数字的表达式:
=IsNumeric(ReportItems!FooBox.Value)
这是 Expression 将产生的结果:
Foo: Bar:
+----+-----+
| |False|
+----+-----+
|10.0|True |
+----+-----+
好的,到目前为止,这正是我想要的方式,因此我这样写 My Expression:
=IIf(IsNumeric(ReportItems!FooBox.Value),
ReportItems!FooBox.Value +10,
"")
这将产生以下结果:
Foo: Bar:
+----+------+
| |#Error|
+----+------+
|10.0|20.0 |
+----+------+
最奇怪的是,当我删除 IIf 的 Truepart 中的小添加时,它将执行:
=IIf(IsNumeric(ReportItems!FooBox.Value),
ReportItems!FooBox.Value,
"")
Foo: Bar:
+----+------+
| | |
+----+------+
|10.0|10.0 |
+----+------+
就好像三元运算符的“错误”部分无论如何都会被执行,从而生成这个 castError 或任何可能的东西。
我怎样才能正确转换值以显示结果如前所述?