以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  SQLCrossTableBuilder生成统计表  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=58776)

--  作者:lesliecheung912
--  发布时间:2014/10/23 15:14:00
--  SQLCrossTableBuilder生成统计表
在窗口中生成一交叉统计表,按钮代码:
Dim g As New SQLCrossTableBuilder("最高学历", "员工档案表")
g.C
g.HGroups.AddDef("部门体系")
g.HGroups.AddDef("工作部门")
g.HGroups.AddDef("办事处")
g.VGroups.AddDef("最高学历")
g.Totals.AddDef("员工编号", AggregateEnum.Count, "员工编号")
g.VerticalTotal= True \'垂直汇总
g.HorizontalTotal = True \'水平汇总
\'g.Build()
g.Filter = "员工状态 in(\'试用\',\'在职\') "
Tables("员工统计_Table1").DataSource = g.BuildDataSource
For Each c As Col In Tables("员工统计_Table1").Cols
    If (c.Name<>"部门体系" AndAlso c.Name<>"工作部门" AndAlso c.Name<>"办事处") AndAlso (c.IsNumeric OrElse c.IsString) Then
        Tables("员工统计_Table1").DataTable.ReplaceFor(c.Name, 0, c.name & " is null")
    End If
Next
MainTable = Tables("员工统计_Table1")
MainTable.Font = New Font("宋体",10,FontStyle.Regular)
Tables("员工统计_Table1").AutoSizeCols()

那么生成的最高学历的列(有很多,如本科,研究生等),现在需要获取这些列的列名(Dim c As Col = CurrentTable.Cols(CurrentTable.ColSel)
messagebox.show(c.Name)),c.Name依次等于员工编号_1,员工编号_2......
那么有没有办法让这些列的列名依次为本科,研究生......?

--  作者:有点甜
--  发布时间:2014/10/23 15:19:00
--  

 这个做不到的,你只能根据他们的标题获取。

 

 msgbox(c.Caption)