以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  跨表多条件求和  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=115931)

--  作者:sxcgtq
--  发布时间:2018/3/16 19:27:00
--  跨表多条件求和
a表,产品列、日期列、金额列。在b表中根据不同产品及不同日期求和。本人不懂代码,望帮助写个详细的代码,谢谢! 谢谢!


--  作者:有点蓝
--  发布时间:2018/3/16 20:17:00
--  
参考:http://www.foxtable.com/webhelp/scr/1472.htm

B表DataColChanged事件
If e.DataCol.Name = "产品" orelse e.DataCol.Name = "日期" Then 
    Dim Filter As String = "[产品] = \'" & e.DataRow("产品") & "\' and [日期] = \'" & e.DataRow("日期") & "\'"
    e.DataRow("金额") = DataTables("A表").Compute("Sum(金额)", Filter) 
End
 If

A表DataColChanged事件
Select Case e.DataCol.Name
    Case
 "
产品","日期","金额"
        
Dim pr As DataRow
        pr = 
DataTables("
B表").Find("产品 = \'" & e.DataRow("产品") & "\' and [日期] = \'" & e.DataRow("日期") & "\'")
        If pr IsNot Nothing Then
            DataTables
("
B表").DataCols("产品").RaiseDataColChanged(pr)
        End
 If
End
 Select