2

私はたくさんのaskimgをしていることを知っています、私は毎日学んでいます!

ここに画像の説明を入力してください

問題のある式は次のとおりです。

=IIf(Parameters!ResponseRange.Value = 3, Nothing, 
    IIf(Parameters!ResponseRange.Value is Nothing, Nothing,
        Parameters!ResponseRange.Value))

スペックです。この部分のために-Parameters!ResponseRange.Value is Nothing, Nothing,

パラメータについては、次のように表示されます。パラメータは「テキスト」データ型です。

ここに画像の説明を入力してください

4

1 に答える 1

6

その式のチェックの順序IIf()は奇妙です。通常、最初に「成功」​​またはnull以外のケースを処理する必要があります。また、2つのチェックを1つに組み合わせることができますIIf()

=IIf(Not IsNothing(Parameters!ResponseRange.Value) AndAlso 
    Parameters!ResponseRange.Value <> 3, Parameters!ResponseRange.Value, Nothing)

式の代わりにIsNothing()関数を使用したことに注意してくださいIs Nothing。それ以外は、式自体が有効です。ResponseRangeパラメータのデータ型は何ですか?私はそれがとIntegerの比較によるものであると推測してい3ます。nullになる可能性があることをマークしましたか?のようなプリミティブデータ型は、null許容にしないと、試行Integerしているように設定できません。Nothing

0のまたは-1の代わりにデフォルト値を設定し、それを後でクエリで処理する必要がある場合がありNothingます。

于 2013-01-03T06:40:32.370 に答える