以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  [求助]关于用代码统计子表金额列  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=104635)

--  作者:静听枫雨
--  发布时间:2017/8/2 11:35:00
--  [求助]关于用代码统计子表金额列
Select Case e.DataCol.Name \'订单金额计算
    Case "数量","单价","折扣","订单编号" \'发生变化的列
        e.DataRow("金额") =  DataTables("订单明细表").Compute("Sum(金额)", "订单编号 = \'" & e.DataRow("订单编号")  & "\'")
End Select
金额列 不能实实更新。

金额列是 订单主表。不能实实更新子表求的和,每次要重置订单编号列才行。
[此贴子已经被作者于2017/8/2 12:49:16编辑过]

--  作者:静听枫雨
--  发布时间:2017/8/2 12:28:00
--  
请教版主老师
--  作者:有点甜
--  发布时间:2017/8/2 13:32:00
--  
以下是引用静听枫雨在2017/8/2 11:35:00的发言:
 

金额列是 订单主表。不能实实更新子表求的和,每次要重置订单编号列才行。
[此贴子已经被作者于2017/8/2 12:49:16编辑过]

 

你在子表的datacolchanged事件,写代码重置列

 

If e.DataCol.Name = "金额" Then 
    DataTables("订单主表").DataCols("数量").RaiseDataColChanged("订单编号 = \'" & e.DataRow("订单编号")  & "\'")
End If


--  作者:静听枫雨
--  发布时间:2017/8/2 13:51:00
--  
可以了,谢谢。重置列 改为订单编号,即可。
[此贴子已经被作者于2017/8/2 13:53:39编辑过]