老师,窗口中有NumericComboBox2插件,以及表Table1;
现在想在NumericComboBox2中输入数值后,实现将输入的数值分摊到Table1表中行明细列,
例如分摊金额列为 r("amount"),求出应该分摊比例的公式取行数据和表汇总数据r("tjs") / t.Compute("Sum(tjs)")
执行按钮代码如下:
Dim t As Table = e.form.Controls("Table1").Table
For Each r As Row In t.Rows
r("amount") = e.Form.Controls("NumericComboBox2").value * r("tjs") / t.Compute("Sum(tjs)")
Next
执行以上代码后,分摊金额计算完毕,但是结果会产生小数,例分摊金额为1000元,可以最的每行合计起来等于1000.01元或999.99元等,明细加起来和总额正负差几分钱范围内。
增加如下代码,想实现将汇总多余的部份加减到窗口表中第一行里面,达到明细加起来等于录入的总金额,代码如下:
Dim r1 As Row = Tables("分配费用_Table1").Rows(0)
r1("amount") = 0
r1("amount") = e.Form.Controls("NumericComboBox2").value - t.Compute("Sum(amount)")
请问代码为何无效?没关有实现效果