'根据输入的年月,统计各产品的销售数量
Dim g As New SQLGroupTableBuilder("统计表1", "标签明细") '这里使用后台统计,如果数据已经全部加载可以直接用GroupTableBuilder
g.C '外部数据表的话要指定数据源名称
g.Groups.AddDef("对账品名", "对账品名")
g.Groups.AddDef("库存店名")
g.Totals.AddDef("数量")
g.Totals.AddDef("金重")
g.Totals.AddDef("总重量")
g.Totals.AddDef("标签价格")
g.VerticalTotal = True
g.Filter = "库存备注 = '柜台货' And 库存店名 In ('周六福(1)','周六福(4)','周六福(7)') And 对账品名 In ('5G黄金', '金Au750', '足金999‰硬金', '足金999‰', '足金999.9‰','足金999.9非素') "'后台统计才可以使用这种表达式的哦
With wb.AddTable("", "Table1")
.CreateFromDataTable(g.Build(True))
Dim nms() As String
Dim qty As Integer
Dim amt As Double
.Head.AddRow( "对账品名", "库存店名", "数量", "金重", "总重量", "标签价格")
For i As Integer = 0 To g.DataRows.count - 1
Dim r As DataRow = g.DataRows(i)
If i > 0 Then
Dim lr As DataRow = g.DataRows(i - 1)
If r("库存店名") <> lr("库存店名") Then
qty = g.compute("sum(数量)", "对账品名='" & lr("对账品名") & "' And 库存店名= '" & lr("库存店名") & "'")
amt = g.compute("sum(金重)", "对账品名='" & lr("对账品名") & "' And 库存店名= '" & lr("库存店名") & "'")
With .Body.AddRow()
.Attribute = "style='background-color:#F0FFFF'"
.AddCell("小计 " & lr("库存店名"), "colspan='3'")
.AddCells(qty, "", amt, "")
End With
End If
If r("对账品名") <> lr("对账品名") Then
qty = g.compute("sum(数量)", "对账品名='" & lr("对账品名") & "'")
amt = g.compute("sum(金重)", "对账品名='" & lr("对账品名") & "'")
With .Body.AddRow()
.Attribute = "style='background-color:#FFFFE0'"
.AddCell("小计 " & lr("对账品名"), "colspan='3'")
.AddCells(qty, "", amt, "")
End With
End If
End If
.Body.AddRow( r("对账品名"), r("库存店名"), r("数量"), r("金重"), r("总重量"), r("标签价格"))
Next
qty = g.compute("sum(数量)")
amt = g.compute("sum(金重)")
If EndRow >= Count Then
.Body.AddRow("总计", "", "", qty, "", amt, "").Attribute = "style='background-color:#98FB98'"
End If
End With
下面这个汇总什么和统计合一起