以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  [求助]合计子表金额(不用表达式)  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=113850)

--  作者:188802386
--  发布时间:2018/1/24 10:25:00
--  [求助]合计子表金额(不用表达式)
有如下主表和子表,主表有个已收列 想统计明细表中已收列金额的合计,看帮助中的表达式只能显示选中的数据才显示,我想全部主表都显示,但明细表中有增加明细的时候自动计算合计,请问该如何设计,最好不用表达式

图片点击可在新窗口打开查看此主题相关图片如下:企业微信截图_20180124102416.png
图片点击可在新窗口打开查看


--  作者:有点甜
--  发布时间:2018/1/24 10:29:00
--  

参考

 

http://www.foxtable.com/webhelp/scr/1472.htm

 


--  作者:188802386
--  发布时间:2018/1/29 12:25:00
--  

DataColChanged事件

If e.DataCol.Name = "数量" Then
    Dim pr As DataRow
    pr = 
DataTables("统计").Find("产品 = \'" & e.DataRow("产品") & "\'")
    If
 pr IsNot Nothing 
Then
        pr(
"数量")= pr("数量") + e.NewValue - e.OldValue
    End
 
If
End
 If


这个有个问题就是如果删除订单明细,统计的总数量是不会减少的


--  作者:有点甜
--  发布时间:2018/1/29 12:33:00
--  
以下是引用188802386在2018/1/29 12:25:00的发言:


这个有个问题就是如果删除订单明细,统计的总数量是不会减少的

 

你可以在datarowdeleting事件,查找减去,如


    Dim pr As DataRow
    pr = DataTables("统计").Find("产品 = \'" & e.DataRow("产品") & "\'")
    If pr IsNot Nothing Then
        pr("数量")= pr("数量") - e.datarow("数量")
    End If