以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- 流水账的筛选问题 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=159281) |
-- 作者:18920118515 -- 发布时间:2020/12/20 14:35:00 -- 流水账的筛选问题 老师,您好 请教一下,如何将流水账中每一个账户的最后记录筛选出来,也就是将每一个账户当前余额的所在行筛选出来,我要将筛选的结果体现在一个窗口附表中,您受累给指导下,谢谢您
|
-- 作者:有点蓝 -- 发布时间:2020/12/20 20:55:00 -- 表数据截图说明一下。根据什么区分是最后的余额? [此贴子已经被作者于2020/12/20 20:55:05编辑过]
|
-- 作者:18920118515 -- 发布时间:2020/12/21 10:13:00 -- 老师,您好,感谢您的回复,我的具体情况如下: 有一个表,该表也是仓库的流水账,结构为:存货名称;入库数量;入库金额;出库数量;出库金额;结存数量;结存金额 我已经按照贵处对流水账的帮助信息,设置了分别针对每个不同的“存货名称”分别计算库存数量及库存金额的表事件,我的需求是想通过筛选该【仓库流水账】的不同存货明细的最后一行,调取每种存货的库存情况 烦劳老师给指导一下,我是一个新手,您受累指点指点
|
-- 作者:有点蓝 -- 发布时间:2020/12/21 10:17:00 -- 怎么区分哪一行是不同存货明细的最后一行?代码是怎么计算流水账的?排序使用的是_sortkey还是_Identify? |
-- 作者:18920118515 -- 发布时间:2020/12/21 10:27:00 -- 老师,以下是分别计算余额的代码,您看下 Select Case e.DataCol.Name \'实现按照不同账号分别计算余额功能 Case "存货三级明细","入库数量","出库数量","日期" If e.OldValue <> e.NewValue Then 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 If End Select |
-- 作者:有点蓝 -- 发布时间:2020/12/21 10:45:00 -- 要使用sql获取 |
-- 作者:18920118515 -- 发布时间:2020/12/21 11:12:00 -- 谢谢老师,我先看看,有不明白的再请教您 |
-- 作者:18920118515 -- 发布时间:2020/12/21 13:40:00 -- 老师 |
-- 作者:18920118515 -- 发布时间:2020/12/21 16:01:00 -- 1- 老师帮我看看上边的代码哪里有问题 2- 另外,老师,我想把筛选的内容体现在窗口的附表中,该如何操作 我是一个新手,因此问题可能有些幼稚,您多见谅
|
-- 作者:有点蓝 -- 发布时间:2020/12/21 16:11:00 -- 1、没有问题,应该告诉我们的是执行后有什么问题? |