以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  [求助]根据不同的条件对不同行进行累计  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=71386)

--  作者:nuhou
--  发布时间:2015/7/10 13:50:00
--  [求助]根据不同的条件对不同行进行累计
同一天有多个生产计划,对每辆车的发货数量进行累计发货数量的计算,要打印在发货单上

每车随车的发货单要打印:
生产计划ID 发货单ID 客户名称 工程名称 品名 规格 当车车次  本车数量  累计数量

其他的都已经实现,这个累计方量想不出来该怎么计算

谢谢!

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:test.table
[此贴子已经被作者于2015/7/10 13:50:58编辑过]

--  作者:大红袍
--  发布时间:2015/7/10 14:09:00
--  

 你累计根据什么计算?

 

 参考流水账 http://www.foxtable.com/help/topics/1572.htm

 


--  作者:nuhou
--  发布时间:2015/7/10 14:13:00
--  
根据不同的生产计划ID ,累计 不同车辆的 本车数量,计算 累计数量

跟流水账有点不一样,这个是同一个表里面 根据 不同的 生产计划 来累计的

--  作者:大红袍
--  发布时间:2015/7/10 14:45:00
--  

  这个意思?DataCochanged事件

 

Select Case e.DataCol.Name
    Case "生产计划id", "本车数量"
        Dim drs As List(of DataRow)
        Dim Filter As String
        Filter = "[_SortKey] >= " & e.DataRow("_SortKey") & " And [生产计划id] = \'" & e.DataRow("生产计划id") & "\'"
        drs = e.DataTable.Select(Filter)
        For Each dr As DataRow In drs
            Filter = "[_SortKey] <= " & dr("_SortKey") & " And [生产计划id] = \'" & dr("生产计划id") & "\'"
            Dim Val1 As Double = e.DataTable.Compute("Sum(本车数量)",Filter)
            dr("累计数量") = Val1
        Next
        If e.DataCol.Name = "生产计划id" AndAlso e.OldValue IsNot Nothing AndAlso e.OldValue <> e.NewValue Then
            Filter = "[_SortKey] > " & e.DataRow("_SortKey") & " And [生产计划id] = \'" & e.OldValue & "\'"
            drs = e.DataTable.Select(Filter)
            For Each dr As DataRow In drs
                Filter = "[_SortKey] <= " & dr("_SortKey") & " And [生产计划id] = \'" & dr("生产计划id") & "\'"
                Dim Val1 As Double = e.DataTable.Compute("Sum(本车数量)",Filter)
                dr("累计数量") = Val1
            Next
        End If
End Select


--  作者:nuhou
--  发布时间:2015/7/10 18:02:00
--  
对的,就是这样,非常感谢,有用了!!