我在Reportviewer中有一个简单的报告,页脚上有2个复选框,应该显示一个总和。
然而,总和应该是有条件的:
只有当字段" Checked"是真的,必须包含在总和中。
对于第一个字段,这可以正常工作,但对于第二个字段,我在报告上得到#error。
第一个字段是整数字段,第二个字段是十进制字段。 这是我在两个文本框的value属性中使用的表达式:
=Sum(IIf(Fields!Checked.Value, Fields!TotaalBedrag.Value, 0), "DataSet1")
=Sum(IIf(Fields!Checked.Value, Fields!TotaalAantalKM.Value, 0), "DataSet1")
Field Checked是布尔值而不是null 字段TotaalBedrag是整数而不是null 字段TotaalAantalKM是十进制而不是空
字段TotaalBedrag的总和是正确的,但字段TotaalAantalKM的总和返回#error
如果我写
=Sum(Fields!TotaalAantalKM.Value, "DataSet1")
比我得到一个正确的总和,所以我猜这个领域没有任何问题。两个字段之间的唯一区别是一个是int而另一个是十进制。 我可能需要为十进制字段做一些特殊的事情吗?
答案 0 :(得分:2)
列的数据类型' TotaalAantalKM'是十进制,因此您需要将默认值转换为0.00或将列转换为double
= SUM(IIF(字段!Checked.Value,cdbl(字段!TotaalAantalKM.Value),0.00))
答案 1 :(得分:0)
对于十进制值,您必须使用" 0D"而不是" 0"。 所以你的表达将成为:
=Sum(IIf(Fields!Checked.Value, Fields!TotaalAantalKM.Value, 0D), "DataSet1")