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)