Dim dtb As New DataTableBuilder("交叉表")
dtb.AddDef("批号", Gettype(String), 32)
For Each lx As String In DataTables("表A").GetValues("物料类型")
For Each wl As String In DataTables("表A").GetValues("物料", "物料类型 = '" & lx & "'")
dtb.AddDef(lx & "_" & wl & "_用量", Gettype(Double))
dtb.AddDef(lx & "_" & wl & "_批次", Gettype(String))
dtb.AddDef(lx & "_" & wl & "_来源", Gettype(String))
Next
Next
dtb.Build()
Dim dt As DataTable = DataTables("交叉表")
For Each r As Row In Tables("表A").Rows
Dim cname As String = r("物料类型") & "_" & r("物料")
Dim fdr As DataRow = dt.Find("批号 = '" & r("批号") & "' and " & cname & "_用量" & " Is null")
If fdr Is Nothing Then
fdr = dt.AddNew
fdr("批号") = r("批号")
End If
fdr(cname & "_用量") = r("使用量")
fdr(cname & "_批次") = r("批次")
fdr(cname & "_来源") = r("来源")
Next