以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- [已解决]仓库结转问题 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=35212) |
||||
-- 作者:kolen -- 发布时间:2013/6/26 15:36:00 -- [已解决]仓库结转问题 昨天用了DON的代码,简化了不少http://www.foxtable.com/bbs/dispbbs.asp?BoardID=2&ID=35166&replyID=&skin=1 现在碰到问题,“仓库总表”中有品号A1,A2,A3, “采购入库明细表”中有A2,A11,A33,就是“采购入库表”中有部分品号在“仓库总表”中没有,有的品号如A2,的数据目前通过代码已经能够合计出数量、金额加到“仓库总表”中了,A11,A33这些品号没有时候(这因为这些品号是6月份刚新加的,仓库总账中的品号是5月31日结转的。所以做6月份结转的时候,要把这部分品号加到“仓库总账”的“期间6”部分),需要统计出数据,然后加到“仓库总表”中,这个如何操作好?请老师们帮助一下。(结账测试的时候,请选择6月份进行,因为我要把数据转到“仓库总账”的“期间6"的“入库数量”“入库金额”)
下面有例子:
[此贴子已经被作者于2013-6-26 19:01:08编辑过]
|
||||
-- 作者:kolen -- 发布时间:2013/6/26 16:20:00 -- “仓库总表”中有品号A1,A2,A3, “采购入库明细表”中有A2,A11,A33,(红色的品号没有和例子对上,只是大致描述一下意思。) [此贴子已经被作者于2013-6-26 16:20:22编辑过]
|
||||
-- 作者:don -- 发布时间:2013/6/26 16:52:00 -- Dim t1 As Table = Tables("仓库总表") Dim dt1,dt2 As DataTable Dim dr,dr1,dr2 As DataRow Dim drs As List(of DataRow) Dim flt,s1 As String Dim Date1,Date2 As Date Date1 = Tables("月末结账").Current("结账期_起") Date2 = Tables("月末结账").Current("结账期_讫") dt1 = DataTables("采购入库单明细表") dt2 = DataTables("生产入库单明细表") Dim dts As DataTable() ={dt1,dt2} s1 = "[日期] >= #" & Date1 & "# And [日期]<= #" & Date2 & "#" flt ="[期间] = \'" & Date1.Month & "\'" t1.StopRedraw For Each dt As DataTable In dts drs = dt.Select(s1) For Each dr In drs dr1=t1.DataTable.Find(flt & " and [品号] = \'" & dr("品号") & " \'and [仓库] = \'" & dr("仓库") & "\'") If dr1 Is Nothing Then dr2 = t1.DataTable.AddNew dr2("期间") = Date1.Month dr2("仓库") = dr("仓库") dr2("品号") = dr("品号") End If Next Next t1.Filter = flt For Each r2 As Row In t1.Rows flt = s1 & " and [品号] = \'" & r2("品号") & " \'and [仓库] = \'" & r2("仓库") & "\'" r2("入库数量") = dt1.Compute("Sum(数量)",flt) + dt2.Compute("Sum(数量)",flt) r2("入库金额") = dt1.Compute("Sum(金额)",flt) + dt2.Compute("Sum(金额)",flt) Next t1.ResumeRedraw t1.DataTable.save
|
||||
-- 作者:kolen -- 发布时间:2013/6/26 17:31:00 -- DON老师,你的代码我看的眼泪都要掉下来了。 太佩服你了。这个思路我怎么没有想到呢,是我对Find,Select,Compute这些基本的方法掌握的不够熟练啊。
|
||||
-- 作者:石四 -- 发布时间:2013/11/18 14:42:00 -- 这个例子很有示范性,前面只做了入库汇总,期初和期未怎么结转好像没有做. 我在上面的附件增加了一个出库明细表,希望楼群主,don及各位高手继续,让新手学习.
|