以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  [求助][讨论]关于流水账一个有意思的问题  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=19815)

--  作者:a9858
--  发布时间:2012/5/22 12:13:00
--  [求助][讨论]关于流水账一个有意思的问题
我按照狐表的流水账实例改编了一个商品库库存软件,
在狐表实例中使用增加行,计算库存没有问题,
而我使用了插入行这样一行代码。
CurrentTable.Position = 0
Syscmd.Row.Insert()
计算结果却出现问题了,每次输入出库数量后库存就是负数。
这是我用的代码请帮忙改一下:
Select Case e.DataCol.Name
    Case "入库","加油"
        Dim dr As DataRow
        Dim drs As List(of DataRow)
        dr = e.DataTable.Find("[_SortKey] < " & e.DataRow("_SortKey"), "[_SortKey] Desc") \'找出上一行
        If dr Is Nothing Then \'如果没有找到上一行,说明本行就是第一行
            e.DataRow("库存") = e.DataRow("入库") - e.DataRow("加油")
            dr = e.DataRow
        End If
        drs = e.DataTable.Select("[_SortKey] >= " & dr("_SortKey"), "[_SortKey]")
        For i As Integer = 1 To drs.Count - 1 \'重算余下行的库存柴油
            drs(i)("库存") = drs(i-1)("库存") + drs(i)("入库
") - drs(i)("加油")
        Next    
End Select
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:车辆加油流水账.foxdb


[此贴子已经被作者于2012-5-23 6:32:16编辑过]

--  作者:狐狸爸爸
--  发布时间:2012/5/22 15:45:00
--  
用简单的例子说话。
--  作者:a9858
--  发布时间:2012/5/24 10:10:00
--  
狐爸我上传了实例。你帮忙看看、
--  作者:狐狸爸爸
--  发布时间:2012/5/24 10:14:00
--  

流水账只能增加行,按顺序录入。