Visual Studio ReportViewer Sum 不适用于小数字段

Visual Studio ReportViewer Sum not working on decimal fields

我在 Reportviewer 中有一个简单的报告,页脚上有 2 个复选框,应该显示总和。 但是总和应该是有条件的:
仅当字段 "Checked" 为真时,该值才必须包含在总和中。

对于第一个字段,这没有问题,但对于第二个字段,我在报告中收到#error。

第一个字段是整数字段,第二个是小数字段。 这是我在两个文本框的值 属性 中使用的表达式:

=Sum(IIf(Fields!Checked.Value, Fields!TotaalBedrag.Value, 0), "DataSet1")
=Sum(IIf(Fields!Checked.Value, Fields!TotaalAantalKM.Value, 0), "DataSet1")

选中的字段是布尔值而不是 null
字段 TotaalBedrag 是整数而不是 null
字段 TotaalAantalKM 为十进制且不为空

字段 TotaalBedrag 的总和是正确的,但字段 TotaalAantalKM 的总和是正确的 returns #error

如果我写

=Sum(Fields!TotaalAantalKM.Value, "DataSet1") 

我确实得到了正确的总和,所以我想这个字段没有问题。 2 个字段之间的唯一区别是一个是 int,另一个是 decimal。 我可能需要为十进制字段做一些特别的事情吗?

列 'TotaalAantalKM' 的数据类型为十进制,因此您需要将默认值转换为 0.00 或将该列转换为双精度值

=SUM(iif(字段!Checked.Value,cdbl(字段!TotaalAantalKM.Value),0.00))

对于十进制值,您必须使用“0D”而不是“0”。 所以你的表情会变成:

=Sum(IIf(Fields!Checked.Value, Fields!TotaalAantalKM.Value, 0D), "DataSet1")