以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  流水账怎么设置时间段?  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=41917)

--  作者:blackzhu
--  发布时间:2013/10/30 11:17:00
--  流水账怎么设置时间段?
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
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)("入库") - 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)("入库") - drs(i)("出库")
                Next
            End If
        End If
End Select

 

 

  这段帮助的代码怎么设置时间段,我加了 日期>= and 日期<=  这个时间段 计算的是当前行的!


--  作者:Bin
--  发布时间:2013/10/30 11:20:00
--  
 日期>=#2013/09/30# and 日期<= #2013/10/30#  不应该会有问题啊
--  作者:blackzhu
--  发布时间:2013/10/30 11:31:00
--  

我想应该是这样

但是居然只计算了当前行


--  作者:blackzhu
--  发布时间:2013/10/30 14:10:00
--  

我测试了下高效率的流水账,加了日期段计算  第三行的产品 pd03 就不对.把排序列改成主键列也不行

 

 

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:高效率的流水账.foxdb


--  作者:Bin
--  发布时间:2013/10/30 14:27:00
--  
你这个要求好像不太合理吧,设置时间段? 
--  作者:blackzhu
--  发布时间:2013/10/30 15:38:00
--  
其实是想做累计,但是累计是每一个月做的.
--  作者:Bin
--  发布时间:2013/10/30 16:05:00
--  
这样没问题啊,你看看!
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:高效率的流水账.foxdb



--  作者:blackzhu
--  发布时间:2013/10/30 17:23:00
--  

我看看