以文本方式查看主题
- Foxtable(狐表) (http://foxtable.net/bbs/index.asp)
-- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2)
---- 库存表数据求代码 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=85562)
|
-- 作者:longyanlin
-- 发布时间:2016/5/28 15:33:00
-- 库存表数据求代码
看了好多天的帮助,特别是刚开始的几天几乎是24H,很上瘾,上次第一次问问也都搞不好,今天又来求代码了,哪位老师或者是大神给我写段代码,解决库存问题,我非常感谢他,永远记得他,哈哈哈!
1,库存表里的1号,2号,3号的各个库存数据=入库数量-出库数量-退货数量(各个仓库)
2,总库存数量=调账数量+1号+2号+3号(各仓库的库存数量)
3,上月结存,上月总入库,上月总出库 三列的数据
十分十分感谢帮助写代码的人或老师,我很感激,很需要这种内容,与我现在的工作非常相符,我会努力的。
|
-- 作者:Hyphen
-- 发布时间:2016/5/28 15:59:00
--
新手先看看视频教程http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&Id=67187
|
-- 作者:longyanlin
-- 发布时间:2016/5/28 16:11:00
--
可是我已经看了很多天了,就是不知道如何下手啊,能帮忙写写吗,慢慢研究,谢谢了
|
-- 作者:Hyphen
-- 发布时间:2016/5/28 16:36:00
--
以1号仓库为例,其它类似,看懂代码
With Tables("库存表") Dim 入库数量 = Tables("入库表").Compute("sum(入库数量)","产品编号=\'" & .Current("产品编号") & "\' and 仓库=\'1号库\'") Dim 出库数量 = Tables("出库表").Compute("sum(出库数量)","产品编号=\'" & .Current("产品编号") & "\' and 仓库=\'1号库\'") Dim 退货数量 = Tables("退货表").Compute("sum(退货数量)","产品编号=\'" & .Current("产品编号") & "\' and 仓库=\'1号库\'") .Current("仓库_1号库库存数量") = 入库数量 - 出库数量 + 退货数量 End With
|
-- 作者:longyanlin
-- 发布时间:2016/5/28 16:38:00
--
谢谢,研究下,不懂再来提问
十分十分感谢,有了个好开头
|
-- 作者:longyanlin
-- 发布时间:2016/5/28 17:47:00
--
结合老师的意见,自己改了下,变成了下面的代码,但是上月结存,上月总出库,上月总入库数据不知道怎么来,请求代码修改,谢谢
Select Case e.DataCol.name Case "产品编号","调账数量" e.DataRow("仓库_1号库库存数量") = e.DataRow("仓库_1号库库存数量") e.DataRow("仓库_2号库库存数量") = e.DataRow("仓库_1号库库存数量") e.DataRow("仓库_3号库库存数量") = e.DataRow("仓库_1号库库存数量") If e.DataRow.IsNull("产品编号") = False Then e.DataRow("仓库_1号库库存数量") = 0 + DataTables("入库表").Compute("sum(入库数量)", "产品编号 = \'" & e.DataRow("产品编号") & "\'and 仓库=\'1号库\'") - DataTables("出库表").Compute("sum(出库数量)", "产品编号 = \'" &e.DataRow("产品编号") & "\'and 仓库=\'1号库\'") - DataTables("退货表").Compute("sum(退货数量)", "产品编号 = \'" &e.DataRow("产品编号") & "\'and 仓库=\'1号库\'") e.DataRow("仓库_2号库库存数量") = 0 + DataTables("入库表").Compute("sum(入库数量)", "产品编号 = \'" & e.DataRow("产品编号") & "\'and 仓库=\'2号库\'") - DataTables("出库表").Compute("sum(出库数量)", "产品编号 = \'" &e.DataRow("产品编号") & "\'and 仓库=\'2号库\'") - DataTables("退货表").Compute("sum(退货数量)", "产品编号 = \'" &e.DataRow("产品编号") & "\'and 仓库=\'2号库\'") e.DataRow("仓库_3号库库存数量") = 0 + DataTables("入库表").Compute("sum(入库数量)", "产品编号 = \'" & e.DataRow("产品编号") & "\'and 仓库=\'3号库\'") - DataTables("出库表").Compute("sum(出库数量)", "产品编号 = \'" &e.DataRow("产品编号") & "\'and 仓库=\'3号库\'") - DataTables("退货表").Compute("sum(退货数量)", "产品编号 = \'" &e.DataRow("产品编号") & "\'and 仓库=\'3号库\'") e.DataRow("库存数量") = e.DataRow("调账数量") + e.DataRow("仓库_1号库库存数量") + e.DataRow("仓库_2号库库存数量") + e.DataRow("仓库_3号库库存数量") End If End Select
[此贴子已经被作者于2016/5/28 20:21:10编辑过]
|
-- 作者:大红袍
-- 发布时间:2016/5/29 23:55:00
--
参考代码
Select Case e.DataCol.name Case "产品编号","调账数量" Dim d As Date = Date.Today d = d.AddDays(-1) d = new Date(d.Year, d.Month, 1) Dim sum1 As Double = DataTables("入库表").Compute("sum(入库数量)", "产品编号 = \'" & e.DataRow("产品编号") & "\' and 入库日期 >= #" & d & "# and 入库日期 < #" & d.AddMonths(1) & "#") Dim sum2 As Double = DataTables("出库表").Compute("sum(出库数量)", "产品编号 = \'" & e.DataRow("产品编号") & "\' and 出库日期 >= #" & d & "# and 出库日期 < #" & d.AddMonths(1) & "#") e.DataRow("上月总出库") = sum2 e.DataRow("上月总入库") = sum1 End Select
|
-- 作者:longyanlin
-- 发布时间:2016/5/30 16:25:00
--
老师的代码我修改了下,能达到效果,不过统计日期是今天-1天的,不是上月1-30号的,我列改到查询表里面去了,上月结存也到每个月的最后一天把库存数量手工复制到该列,达到了,不管怎么样都非常感谢老师,让我这个刚看了10几天的人对狐表有些认识了。
现在有如下代码:总出库=两个子表的数量累加(表达式列),但是第一个表数据有了,总出库不会变化,要第二个表的数据也发生改变,总出库才改变,请问怎么写表达式的函数,谢谢!
Sum(Child(库存表领料明细).出库数量) + Sum(Child(库存表销售明细).销售数量)
|
-- 作者:njcyt
-- 发布时间:2016/5/30 16:37:00
--
参考http://www.foxtable.com/help/index.html?n=1451.htm
|
-- 作者:大红袍
-- 发布时间:2016/5/30 16:55:00
--
改一下
Select Case e.DataCol.name Case "产品编号","调账数量" Dim d As Date = Date.Today d = d.AddMonths(-1) d = new Date(d.Year, d.Month, 1) Dim sum1 As Double = DataTables("入库表").Compute("sum(入库数量)", "产品编号 = \'" & e.DataRow("产品编号") & "\' and 入库日期 >= #" & d & "# and 入库日期 < #" & d.AddMonths(1) & "#") Dim sum2 As Double = DataTables("出库表").Compute("sum(出库数量)", "产品编号 = \'" & e.DataRow("产品编号") & "\' and 出库日期 >= #" & d & "# and 出库日期 < #" & d.AddMonths(1) & "#") e.DataRow("上月总出库") = sum2 e.DataRow("上月总入库") = sum1 End Select
|