以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  父表与子表即时统计问题  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=79540)

--  作者:douglas738888
--  发布时间:2016/1/4 16:06:00
--  父表与子表即时统计问题
老师,请教下下,下面代码是父表的,统计数据来源于明细的子表
不能实现即时把子表SUM数据统计到父表,要等子表增加一行填数据后,父表原来的统计数据才能正常统计。问题在哪里

If e.DataCol.Name = "员工姓名" Then
e.DataRow("前期业绩") = DataTables("业绩明细").Compute("sum(订单金额)", "员工姓名 = \'" & e.DataRow("员工姓名") & "\'") 
e.DataRow("后期业绩") = DataTables("业绩明细").Compute("sum(二次金额)", "员工姓名 = \'" & e.DataRow("员工姓名") & "\'")
e.DataRow("超量加成") = DataTables("业绩明细").Compute("sum(超量加成)", "员工姓名 = \'" & e.DataRow("员工姓名") & "\'")
End If

--  作者:大红袍
--  发布时间:2016/1/4 16:16:00
--  

子表

 

Select Case e.DataCol.Name
    Case "订单金额","二次金额","超量加成"
        DataTables("父表").DataCols("员工姓名").RaiseDataColChanged("员工姓名 = \'" & e.DataRow("员工姓名") & "\'")
End Select


--  作者:douglas738888
--  发布时间:2016/1/4 16:25:00
--  
谢谢老师,真是不好意思,其他相关计算都写了您给出的代码,就是Case "订单金额","二次金额","超量加成"这句代码忘写进去了。
--  作者:大红袍
--  发布时间:2016/1/4 16:33:00
--  

如果写了 DataTables("父表").DataCols("员工姓名").RaiseDataColChanged("员工姓名 = \'" & e.DataRow("员工姓名") & "\'")

 

那么只要修改了值,都会实时触发父表datacolchanged事件的。