Foxtable(狐表)用户栏目专家坐堂 → 金额分摊余额


  共有2759人关注过本帖平板打印复制链接

主题:金额分摊余额

帅哥哟,离线,有人找我吗?
hopestarxia
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:四尾狐 帖子:919 积分:6603 威望:0 精华:0 注册:2013/8/10 18:33:00
金额分摊余额  发帖心情 Post By:2020/7/8 3:33:00 [只看该作者]

老师,窗口中有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)")

请问代码为何无效?没关有实现效果

 回到顶部