以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- 项目上材料统计流水账疑问 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=170916) |
-- 作者:sjf0823 -- 发布时间:2021/8/11 12:37:00 -- 项目上材料统计流水账疑问 Select Case e.DataCol.name Case "项目名称","名称或规格", "数量" Dim drs As List(of DataRow) Dim Filter As String filter = "[项目名称] = \'" & e.DataRow("项目名称") & "\' and 名称或规格 = \'" & e.DataRow("名称或规格") & "\'" Dim qc As Double = 0 Dim fdr As DataRow = DataTables("湿地项目统计").Find(filter) If fdr IsNot Nothing Then qc = fdr("数量") End If Filter = "[_SortKey] >= " & e.DataRow("_SortKey") & " And [项目名称] = \'" & e.DataRow("项目名称") & "\' and 名称或规格 = \'" & e.DataRow("名称或规格") & "\'" drs = e.DataTable.Select(Filter) For Each dr As DataRow In drs Filter = "[_SortKey] <= " & dr("_SortKey") & " And [项目名称] = \'" & e.DataRow("项目名称") & "\' and 名称或规格 = \'" & e.DataRow("名称或规格") & "\'" Dim Val1 As Double = e.DataTable.Compute("Sum(数量)",Filter) dr("分类统计") = Val1 Next If (e.DataCol.name = "项目名称" OrElse e.DataCol.name = "名称或规格") And e.OldValue IsNot Nothing AndAlso e.OldValue <> e.NewValue Then If e.DataCol.Name = "项目名称" Then Filter = "[项目名称] = \'" & e.oldvalue & "\' and 名称或规格 = \'" & e.DataRow("名称或规格") & "\'" ElseIf e.DataCol.name = "名称或规格" Then Filter = "[项目名称] = \'" & e.DataRow("项目名称") & "\' and 名称或规格 = \'" & e.oldvalue & "\'" End If drs = e.DataTable.Select("[_SortKey] > " & e.DataRow("_SortKey") & " and " & Filter) For Each dr As DataRow In drs Filter = "[_SortKey] <= " & dr("_SortKey") & " And " & filter Dim Val1 As Double = e.DataTable.Compute("Sum(数量)",Filter) dr("分类统计") = Val1 Next End If End Select 老师,我对我们10个项目使用的材料和工程量做按项目和材料信息流水统计,但是删除项目名称和名称规格列,分类统计的数字不会自动清楚。麻烦帮我修改下
|
-- 作者:sjf0823 -- 发布时间:2021/8/11 12:57:00 -- 已经弄好了。 |