以文本方式查看主题

-  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
--  按条件进行物料需求运算

请帮我改一下代码,按销售记录内的"销售订单号",输入某个“销售订单号”,物料需求就只计算这个订单的物料需求数量

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:eageboot_管理平台.table

[此贴子已经被作者于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
--  


图片点击可在新窗口打开查看此主题相关图片如下:qq图片20150427154430.png
图片点击可在新窗口打开查看

就是帮我把下面的代码更改一下,加个条件,如过图文本框内输入入“销售订单号",如果在“销售记录”找到相应的“销售订单号”那么计算此订单号需求物料数量()

Dim dic As new Dictionary(of String,Integer)
Dim xs As String
For Each dr1 As DataRow In DataTables("销售记录").DataRows
    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


--  作者: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
--  
上面代码重复运算,能不能帮我改一下