以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- 按条件进行物料需求运算 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=67607) |
||||
-- 作者:骑单车的青蛙 -- 发布时间:2015/4/27 15:05:00 -- 按条件进行物料需求运算 请问谁能帮我,下面是我做的表,物料需求编码帮我加个条件,就“销售记录”的销售订单号计算相应的物料需求 [此贴子已经被作者于2015/4/27 15:05:05编辑过]
|
||||
-- 作者:Bin -- 发布时间:2015/4/27 15:05:00 -- 上传文件看这里 http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&Id=78 |
||||
-- 作者:骑单车的青蛙 -- 发布时间:2015/4/27 15:10:00 -- 按条件进行物料需求运算 请帮我改一下代码,按销售记录内的"销售订单号",输入某个“销售订单号”,物料需求就只计算这个订单的物料需求数量
[此贴子已经被作者于2015/4/27 15:20:20编辑过]
|
||||
-- 作者:Bin -- 发布时间:2015/4/27 15:15:00 -- 提问能否描述清楚一些, 销售记录都找不到 物料需求列 另外要怎么计算,也要描述清楚. |
||||
-- 作者:骑单车的青蛙 -- 发布时间:2015/4/27 15:25:00 -- 此主题相关图片如下:1.png |
||||
-- 作者:Bin -- 发布时间:2015/4/27 15:27:00 -- 尊敬的用户您好,请问您能否说明一下你要怎么计算呢? |
||||
-- 作者:骑单车的青蛙 -- 发布时间:2015/4/27 15:50:00 --
就是帮我把下面的代码更改一下,加个条件,如过图文本框内输入入“销售订单号",如果在“销售记录”找到相应的“销售订单号”那么计算此订单号需求物料数量() Dim dic As new Dictionary(of String,Integer) |
||||
-- 作者:Bin -- 发布时间:2015/4/27 15:54:00 -- Dim dic As new Dictionary(of String,Integer) Dim xs As String For Each dr1 As DataRow In DataTables("销售记录").select("销售订单号=\'" & e.form.controls("ComboBox1").text & "\'") For Each dr2 As DataRow In DataTables("产品BOM").Select("[产品配置号] = \'" & dr1("产品配置号") & "\'")
Dim nm As String = dr2("零件代码") Dim vl As Integer = dr1("销售数量") * dr2("单机数量") If dic.ContainsKey(nm) = False dic.Add(nm,vl) Else dic(nm) = dic(nm)+ vl End If Next Next For Each key As String In dic.keys Dim dr As DataRow dr = DataTables("物料需求").Find("零件代码 Is Null ") If dr Is Nothing Then dr = DataTables("物料需求").AddNew() End If dr("零件代码") = key dr("数量") = dic(key) Next |
||||
-- 作者:骑单车的青蛙 -- 发布时间:2015/4/27 19:41:00 -- Dim dic As new Dictionary(of String,Integer) Dim xs As String For Each dr1 As DataRow In DataTables("销售记录").select("销售订单号=\'" & e.form.controls("ComboBox1").text & "\'") For Each dr2 As DataRow In DataTables("产品BOM").Select("[产品配置号] = \'" & dr1("产品配置号") & "\'")
Dim nm As String = dr2("零件代码") Dim vl As Integer = dr1("销售数量") * dr2("单机数量") If dic.ContainsKey(nm) = False dic.Add(nm,vl) Else dic(nm) = dic(nm)+ vl End If Next Next For Each key As String In dic.keys Dim dr As DataRow dr = DataTables("物料需求").Find("零件代码 Is Null ") If dr Is Nothing Then dr = DataTables("物料需求").AddNew() End If dr("零件代码") = key dr("数量") = dic(key) Next
这段代码,销售记录内有几个订单记录就计算几次,如有3条,就计算3次,能不能用IF end条件,这段代码重复计算 |
||||
-- 作者:骑单车的青蛙 -- 发布时间:2015/4/28 8:14:00 -- 上面代码重复运算,能不能帮我改一下 |