以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  老师给价格筛选的代码  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=52763)

--  作者:seal51
--  发布时间:2014/6/22 22:15:00
--  老师给价格筛选的代码
老师, 如果给下面的代码加一个某个订单下零件需求, 如何加代码来筛选呢? 

 

Dim dic As new Dictionary(of String,Integer)
DataTables
("零件需求").DataRows.Clear()
For
Each dr1 As DataRow In DataTables("生产计划").DataRows
    For
Each dr2 As DataRow In DataTables("零件用量").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 = DataTables("零件需求").AddNew()
    dr(
"零件") = key
    dr(
"需求数量") = dic(key)
Next


--  作者:有点甜
--  发布时间:2014/6/22 22:19:00
--  

 呃,没有表结构,谁知道怎么改。

 

 订单表和生产计划和零件用量有什么关系。


--  作者:seal51
--  发布时间:2014/6/22 22:34:00
--  


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

当计划单号为JH001,生成统计, JH002,生成新的统计, 窗口搞个文本款, 可输入计划单号, 不同的计划单号生成不同的统计表


--  作者:有点甜
--  发布时间:2014/6/22 22:37:00
--  
 订单和计划有什么联系?订单号就是计划编号?
--  作者:seal51
--  发布时间:2014/6/22 22:38:00
--  

请老师忽略订单, 写错了, 应该是计划编号


--  作者:有点甜
--  发布时间:2014/6/22 22:38:00
--  

这个意思?

 

Dim dic As new Dictionary(of String,Integer)
DataTables("零件需求").DataRows.Clear()
For Each dr1 As DataRow In DataTables("生产计划").Select("计划单号 = \'JH001\'")
    For Each dr2 As DataRow In DataTables("零件用量").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 = DataTables("零件需求").AddNew()
    dr("零件") = key
    dr("需求数量") = dic(key)
Next


--  作者:seal51
--  发布时间:2014/6/22 22:40:00
--  
对,动态的如何写
--  作者:seal51
--  发布时间:2014/6/22 22:41:00
--  
"计划单号 = \'" & e.Form.Controls("TextBox1").Text & "\'", 对吗
--  作者:有点甜
--  发布时间:2014/6/22 22:42:00
--  

Dim dic As new Dictionary(of String,Integer)
DataTables("零件需求").DataRows.Clear()
For Each dr1 As DataRow In DataTables("生产计划").Select("计划单号 = \'" & Forms("窗口1").Controls("TextBox1").Text &  "\'")
    For Each dr2 As DataRow In DataTables("零件用量").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 = DataTables("零件需求").AddNew()
    dr("零件") = key
    dr("需求数量") = dic(key)
Next


--  作者:有点甜
--  发布时间:2014/6/22 22:42:00
--  
 回复8楼,对。
[此贴子已经被作者于2014-6-22 22:42:10编辑过]