以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- 关于开流水账的问题 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=153237) |
||||
-- 作者:lyfxybc -- 发布时间:2020/8/4 16:00:00 -- 关于开流水账的问题 下列代码是说明书中介绍的流水账代码。 Select
Case
e.DataCol.Name Case "产品","入库","出库" Dim drs As List(of DataRow) Dim Filter As String Filter = "[_SortKey] >= " & e.DataRow("_SortKey") & " And [产品] = \'" & e.DataRow("产品") & "\'" drs = e.DataTable.Select(Filter) For Each dr As DataRow In drs Filter = "[_SortKey] <= " & dr("_SortKey") & " 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 = "[_SortKey] > " & e.DataRow("_SortKey") & " And [产品] = \'" & e.OldValue & "\'" drs = e.DataTable.Select(Filter) For Each dr As DataRow In drs Filter = "[_SortKey] <= " & dr("_SortKey") & " 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 如何实现 1、不同品种最后一个保留,前面的都进行锁定行 2、或插入一列[锁定],不同品种最后一个,锁定列不打√,前面的都[锁定]行打√ 就是每输入一行数据,进行统计后,只留新输入的行,前面的锁定 [此贴子已经被作者于2020/8/4 16:12:02编辑过]
|
||||
-- 作者:lyfxybc -- 发布时间:2020/8/4 16:19:00 --
|
||||
-- 作者:有点蓝 -- 发布时间:2020/8/4 16:34:00 --
|
||||
-- 作者:lyfxybc -- 发布时间:2020/8/5 7:38:00 -- 版本太高,打不开,我的是3月11日以前版本,已到期。 可以把代码给我
|
||||
-- 作者:lyfxybc -- 发布时间:2020/8/5 7:41:00 -- 此主题相关图片如下:无标题.png |
||||
-- 作者:有点蓝 -- 发布时间:2020/8/5 8:57:00 -- 付费升级 |
||||
-- 作者:lyfxybc -- 发布时间:2020/8/5 16:40:00 -- 已完成,谢谢 |