我改用以下代码还是有错,请狐爸帮我看看
Dim dtb As New DataTableBuilder("配件需求表A")
dtb.AddDef("配件名称", Gettype(String), 32)
dtb.AddDef("需求数量", Gettype(Integer))
dtb.Build()
MainTable= Tables("配件需求表A")
Dim dic As new Dictionary(of String,Integer)
DataTables("配件需求表A").DataRows.Clear()
For Each dr1 As DataRow In DataTables("下单生产窗口_Table1").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 dr3 As DataRow = DataTables("配件需求表A").AddNew()
dr3("配件名称") = key
dr3("需求数量") = dic(key)
'End If
Next
With DataTables("下单生产窗口_Table1")
.DataRows.Clear()
End With
Dim rr As Row = Tables("产品配件用量表").Current
For Each r3 As DataRow In DataTables("配件需求表A").Select("配件名称 Is Not Null")
Dim dr4 As DataRow = DataTables("配件需求表").Addnew()
dr4("配件统计日期") = Date.today
dr4("配件品类") = rr("配件品类")
dr4("配件名称") = r3("配件名称")
dr4("配件规格") = rr("配件规格")
dr4("配件颜色") = rr("配件颜色")
dr4("配件单位") = rr("配件单位")
dr4("需求数量") =r3("需求数量")
Next