Foxtable(狐表)用户栏目专家坐堂 → 高效流水账,补前几天的记录,如何从这个日期起重新计算


  共有3412人关注过本帖平板打印复制链接

主题:高效流水账,补前几天的记录,如何从这个日期起重新计算

帅哥哟,离线,有人找我吗?
szsmall
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:168 积分:1956 威望:0 精华:0 注册:2015/5/8 1:17:00
高效流水账,补前几天的记录,如何从这个日期起重新计算  发帖心情 Post By:2017/2/14 11:30:00 [只看该作者]

补前天的记录,应该把昨天和今天的余额重新计算。但现在按[_SortKey],是从最新的余额计算。
试着把[_SortKey]改[日期],出现错误


图片点击可在新窗口打开查看此主题相关图片如下:高效流水账 日期错误2.jpg
图片点击可在新窗口打开查看


图片点击可在新窗口打开查看此主题相关图片如下:高效流水账 日期错误.jpg
图片点击可在新窗口打开查看



Select Case e.DataCol.Name
    Case "产品","入库","出库"
        Dim drs As List(of DataRow)
        Dim Filter As String
        Filter = "[日期] >= " & e.DataRow("日期") & " And [产品] = '" & e.DataRow("产品") & "'"
        drs = e.DataTable.Select(Filter)
        For Each dr As DataRow In drs
            Filter = "[日期] <= " & dr("日期") & " And [产品] = '" & dr("产品") & "'"
            Dim Val1 As Double = e.DataTable.Compute("Sum(入库)",Filter)
            Dim Val2 As Double = e.DataTable.Compute("Sum(出库)",Filter)
            dr("库存") = Val1 - Val2
        Next
        If e.DataCol.Name = "产品" AndAlso e.OldValue IsNot Nothing AndAlso e.OldValue <> e.NewValue Then
            Filter = "[日期] > " & e.DataRow("日期") & " And [产品] = '" & e.OldValue & "'"
            drs = e.DataTable.Select(Filter)
            For Each dr As DataRow In drs
                Filter = "[日期] <= " & dr("日期") & " And [产品] = '" & dr("产品") & "'"
                Dim Val1 As Double = e.DataTable.Compute("Sum(入库)",Filter)
                Dim Val2 As Double = e.DataTable.Compute("Sum(出库)",Filter)
                dr("库存") = Val1 - Val2
            Next
        End If
End Select



[此贴子已经被作者于2017/2/14 11:34:05编辑过]

 回到顶部
总数 25 1 2 3 下一页