以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  单条件累计  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=187387)

--  作者:denghui69986
--  发布时间:2023/7/14 8:40:00
--  单条件累计

生产批号,实际产量,累计产量,自动实际产量统计在累计产量,下面截图和代码
图片点击可在新窗口打开查看此主题相关图片如下:统计截图.png
图片点击可在新窗口打开查看

Select Case e.DataCol.Name
     Case "生产批号", "实际产量"
         Dim dr As DataRow
         Dim mr As DataRow = e.DataRow
         Dim drs As List(Of DataRow)
         dr = e.DataTable.Find("[_SortKey]< " & mr("_SortKey") & " And [生产批号] = \'" & mr("生产批号") & "\'", "[_SortKey] Desc")
         If dr Is Nothing Then
             mr("累计产量") = mr("实际产量") + mr("累计产量")
             dr = mr
         End If
         drs = e.DataTable.Select("[_SortKey]>= " & dr("_SortKey") & " And [生产批号] = \'" & dr("生产批号") & "\'", "[_SortKey]")
         For i As Integer = 1 To drs.Count - 1
              drs(i)("累计产量") = drs(i - 1)("累计产量") + drs(i)("实际产量")
         Next
         If e.DataCol.Name = "生产批号" AndAlso e.OldValue IsNot Nothing AndAlso e.OldValue <> e.NewValue Then
             dr = e.DataTable.Find("[_SortKey]< " & mr("_SortKey") & " And [生产批号] = \'" & e.OldValue & "\'", "[_SortKey] Desc")
             If dr Is Nothing Then
                dr = e.DataTable.Find("[生产批号]= \'" & e.OldValue & "\'", "[_SortKey]")
                If dr IsNot Nothing Then
                    dr("累计产量") = dr("实际产量") + dr("累计产量")
                 End If
             End If
             If dr IsNot Nothing Then
                drs = e.DataTable.Select("[_SortKey]>= " & dr("_SortKey") & " And [生产批号] = \'" & dr("生产批号") & "\'", "[_SortKey]")
                For i As Integer = 1 To drs.Count - 1
                     drs(i)("累计产量") = drs(i - 1)("累计产量") + drs(i)("实际产量")
                 Next
             End If
         End If
End Select


--  作者:有点蓝
--  发布时间:2023/7/14 9:00:00
--  
有什么问题?
--  作者:denghui69986
--  发布时间:2023/7/14 9:08:00
--  
单条件按照“生产批号”累计计算“实际产量”等于“累计产量”计算不出来,修改几次要么累计是0,要么就变100,老师帮忙看看,代码是哪里错了,谢谢
[此贴子已经被作者于2023/7/14 9:09:42编辑过]

--  作者:有点蓝
--  发布时间:2023/7/14 9:12:00
--  
我测试没有问题,请上传实例说明
--  作者:denghui69986
--  发布时间:2023/7/14 9:25:00
--  

累计数量不正确,老师帮忙看看,谢谢!

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:单条件累计.zip


--  作者:有点蓝
--  发布时间:2023/7/14 9:27:00
--  
代码放到datacolchanged事件,不是datacolchanging。看帮助的时候请看仔细一点。不同事件有不同的用途的
--  作者:denghui69986
--  发布时间:2023/7/14 9:38:00
--  
谢谢指导,感谢