以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  [求助]关联表计算  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=146460)

--  作者:ntqhj
--  发布时间:2020/2/24 14:32:00
--  [求助]关联表计算
通过内部编号关联。求:剩余件数 = 件数 - 子表装车件数的和
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:关联表计算.table


--  作者:有点蓝
--  发布时间:2020/2/24 14:48:00
--  
接单表,datacolchanged事件

Select Case e.DataCol.Name
    Case  "内部编号","件数"
        Dim cnt As Integer = DataTables("承运人明细表").Compute("sum(装车件数)","内部编号=\'" & e.DataRow("内部编号") & "\'")
        e.DataRow("剩余件数")  = e.DataRow("件数")  - cnt
End Select

--  作者:ntqhj
--  发布时间:2020/2/24 15:20:00
--  
老师好!没反映呢
--  作者:ntqhj
--  发布时间:2020/2/24 15:26:00
--  
接单表的件数一般是不会变的,要变的一般是装车件数,装车件数变化后,剩余件数发生变化


--  作者:ntqhj
--  发布时间:2020/2/24 15:29:00
--  
老师给的代码完成的功能好像是接单表的件数变化,剩余件数会发生变化。最好是件数或装车件数无论谁变化,剩余件数都会发生变化。老师再帮我下
--  作者:有点蓝
--  发布时间:2020/2/24 15:37:00
--  
参考:http://www.foxtable.com/webhelp/topics/1472.htm

加上承运表,datacolchanged事件

Select Case e.DataCol.Name
    Case "装车件数"
        Dim pr As DataRow
        pr = DataTables("接单明细表").Find("内部编号 = \'" & e.DataRow("内部编号") & "\'")
        If pr IsNot Nothing Then
            DataTables("接单明细表").DataCols("内部编号").RaiseDataColChanged(pr)
        End If
End Select

--  作者:ntqhj
--  发布时间:2023/12/11 15:10:00
--  
主表有重量、件数,子表重量根据件数的平均数计算的,当出现除不尽时时,子表的重量和与主表的重量有误差,这个该如何解决啊
--  作者:有点蓝
--  发布时间:2023/12/11 15:18:00
--  
这种业务问题不应该问我们。问问公司老员工,在没有系统之前,手工计算的年代,出现这种情况应该怎么处理
--  作者:ntqhj
--  发布时间:2023/12/11 16:05:00
--  
是这样的老师,通过测试,子表的小数位数足够多时,计算几乎没有误差的,想实现表显示位数为2位,系统在运算时小数位可以是好多位,应该如何做?某些字段表中设置的位数太多,报表打印时感觉不妥呢。
--  作者:有点蓝
--  发布时间:2023/12/11 16:16:00
--  
报表打印的时候可以格式化为需要的位数