以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  [求助]自动汇总数据  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=94475)

--  作者:gengwvi
--  发布时间:2016/12/24 14:11:00
--  [求助]自动汇总数据

各位老师,好,谁帮我写一个代码,看了帮助尝试过很多次失败了,所以上传项目

 

实现以下功能

 

如果 表“合同明细”中新增或投资金额列发生变化时。

 

表“工资表”中根据业务员姓名,自动汇总该业务员投资金额到个人业务

 

 

 

 

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:工资核算.table


--  作者:有点蓝
--  发布时间:2016/12/24 14:21:00
--  
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:工资核算.table


--  作者:gengwvi
--  发布时间:2016/12/24 16:52:00
--  回复:(有点蓝)[upload=table,工资核算.table]viewF...


图片点击可在新窗口打开查看此主题相关图片如下:捕获2.png
图片点击可在新窗口打开查看

用下面代码  Case "投资金额","所属团队" 的时候只能填充该团队的第一个行,如何让填充等于团队的 团队业务汇总所有行 

Select Case e.DataCol.Name
    Case "投资金额","业务员"
        If e.DataRow.IsNull("业务员") = False Then
            Dim dr As DataRow = DataTables("工资表").Find("姓名=\'" & e.DataRow("业务员") & "\'")
            If dr Is Nothing Then
                dr = DataTables("工资表").AddNew()
                dr("姓名") = e.DataRow("业务员")
            End If
            dr("个人业务汇总") = e.DataTable.Compute("sum(投资金额)","业务员=\'" & e.DataRow("业务员") & "\'")
        End If
    Case "投资金额","所属团队"
        If e.DataRow.IsNull("所属团队") = False Then
            Dim dr As DataRow = DataTables("工资表").Find("所属团队=\'" & e.DataRow("所属团队") & "\'")
            If dr Is Nothing Then
                dr = DataTables("工资表").AddNew()
                dr("所属团队") = e.DataRow("所属团队")
            End If
            dr("团队业务汇总") = e.DataTable.Compute("sum(投资金额)","所属团队=\'" & e.DataRow("所属团队") & "\'")
        End If
End Select


--  作者:有点蓝
--  发布时间:2016/12/24 17:33:00
--  
Select Case e.DataCol.Name
    Case "投资金额","业务员"
        If e.DataRow.IsNull("业务员") = False Then
            Dim dr As DataRow = DataTables("工资表").Find("姓名=\'" & e.DataRow("业务员") & "\'")
            If dr Is Nothing Then
                dr = DataTables("工资表").AddNew()
                dr("姓名") = e.DataRow("业务员")
            End If
            dr("个人业务汇总") = e.DataTable.Compute("sum(投资金额)","业务员=\'" & e.DataRow("业务员") & "\'")
        End If
End Select

Select Case e.DataCol.Name
    Case "投资金额","所属团队"
        If e.DataRow.IsNull("所属团队") = False Then
             DataTables("工资表").ReplaceFor("团队业务汇总", e.DataTable.Compute("sum(投资金额)","所属团队=\'" & e.DataRow("所属团队") & "\'"),"所属团队=\'" & e.DataRow("所属团队") & "\'")
        End If
End Select