RDLC Math错误处理

时间:2012-07-30 14:05:18

标签: c# reporting-services rdlc

如果txtTotalFixedAsset3为0,则下面的表达式无法给出#error结果

=IIf(ReportItems!txtTotalFixedAsset3.Value<> 0 ,(ReportItems!txtTotalFixedAsset.Value  /ReportItems!txtTotalFixedAsset3.Value)*100 , 0)

我错了什么?

=IIf(ReportItems!txtTotalFixedAsset3.Value<> cDec(0) ,(ReportItems!txtTotalFixedAsset.Value  /ReportItems!txtTotalFixedAsset3.Value)*100 ,cDec(0))

我也尝试过这个。但没有成功。 txtTotalFixedAsset3值的类型为decimal。

1 个答案:

答案 0 :(得分:2)

可能正在尝试评估Iif中的参数,无论条件是否为真。尝试:

=ReportItems!txtTotalFixedAsset.Value /
     IIf(ReportItems!txtTotalFixedAsset3.Value = 0
        , 1
        , ReportItems!txtTotalFixedAsset3.Value)
     *100 

当然,这假设如果txtTotalFixedAsset3为0,则txtTotalFixedAsset也为0。如果没有那么它真的是0除错。