質問
レポートにはいくつかの式があり、ゼロによる除算を防ぐために、式フィールドで次のようにします。
= 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です。
所属していません StackOverflow