Rss & SiteMap
Foxtable(狐表) http://www.foxtable.com
Dim t As Table
Dim s1,s2 As String
Dim Ls As List(Of String)
Ls = DataTables("b").GetUniqueValues("", "加工工艺")
For Each s1 In Ls
s2+ =",iif(加工工艺 = '" & s1 & "'" & ",数量 ,Null) as 加工工艺" & s1.Replace("号工艺","")
Next
t = Tables("窗口1_Table1")
t.FILL("Select [_Identify],订单号,颜色" & s2 & ",数量 as 订单数量 From{B}",True)
t.sort = "订单号"
这段代码其中有一个我不太理解,,能否有朋友指导一下,,“”
For Each s1 In Ls
s2+ =",iif(加工工艺 = '" & s1 & "'" & ",数量 ,Null) as 加工工艺" & s1.Replace("号工艺","")
Next
就是这部分了。谢谢请加注解。
我SQL不行,也难以理解,楼主最好问问代码的原作者。
其实统计的话,用foxtable自带的交叉统计、分组统计,更容易一点,不伤脑细胞。
请把代码中提到的b表给个样子出来。
另外,s2+ =好像不是Foxtable的语法吧!
Dim g As New CrossTableBuilder("统计表1", DataTables("b"))
g.HGroups.AddDef("订单号")
g.HGroups.AddDef("颜色")
g.VGroups.AddDef("加工工艺")
g.Totals.AddDef("数量", "数量")
g.HorizontalTotal = True
g.Build()
Dim t As Table = Tables("统计表1")
Dim s As String
For Each c As Col In t.Cols
If c.name.StartsWith("数量_") Then '如列名是以[数量_]开头则
c.Caption = c.name.Replace("数量_","加工工艺") '重新生成列标题
End If
Next
t.Cols("合计").Caption = "订单数量"
t.DataTable.BuildHeader()
MainTable = t
也还是要伤一点脑细胞的:
重新生成想要的列标题