Dim zf1,zf2,zf3,zf4,zs1,zs2,zs3 As String
Dim zd1,zd2,zd3,zd4,zd5,zd6,zd7,zd8,zd9,zd10,zd11,zd12 As String
zf1="期初"
zf2="入库"
zf3="出库"
zf4="库存"
zs1="_数量"
zs2="_重量"
zs3="_含税额"
zd1=zf1+zs1
zd2=zf1+zs2
zd3=zf1+zs3
zd4=zf2+zs1
zd5=zf2+zs2
zd6=zf2+zs3
zd7=zf3+zs1
zd8=zf3+zs2
zd9=zf3+zs3
zd10=zf4+zs1
zd11=zf4+zs2
zd12=zf4+zs3
Dim dtb As New DataTableBuilder("实时库存计算表")
dtb.AddDef("供应商", Gettype(String), 8)
dtb.AddDef("原料名称", Gettype(String), 16)
dtb.AddDef("原料代码",Gettype(String), 20)
dtb.adddef("ylggddm",Gettype(String), 26)
dtb.AddDef("原料规格", Gettype(String), 22)
dtb.AddDef("长", Gettype(String), 6)
dtb.AddDef("宽", Gettype(String), 6)
dtb.AddDef("厚", Gettype(String), 6)
dtb.AddDef("含税价",Gettype(Double))
dtb.AddDef(zd1,Gettype(Double))
dtb.AddDef(zd2,Gettype(Double))
dtb.AddDef(zd3,Gettype(Double))
dtb.AddDef(zd4,Gettype(Double))
dtb.AddDef(zd5,Gettype(Double))
dtb.AddDef(zd6,Gettype(Double))
dtb.AddDef(zd7,Gettype(Double))
dtb.AddDef(zd8,Gettype(Double))
dtb.AddDef(zd9,Gettype(Double))
dtb.AddDef(zd10,Gettype(Double))
dtb.AddDef(zd11,Gettype(Double))
dtb.AddDef(zd12,Gettype(Double))
dtb.Build()
'以下是计算部分
Dim Filter1,Filter2,Filter3 As String
Filter1="期初_含税额>0"
Tables("ylqcb").Filter =Filter1
Filter2="入库_含税额>0"
Tables("ylrkb").Filter =Filter2
Filter3="出库_含税额>0"
Tables("ylckb").Filter =Filter3
For Each nm As String In DataTables("ylqcb").GetValues("ylggddm")
Dim dr As DataRow = DataTables("实时库存计算表").find("ylggddm='" & nm & "'")
If dr Is Nothing Then
dr =DataTables("实时库存计算表").AddNew()
Dim pr As DataRow = DataTables("ylqcb").find("ylggddm='" & nm & "'")
If pr IsNot Nothing Then
dr("供应商") = pr("供应商")
dr("原料名称") = pr("ylmc")
dr("原料规格") =pr("原料规格")
dr("ylggddm")=nm
dr("原料代码") = pr("yldm")
dr("长") = pr("长")
dr("宽") = pr("宽")
dr("厚") = pr("厚")
dr("含税价")=pr("含税价")
End If
End If
Next
For Each nm As String In DataTables("ylrkb").GetValues("ylggddm")
Dim dr As DataRow = DataTables("实时库存计算表").find("ylggddm='" & nm & "'")
If dr Is Nothing Then
dr =DataTables("实时库存计算表").AddNew()
Dim wr As DataRow = DataTables("ylrkb").find("ylggddm='" & nm & "'")
If wr IsNot Nothing Then
dr("供应商") = wr("供应商")
dr("原料名称") = wr("ylmc")
dr("原料规格") =wr("原料规格")
dr("ylggddm")=nm
dr("原料代码") = wr("yldm")
dr("长") = wr("长")
dr("宽") = wr("宽")
dr("厚") = wr("厚")
dr("含税价")=wr("含税价")
End If
End If
Next
For Each nm As String In DataTables("实时库存计算表").GetValues("ylggddm")
Dim dr As DataRow = DataTables("实时库存计算表").find("ylggddm='" & nm & "'")
dr("期初_数量") = DataTables("ylqcb").Compute("Sum(期初_数量)","[ylggddm] = '" & dr("ylggddm") & "'")
dr("期初_重量") = DataTables("ylqcb").Compute("Sum(期初_重量)","[ylggddm] = '" & dr("ylggddm") & "'")
dr("期初_含税额") = DataTables("ylqcb").Compute("Sum(期初_含税额)","[ylggddm] = '" & dr("ylggddm") & "'")
dr("入库_数量") = DataTables("ylrkb").Compute("Sum(入库_数量)","[ylggddm] = '" & dr("ylggddm") & "'")
dr("入库_重量") = DataTables("ylrkb").Compute("Sum(入库_重量)","[ylggddm] = '" & dr("ylggddm") & "'")
dr("入库_含税额") = DataTables("ylrkb").Compute("Sum(入库_含税额)","[ylggddm] = '" & dr("ylggddm") & "'")
dr("出库_数量") = DataTables("ylckb").Compute("Sum(出库_数量)","[ylggddm] = '" & dr("ylggddm") & "'")
dr("出库_重量") = DataTables("ylckb").Compute("Sum(出库_重量)","[ylggddm] = '" & dr("ylggddm") & "'")
dr("出库_含税额") = DataTables("ylckb").Compute("Sum(出库_含税额)","[ylggddm] = '" & dr("ylggddm") & "'")
dr("库存_数量")=dr("期初_数量")+dr("入库_数量")-dr("出库_数量")
dr("库存_重量")=dr("期初_重量")+dr("入库_重量")-dr("出库_重量")
dr("库存_含税额")=dr("期初_含税额")+dr("入库_含税额")-dr("出库_含税额")
Next