Foxtable(狐表)用户栏目专家坐堂 → 生成以时由纵轴为横轴的统计表


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

主题:生成以时由纵轴为横轴的统计表

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/4/20 10:50:00 [只看该作者]

Dim ndt As new DataTableBuilder("临时")
ndt.AddDef("姓名",Gettype(String))
For Each s As String In DataTables("出差登记").GetValues("日期")
    If s > "" Then
        ndt.AddDef(s, Gettype(String),999, "", format(cdate(s), "yyyyMMdd"))
    End If
Next
ndt.Build

Dim ls As new List(Of String)
For Each dr As DataRow In DataTables("出差登记").datarows
    For Each s As String In (dr("姓名") & "," & dr("同行人员")).split(",")
        If s > "" AndAlso ls.Contains(s) = False Then
            ls.add(s)
            Dim ndr As DataRow = DataTables("临时").AddNew
            ndr("姓名") = s
            For Each c As DataCol In  DataTables("临时").datacols
                If c.name <> "姓名" Then
                    ndr(c.name) = DataTables("出差登记").GetComboListString("地点", "(姓名 like '%" & s & "%' or 同行人员 like '%" & s & "%') and 日期='" & c.name & "'")
                End If
            Next
        End If
    Next
Next


 


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


加好友 发短信
等级:幼狐 帖子:85 积分:777 威望:0 精华:0 注册:2015/8/31 11:01:00
  发帖心情 Post By:2018/4/20 11:29:00 [只看该作者]

已上传

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


加好友 发短信
等级:幼狐 帖子:85 积分:777 威望:0 精华:0 注册:2015/8/31 11:01:00
  发帖心情 Post By:2018/4/20 11:30:00 [只看该作者]

出了相关的问题,是以姓名字段为横轴,得到了解决,但换为“时间”字段后,代码就出错了
 下载信息  [文件大小:308.0 KB  下载次数:1]
图片点击可在新窗口打开查看点击浏览该文件:管理项目4.table


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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/4/20 12:11:00 [只看该作者]

看11楼

 

Dim ndt As new DataTableBuilder("临时")
ndt.AddDef("姓名",Gettype(String))
For Each s As String In DataTables("出差登记").GetValues("日期")
    If s > "" Then
        ndt.AddDef(s, Gettype(String),999, "", format(cdate(s), "yyyyMMdd"))
    End If
Next
ndt.Build

Dim ls As new List(Of String)
For Each dr As DataRow In DataTables("出差登记").datarows
    For Each s As String In (dr("姓名") & "," & dr("同行人员")).split(",")
        If s > "" AndAlso ls.Contains(s) = False Then
            ls.add(s)
            Dim ndr As DataRow = DataTables("临时").AddNew
            ndr("姓名") = s
            For Each c As DataCol In  DataTables("临时").datacols
                If c.name <> "姓名" Then
                    ndr(c.name) = DataTables("出差登记").GetComboListString("地点", "(姓名 like '%" & s & "%' or 同行人员 like '%" & s & "%') and 日期='" & c.name & "'")
                End If
            Next
        End If
    Next
Next


 回到顶部
总数 14 上一页 1 2