由统计工具产生的统计表,与手工产生临时表绑定到表时不一样效果。
datatables的表名不一样,一个S回单统计_Table1,一个临时表名。
Tables("S回单统计_Table1").DataSource = DataTables("统计表1")
手写代码:
Dim dtb As New DataTableBuilder("统计")
dtb.AddDef("总托单数", Gettype(Integer))
dtb.AddDef("已回回单", Gettype(Integer))
dtb.AddDef("未回回单", Gettype(Integer))
dtb.AddDef("已取单数", Gettype(Integer))
dtb.AddDef("未取单数", Gettype(Integer))
dtb.AddDef("已出库数", Gettype(Integer))
dtb.AddDef("未出库数", Gettype(Integer))
dtb.AddDef("已交货数", Gettype(Integer))
dtb.AddDef("未交货数", Gettype(Integer))
dtb.build()
' For Each nm As String In dt.GetUniqueValues("","统计条件")
' Dim dr As DataRow = DataTables("统计").AddNew()
' dr("统计条件") = nm
' Dim Total1 As String = dt.Compute("sum(数量)","统计条件 = '"& nm &"'")
' Dim Total2 As String = dt.Compute("sum(数量)","([单据状态] = '已发货' or [单据状态] = '已交货' or [单据状态] = '已回未取' or [单据状态] = '已取单') and 统计条件 = '"& nm &"'")
' dr("总托单数") = Total1
' dr("已回回单") = dt.Compute("sum(数量)","([单据状态] = '已回未取' or [单据状态] = '已取单') and 统计条件 = '"& nm &"'")
' dr("未回回单") = Total2 - dr("已回回单")
' dr("已取单数") = dt.Compute("sum(数量)","[单据状态] = '已取单' and 统计条件 = '"& nm &"'")
' dr("未取单数") = Total2 - dr("已取单数")
' dr("已出库数") = Total2
' dr("未出库数") = Total1 - Total2
' dr("已交货数") = dt.Compute("sum(数量)","([单据状态] = '已交货' or [单据状态] = '已回未取' or [单据状态] = '已取单') and 统计条件 = '"& nm &"'")
' dr("未交货数") = Total2 - dr("已交货数")
' Next
Tables("S回单统计_Table1").DataSource = DataTables("统计")
为什么会这样呢?如何解决?谢谢指点!!