以文本方式查看主题

-  Foxtable(狐表)  (http://www.foxtable.com/bbs/index.asp)
--  专家坐堂  (http://www.foxtable.com/bbs/list.asp?boardid=2)
----  分组统计遇到个小问题  (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=97411)

--  作者:zhangchi96
--  发布时间:2017/3/11 21:05:00
--  分组统计遇到个小问题
下面是段分组统计的代码:
Tables("网络教职工").Sort = "年月"
Dim t2 As Table = Tables("网络教职工")
Dim g As Subtotalgroup   \'集合,包括汇总模式下的各个分组设置
t2.StopRedraw()    \'停止【绘制】Table
t2.SubtotalGroups.Clear()  \'清除原有的分组
t2.GroupAboveData = False  \'汇总模式下,分组行是否位于数据行之前
t2.TreeVisible = False   \'在汇总模式下是否显示目录树
t2.SpillNode = True

g = New Subtotalgroup
g.Aggregate = AggregateEnum.Sum
g.GroupOn = "*"
g.TotalOn = "财政补发,考核补发,上年一次性奖金,奖励性绩效,考核扣款,应发考核,月实发考核,实统发,实发合计"
g.Caption = "总计"
t2.SubtotalGroups.Add(g)
t2.Subtotal()    \'生成汇总模式,首次运行就出错
t2.ResumeRedraw()   \'恢复【绘制】
t2.ShowCell(t2.Rows.Count(True) - 1, 0) \'显示最后一行

现在想先进行分组统计,分组的列是“年月”,字符型,但“年月”里的值是:201501,201502,201503,201504,201505,201506,201507,201508,201509,201510,201511,201512,201601,201602,201603,201604,201605,201606,201607,201608,201609,201610,201612,201701,201702,201703。
没有专门的表示年份的列,分组时希望“年月”中前4个字符为2015、2016、2017的各为一小组统计。
请老师指点迷津!

[此贴子已经被作者于2017/3/11 21:08:41编辑过]

--  作者:y2287958
--  发布时间:2017/3/11 22:48:00
--  
上例子
[此贴子已经被作者于2017/3/11 22:54:07编辑过]

--  作者:有点色
--  发布时间:2017/3/12 20:38:00
--  

多加一列,把年月列的值,拆分出来即可。

 

可以用表达式列 SubString(年月,1,4)