質問

レポートにはいくつかの式があり、ゼロによる除算を防ぐために、式フィールドで次のようにします。

= IIF(Fields!F1.Value <!> lt; <!> gt; 0、Fields!F2.Value / Fields!F1.Value、0)

これは通常正常に機能しますが、F1とF2の両方がゼロの場合、<!> quot; #Error <!> quot;レポートでは、次の警告が表示されます。<!> quot;テキストボックスの値式<!>#8216; textbox196 <!>#8217;エラーが含まれています:ゼロで除算しようとしました。<!> quot;

なぜですか?

役に立ちましたか?

解決

これよりきれいな方法が必要ですが、これは機能するはずです:

=IIF(Fields!F1.Value <> 0, Fields!F2.Value / 
   IIF(Fields!F1.Value <> 0, Fields!F1.Value, 42), 0)

他のヒント

IIF()は単なる関数であり、他の関数 all と同様に、Fields!F2.Value/Fields!F1.Valueを含め、関数が呼び出されるに引数が評価されます。つまり、Fields!F1.Value <> 0条件にもかかわらず、ゼロで除算しようとします。

ただし、使用できます

if Fields!F1.Value <> 0 
then 
Fields!F2.Value/Fields!F1.Value
else 0

これは動作するはずです。なぜなら、<!> quot; if <!> quot;セクションはfalseです。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top