Foxtable(狐表)用户栏目专家坐堂 → [求助]生成固定统计表


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

主题:[求助]生成固定统计表

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


加好友 发短信
等级:七尾狐 帖子:1652 积分:14691 威望:0 精华:0 注册:2014/6/6 8:42:00
[求助]生成固定统计表  发帖心情 Post By:2016/10/8 22:22:00 [只看该作者]

老师,例子中  暴露分级 有 Ⅰ、Ⅱ、Ⅲ、Ⅳ 四个选项,有时可能全是 其中某一个选项,

Dim g As New CrossTableBuilder("统计表2", DataTables("鼎城区狂犬病暴露门诊登记表"))
g.HGroups.AddDef("县区")
g.VGroups.AddDef("暴露分级", "暴露分级_{0}")  统计生成的列根据输入的值不同 是动态的,有时可能只有一列,有时可能有四列。
g.Totals.AddDef("暴露分级", AggregateEnum.Count, "暴露分级")
g.Build()
MainTable = Tables("统计表2")

如何能生成 如汇总表那样的固定的统计表,或者将各种可能的统计结果导出到像汇总表那样固定格式的excel 表。排序不能乱。能力有限,花了两天时间搞不定,请指点,谢谢!

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目1.foxdb

[此贴子已经被作者于2016/10/9 8:09:33编辑过]

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


加好友 发短信
等级:七尾狐 帖子:1652 积分:14691 威望:0 精华:0 注册:2014/6/6 8:42:00
  发帖心情 Post By:2016/10/9 8:08:00 [只看该作者]

哪位大师帮忙指点指点,谢谢了!

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


加好友 发短信
等级:七尾狐 帖子:1652 积分:14691 威望:0 精华:0 注册:2014/6/6 8:42:00
  发帖心情 Post By:2016/10/9 9:17:00 [只看该作者]

各位大师,是不是问题很简单啊?怎么没人理我呢?图片点击可在新窗口打开查看

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


加好友 发短信
等级:超级版主 帖子:110574 积分:562760 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2016/10/9 10:08:00 [只看该作者]

Dim g As New CrossTableBuilder("统计表2", DataTables("鼎城区狂犬病暴露门诊登记表"))
g.HGroups.AddDef("县区")
g.VGroups.AddDef("暴露分级", "暴露分级_{0}")  '统计生成的列根据输入的值不同 是动态的,有时可能只有一列,有时可能有四列.
g.Totals.AddDef("暴露分级", AggregateEnum.Count, "暴露分级")
g.Build()
MainTable = Tables("统计表2")
Dim dict As new Dictionary(of String,Integer)
dict.Add("Ⅰ",-1)
dict.Add("Ⅱ",-1)
dict.Add("Ⅲ",-1)
dict.Add("Ⅳ",-1)
For Each c As Col In Tables("统计表2").Cols
    If c.Name.StartsWith("暴露分级_") Then
        dict(c.Caption.Split("_")(1)) = c.Index
    End If
Next

For Each key As String In dict.Keys
    If dict(key) = -1 Then
        DataTables("统计表2").DataCols.Add("暴露分级_" & key,Gettype(Integer))
    End If
Next
Dim idx As Integer = 1
For Each c As Col In Tables("统计表2").Cols
    Select Case c.Caption
        Case "暴露分级_Ⅰ"
            c.Move(1)
        Case "暴露分级_Ⅱ"
            c.Move(2)
        Case "暴露分级_Ⅲ"
            c.Move(3)
        Case "暴露分级_Ⅳ"
            c.Move(4)
    End Select
Next

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


加好友 发短信
等级:七尾狐 帖子:1652 积分:14691 威望:0 精华:0 注册:2014/6/6 8:42:00
  发帖心情 Post By:2016/10/9 22:31:00 [只看该作者]

有点蓝老师,这个汇总表是比较难,汇总表格式在例子里。差不多了,但统计数据时还有点问题,请您看看。谢谢

填表说明: 
填表说明:            
1. 性别:1=男、2=女;          
4.暴露分级:Ⅰ级、Ⅱ级、Ⅲ级  
5.伤口自行处理、门诊伤口处理:1=是、2=否;       
6.被动免疫制剂:1=免疫球蛋白、2=抗血清、3=否;使用抗血清或免疫球蛋白人数 = 1 + 2       
7.全程免疫:1=全程接种人数、2=未全程接种人数、3=未接种人数;            
9.伤人动物名称:1=犬、2=猫、3=鼠、4=其他;       
10.伤人动物类别:1=疯动物、2=可疑疯动物、3=正常,4=不知道;

 下载信息  [文件大小:   下载次数: ]
点击浏览该文件:管理项目1.foxdb

[此贴子已经被作者于2016/10/10 10:14:12编辑过]

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


加好友 发短信
等级:超级版主 帖子:110574 积分:562760 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2016/10/10 9:43:00 [只看该作者]

列名的问题,先把统计表生成到主表,自己观察正确的列名。在命令窗口写代码,准确后代码再搬到统计窗口

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


加好友 发短信
等级:七尾狐 帖子:1652 积分:14691 威望:0 精华:0 注册:2014/6/6 8:42:00
  发帖心情 Post By:2016/10/10 10:32:00 [只看该作者]

老师,现在不是列名错了,而是提示 已经存在,主要有两个格式的 伤人动物_名称_   伤人动物_类别_. 随着表内输入值的变化可能出现不同的提示,但是以前面的为主。请您看看。谢谢!

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目1.foxdb

[此贴子已经被作者于2016/10/10 10:36:10编辑过]

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


加好友 发短信
等级:超级版主 帖子:110574 积分:562760 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2016/10/10 11:27:00 [只看该作者]

就是列名的问题

......
    Dim dict1 As new Dictionary(of String, Integer)
    dict1.Add("1",-1)
    dict1.Add("2",-1)
    dict1.Add("3",-1)
    dict1.Add("4",-1)
    For Each c As Col In Tables("统计表").Cols
        If c.Name.StartsWith("伤人动物_名称_") Then
            dict1(c.Caption.Split("_")(2)) = c.Index '注意列名有2个“-”
        End If
    Next

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


加好友 发短信
等级:七尾狐 帖子:1652 积分:14691 威望:0 精华:0 注册:2014/6/6 8:42:00
  发帖心情 Post By:2016/10/10 11:45:00 [只看该作者]

多谢多谢!

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


加好友 发短信
等级:七尾狐 帖子:1652 积分:14691 威望:0 精华:0 注册:2014/6/6 8:42:00
  发帖心情 Post By:2016/10/10 19:38:00 [只看该作者]

有点蓝老师好!这个汇总表我花了几天时间,您也费了心思,但还是不行。反复测试中发现一个问题就是下面的代码有空格和没有空格执行结果不同。

DataTables("统计表2").DataCols.Add("暴露分级_ " & key,Gettype(Integer)) 。在表中输入同一个值时,很明显。例子中我用了三列,请您看看什么原因。

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目1.foxdb

 

 

 

老师,是不是 1 2 3 4 应该是 字符型时 代码 当做了 数字型了?

[此贴子已经被作者于2016/10/10 22:33:32编辑过]

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