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


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

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

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


加好友 发短信
等级:幼狐 帖子:85 积分:777 威望:0 精华:0 注册:2015/8/31 11:01:00
生成以时由纵轴为横轴的统计表  发帖心情 Post By:2018/4/19 15:51:00 [只看该作者]

制作了一个出差登记表,现在想从表中取数输出统计报表,不知道如何设置这个模板。表的结构是这样:
图片点击可在新窗口打开查看
需要生成以时间为横轴的统计表,如下:
图片点击可在新窗口打开查看
求哪位大师指点,原来也提出了相关的问题,是以姓名字段为横轴,得到了解决,但换为“时间”字段后,代码就出错了
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目4.table



[此贴子已经被作者于2018/4/19 17:25:24编辑过]

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


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

上传具体可以测试的实例。贴出你所写代码。

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


加好友 发短信
等级:幼狐 帖子:85 积分:777 威望:0 精华:0 注册:2015/8/31 11:01:00
生成以时由纵轴为横轴的统计表  发帖心情 Post By:2018/4/19 16:03:00 [只看该作者]

Dim ndt As new DataTableBuilder("临时")
ndt.AddDef(“日期",Gettype(Date))
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)
            ndt.AddDef(s, Gettype(String))
        End If
    Next
Next
ndt.Build

For Each dr As DataRow In DataTables("表A").datarows
    Dim fdr As DataRow = DataTables("临时").find("时间 = #" & dr("时间") & "#")
    If fdr Is Nothing Then
        fdr = DataTables("临时").AddNew
        fdr("时间") = dr("时间")
    End If
    For Each s As String In (dr("姓名") & "," & dr("同行人员")).split(",")
        If s > "" AndAlso ls.Contains(s) Then
            fdr(s) = dr("地点")
        End If
    Next
Next



[此贴子已经被作者于2018/4/19 16:49:42编辑过]

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


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

上传具体可以测试的实例。贴出你所写代码。

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


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

现需要把时间与姓名字段转换统计表

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


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

要说多少次? 请,上传具体可以测试的实例。贴出你所写代码。

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


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

上传的附件,乍看不到

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


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

请使用ie浏览器访问论坛和上次附件

 

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)
    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

 

 

[此贴子已经被作者于2018/4/20 10:50:39编辑过]

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


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

语法错误:“日期”运算符后缺少操作数

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


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

以下是引用SMXTB在2018/4/20 8:57:00的发言:
语法错误:“日期”运算符后缺少操作数

 

请使用ie浏览器访问论坛和上传具体项目


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