以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  统计同编号金额  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=154555)

--  作者:miaoqingqing
--  发布时间:2020/9/18 11:28:00
--  统计同编号金额

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

Select e.DataCol.Name
    Case "负责人金额","下级"
        For Each dr As DataRow In DataTables("表A").DataRows
            Dim filter As String = "项目编号= "& dr("项目编号") &" And dr.isnull("上级") = True And dr.isnull("下级") = False "
            dr("负责人金额") = DataTables("表A").Compute("Sum(负责人金额)",filter)
        Next
End Select

求助实现上图 33  9自动统计更新
[此贴子已经被作者于2020/9/18 11:38:34编辑过]

--  作者:有点蓝
--  发布时间:2020/9/18 11:57:00
--  
Select e.DataCol.Name
    Case "负责人金额","下级"
if e.datarow.isnull("上级") then
            Dim filter As String = "项目编号= "& e.datarow("项目编号") & " And 上级 = \'" & e.datarow("下级") & "\' "
e.datarow.isnull("负责人金额") = e.DataTable.Compute("Sum(负责人金额)",filter)
end if
End Select

--  作者:miaoqingqing
--  发布时间:2020/9/18 12:28:00
--  回复:(有点蓝)Select e.DataCol.Name   ...
坛主,去掉一个条件,下面代码报错,求助
Select e.DataCol.Name
    Case "负责人金额","下级"
        If e.DataRow.isnull("上级") Then
            Dim filter As String = "[项目编号] = \'" & e.DataRow("项目编号") & "\'"
            e.DataRow("负责人金额") = e.DataTable.Compute("Sum(负责人金额)",filter)
        End If
End Select

--  作者:有点蓝
--  发布时间:2020/9/18 13:34:00
--  
报什么错?

另外上级这个条件是绝对不能去掉的

--  作者:miaoqingqing
--  发布时间:2020/9/18 13:45:00
--  回复:(有点蓝)报什么错?另外上级这个条件是绝对不...
去掉上级等于下级的条件,四楼代码,项目已停止工作,卡死或计算为空没反应,怎么修改求助。也就是,只需要上级为空,相同编号,两个条件汇总金额即可
[此贴子已经被作者于2020/9/18 14:07:30编辑过]

--  作者:有点蓝
--  发布时间:2020/9/18 14:07:00
--  
报什么错?
--  作者:miaoqingqing
--  发布时间:2020/9/18 14:11:00
--  回复:(有点蓝)报什么错?
1楼图片,项目编号,上级为空的负责人金额 这行,汇总该项目编号的负责人金额,上级不为空的这个条件。不用上级等于下级,这个条件

Select e.DataCol.Name
    Case "负责人金额","下级"
        If e.DataRow.isnull("上级") Then
            Dim filter As String = "[项目编号] = \'" & e.DataRow("项目编号") & "\' And e.DataRow.isnull("上级") = False "
            e.DataRow("负责人金额") = e.DataTable.Compute("Sum(负责人金额)",filter)
        End If
End Select

上面代码报错,求助
[此贴子已经被作者于2020/9/18 14:16:18编辑过]

--  作者:有点蓝
--  发布时间:2020/9/18 14:18:00
--  
没看懂,如果没有这个条件,也会把自己计算进去了
--  作者:miaoqingqing
--  发布时间:2020/9/18 14:20:00
--  回复:(有点蓝)没看懂,如果没有这个条件,也会把自...
就是不要把自己算进去,增加这个条件,好像下面代码可以,帮忙看看是否有漏洞了

Select e.DataCol.Name
    Case "负责人金额","下级"
        If e.DataRow.isnull("上级") Then
            Dim filter As String = "[项目编号] = \'" & e.DataRow("项目编号") & "\' And [上级] Is not Null"
            e.DataRow("负责人金额") = e.DataTable.Compute("Sum(负责人金额)",filter)
        End If
End Select
[此贴子已经被作者于2020/9/18 14:23:28编辑过]

--  作者:有点蓝
--  发布时间:2020/9/18 14:36:00
--  
测试咯,有问题再说