我需要把零件需求表:有车间、产品、零件、需求数量四列,要统计出每个车间 - 每个产品 - 每个零件的需求数量。请高手帮忙,谢谢!
车间、产品我是这样写,零件该怎样写?
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("车间") & "' and [产品] ='" & 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
Dim dic1 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("车间") & "' and [产品] ='" & dr1("产品") & "'")
Dim nm1 As String = dr2("产品")
Dim vl As String = dr1("生产数量") * dr2("用量")
If dic1.ContainsKey(nm1 & "|" & dr2("车间")) = False
dic1.Add(nm1 & "|" & dr2("车间"),vl)
Else
dic1(nm1 & "|" & dr2("车间")) = dic1(nm1 & "|" & dr2("车间"))+ vl
End If
Next
Next
For Each key As String In dic1.keys
Dim dr1 As DataRow = DataTables("零件需求").AddNew()
Dim str() As String = key.Split("|")
dr1("车间")=str(1)
dr1("产品") = str(0)
dr1("需求数量") = dic1(key)
Next
[此贴子已经被作者于2013-4-26 13:48:54编辑过]