ReportViewer除以零

时间:2020-03-06 14:59:06  来源:igfitidea点击:

我的报表中有一些公式,为了防止被零除,我在表达式字段中这样做:

= IIF(字段F1.Value <> 0,字段F2.Value /字段F1.Value,0)

这通常可以正常工作,但是当F1和F2都为零时,我在报告中得到" #Error",并且得到以下警告:"文本框textbox196的Value表达式包含错误:试图除以零。"

这是为什么?

解决方案

IIF()只是一个函数,与任何函数一样,所有参数都在调用该函数之前进行求值,包括Fields!F2.Value / Fields!F1.Value。换句话说,尽管存在" Fields!F1.Value <> 0"条件,它将尝试除以零。

一定有比这更漂亮的方法,但这应该起作用:

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