在统计处理总量、处理费用、运输费用按两日期的选择,结果是正确的
If e.Form.Controls("DateTimePicker1").Value Is Nothing OrElse e.Form.Controls("DateTimePicker2").Value Is Nothing Then
MessageBox.Show("请输入起始日期和结束日期")
Return
End If
Dim dtb As New DataTableBuilder("统计")
Dim Filter As String = "出单日期 >= #" & e.Form.Controls("DateTimePicker1").Value & "# And 出单日期 <= #" & e.Form.Controls("DateTimePicker2").Value & "#"
Dim nms As List(of String) = DataTables("出口处理").GetUniqueValues("","用盘单位")
Dim dr As Row
dtb.AddDef("用盘单位", Gettype(String), 32)
dtb.AddDef("处理总量", Gettype(Double))
dtb.AddDef("运输费用", Gettype(Double))
dtb.AddDef("处理费用", Gettype(Double))
dtb.AddDef("合计", Gettype(Double))
dtb.Build()
For Each nm AS String In nms
dr = Tables("统计").Addnew()
dr("用盘单位") = nm
dr("处理总量") = DataTables("出口处理").compute("Sum(处理总量)", "用盘单位 = '" & nm & "' And " & Filter)
dr("运输费用") = DataTables("出口处理").compute("Sum(运输费用)", "用盘单位 = '" & nm & "' And " & Filter)
dr("处理费用") = DataTables("出口处理").compute("Sum(处理费用)", "用盘单位 = '" & nm & "' And " & Filter)
dr("合计") = dr("运输费用") + dr("处理费用")
Next
dr = Tables("统计").AddNew
dr("用盘单位") = "合计"
dr("处理总量") = DataTables("出口处理").compute("Sum(处理总量)",Filter)
dr("运输费用") = DataTables("出口处理").compute("Sum(运输费用)",Filter)
dr("处理费用") = DataTables("出口处理").compute("Sum(处理费用)",Filter)
dr("合计") = dr("处理总量") + dr("运输费用") + dr("处理费用")
e.Form.Close
MainTable= Tables("统计")