0

レポートには、Foo と Bar の 2 つの列が表示されます。

Foo の一部の行は空です 一部は数値を持ちます:

 Foo:
+----+
|    |
+----+
|10.0|
+----+

Bar 列があります。この列は Foo から値を取得し、それらに 10 を追加します。レポートは次のような結果を生成する必要があります。

 Foo: Bar:
+----+----+
|    |    |
+----+----+
|10.0|20.0|
+----+----+

これは、Foo が Bar 内で数値であるかどうかを判断するために使用する式です。

=IsNumeric(ReportItems!FooBox.Value)

そして、これは式がもたらす結果です:

 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 またはそれが何であれ生成されるかのようです。

前に説明したように結果を表示するために、値を適切に変換するにはどうすればよいですか?

4

1 に答える 1