Foxtable(狐表)用户栏目专家坐堂 → [求助]如何对不定列数中的不同值分别统计


  共有8721人关注过本帖树形打印复制链接

主题:[求助]如何对不定列数中的不同值分别统计

帅哥哟,离线,有人找我吗?
chenpan
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:133 积分:1199 威望:0 精华:0 注册:2012/4/18 9:54:00
[求助]如何对不定列数中的不同值分别统计  发帖心情 Post By:2012/10/23 0:36:00 [只看该作者]

如何对不定列数中的不同值分别统计,如图所示,如果有30列,每列的值为1-5中的任何一个,最后统计,1-5这5个数分别在30列中出现的次数。如事假对应2,统计2出现的次数,出勤对应1,休息对应0.
如何统计,请大侠指导!谢谢

图片点击可在新窗口打开查看此主题相关图片如下:未命名.jpg
图片点击可在新窗口打开查看

 以下是数据库和代码

Dim x As Date = e.Form.Controls("DateTimePicker1").value
Dim x1 As Date = e.Form.Controls("DateTimePicker2").value

Dim b As New SQLCrossTableBuilder("统计表1","考勤记录表")
b.C
b.HGroups.AddDef("部门")
b.HGroups.AddDef("姓名")
b.VGroups.AddDef("考勤时间",DateGroupEnum.none)
b.Totals.AddDef("出勤情况")
b.Filter ="[考勤时间] between # " & x & "# and # " & x1 & "#"
Tables("出勤统计表_table1").DataSource =b.BuildDataSource
With DataTables("出勤统计表_table1")
    For Each dc As DataCol In .DataCols
       
        .DataCols(dc.name).Caption = dc.Caption.Split(" ")(0)
        .BuildHeader()
    Next
End With

With DataTables("出勤统计表_Table1").DataCols
    .Add("统计_出勤",Gettype(Integer))
    .Add("统计_事假",Gettype(Integer))
End With


图片点击可在新窗口打开查看此主题相关图片如下:未命名.jpg
图片点击可在新窗口打开查看
[此贴子已经被作者于2012-10-23 0:52:57编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
lin_hailun
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:狐神 帖子:6708 积分:34304 威望:0 精华:11 注册:2012/8/18 23:10:00
  发帖心情 Post By:2012/10/23 8:59:00 [只看该作者]

 代码如下………………

 Dim colsName() AS String = {"部门", "姓名", "统计_出勤", "统计_事假"}
 With DataTables("出勤统计表_table1")
    For Each dr As DataRow In .DataRows
        Dim cq As Integer = 0
        Dim sj As Integer = 0
        For Each dc As DataCol In .DataCols
            If colsName.Contains(dc.Name) = False Then
                Select case dr(dc.Name)
                    case 1
                        cq = cq + 1
                    case 2
                        sj = sj + 1
                End Select
            End If
        Next
        dr("统计_出勤") = cq
        dr("统计_事假") = sj
    Next
End With

 回到顶部
帅哥哟,离线,有人找我吗?
chenpan
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:133 积分:1199 威望:0 精华:0 注册:2012/4/18 9:54:00
  发帖心情 Post By:2012/10/23 11:17:00 [只看该作者]

谢谢,这方法很好!


 回到顶部