Foxtable(狐表)用户栏目专家坐堂 → [求助]关于自动更新和统计数据


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

主题:[求助]关于自动更新和统计数据

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


加好友 发短信
等级:婴狐 帖子:50 积分:508 威望:0 精华:0 注册:2012/4/17 14:41:00
[求助]关于自动更新和统计数据  发帖心情 Post By:2013/8/13 18:03:00 [显示全部帖子]

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

    拜求高手指点:我想达到如下效果:
    1.检查登记表根据已录入名单自动生成或更新档案号这一列的内容(说明:检查登记表是事先登记好了的,当时档案号是空的,过段时间导入录入名单的内容,当导入录入名单时,这时要检查登记表档案号列自动更新内容,最好判断一下,当此列单元格的内容是空白的话根据录入名单这个表的内容自动更新,)
    2.统计表孕检人数列自动统计出在检查登记表随访地区列与统计表中乡镇名称列文本相同且检查登记表检查类别中含有“孕”字的总行数,也就是各乡镇的孕检对数,并随访时根据检查登记表变化。
[此贴子已经被作者于2013-8-13 18:05:18编辑过]

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


加好友 发短信
等级:婴狐 帖子:50 积分:508 威望:0 精华:0 注册:2012/4/17 14:41:00
  发帖心情 Post By:2013/8/13 23:11:00 [显示全部帖子]

呵呵,感谢提出宝贵的意见。
第一个问题可以在检查登记表增加“妻子证件号码”和“检查日期”来解决,通过这个唯一的标识相同且已录入名单表中的建档日期在检查日期起一年内(因为可能重复检查,但规定一年只能检查一次)来判断应该不会有问题了。
第二个问题不是问题,是我的疏忽,在检查登记表中可能没有写入两个单位的相关的数据,也可以理解为如果没某些乡镇的数据,那么它的检查对数就是0
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:孕检统计.table

希望来个具体的加了代码能实现上面目标的例子。
这有修改好的附件

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


加好友 发短信
等级:婴狐 帖子:50 积分:508 威望:0 精华:0 注册:2012/4/17 14:41:00
  发帖心情 Post By:2013/8/14 10:28:00 [显示全部帖子]

感谢感谢!!!

Dim names As List (Of String) = DataTables("检查登记表").GetUniqueValues("随访地区 Is Not Null","随访地区")

For Each name As String In names

    For Each r As Row In Tables("统计表").Rows

        If r("乡镇名称") = name Then

            r("孕检人数") = DataTables("检查登记表").Compute("Count(检查类别)","随访地区 = '" & name & "' And 检查类别 Like '*" & "孕*'")

        End If

    Next

Next

 

For Each r As Row In Tables("检查登记表").Rows

    For Each rw As Row In Tables("已录入名单").Rows

        If r("妻子证件号码") = rw("妻子证件号码") AndAlso Left(r("检查日期"),4) = Left(rw("建档日期"),4) Then

            r("档案编号") = rw("档案编号")

        End If

    Next

Next

上面的 If r("妻子证件号码") = rw("妻子证件号码") AndAlso Left(r("检查日期"),4) = Left(rw("建档日期"),4) Then这个条件我确实想改成建档日期在检查日期后365天内,因为假如在某一天的最后一天检查,而在新的一年头一天录入,原来的代码就查不到了。您看改成:If r("妻子证件号码") = rw("妻子证件号码") AndAlso r("检查日期") <= rw("建档日期")Then应该就行了(这样也避免了将以前将以前曾经检查过的人原来的档案号导入的问题)



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


加好友 发短信
等级:婴狐 帖子:50 积分:508 威望:0 精华:0 注册:2012/4/17 14:41:00
  发帖心情 Post By:2013/8/15 16:51:00 [显示全部帖子]

谢谢,不过现在又了现了一个问题,如果数据量大的话很是要较长时间,能不能在条件判断一下,如果原来已好档案号的就不要重新再填了。

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


加好友 发短信
等级:婴狐 帖子:50 积分:508 威望:0 精华:0 注册:2012/4/17 14:41:00
  发帖心情 Post By:2013/8/15 16:53:00 [显示全部帖子]

已填好档案号的在下一次导入时就不要重新再填了。

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


加好友 发短信
等级:婴狐 帖子:50 积分:508 威望:0 精华:0 注册:2012/4/17 14:41:00
  发帖心情 Post By:2013/8/16 10:17:00 [显示全部帖子]

For Each r As Row In Tables("检查登记表").Rows
    If r.IsNull("档案编号") = False Then
        Continue For
    End If
    For Each rw As Row In Tables("录入评估名单").Rows
        If r("妻子证件号码") = rw("妻子证件号码") AndAlso r("检查日期") <= rw("建档日期") Then
            r("档案编号") = rw("档案编号")
            r("建档日期") = rw("建档日期")
        End If
  Next
Next
和以下代码如何才能组合到一起呢??
For Each r As Row In Tables("检查登记表").Rows
 If r.IsNull("评估建议完成日期") = False Then
            Continue For
        End If
        For Each rt As Row In Tables("录入评估名单").Rows
            If r("档案编号") = rt("档案编号") Then
                r("评估建议完成日期") = rt("评估建议完成日期")
            End If
 Next
Next
说明:因为有时候档案编号已生生但还没有评估,这时如何导入档案号,按上面的代码在下次导入时也不能导入评估建议完成日期

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


加好友 发短信
等级:婴狐 帖子:50 积分:508 威望:0 精华:0 注册:2012/4/17 14:41:00
  发帖心情 Post By:2013/8/16 10:20:00 [显示全部帖子]

说明:因为有时候档案编号已生成但还没有评估,这时如果导入档案编号,按上面的代码在下次导入时也不能导入评估建议完成日期

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


加好友 发短信
等级:婴狐 帖子:50 积分:508 威望:0 精华:0 注册:2012/4/17 14:41:00
  发帖心情 Post By:2013/8/16 17:04:00 [显示全部帖子]

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:随访名单.xls

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:录入评估名单.xls
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:孕检统计.table


模拟以后工作流程:在桌面新建一个文件夹,放入上两个excel表。在项目内有一个导入网络数据按钮,以后用来导入项目生成录入评估名单和随访名单两个表,项目关闭后这个表将自动清除。
    现在希望:
    1.最好将三个导入按钮合为一个,不能的话,将后两个导入按钮合为一个也好。
    2.原来那样统计如果再填好的话,数据量大不行,想想还是用临时统计表好些。不知能不能将档案整理统计表、孕检人数统计表、录入人数统计表、评估人数统计表用一个统计表一次性统计出来生成一个表,样式如项目内的统计表A那样。
    3. 不知能不能将评估总人数统计表、早孕随访人数统计表、已孕人数统计表、妊娠结局随访人数统计表一个统计表一次性统计出来生成一个表,样式如项目内的统计表B那样(最好统计数据有什么年月,自动归类统计成统计表B那样的)。 

[此贴子已经被作者于2013-8-16 17:13:53编辑过]

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


加好友 发短信
等级:婴狐 帖子:50 积分:508 威望:0 精华:0 注册:2012/4/17 14:41:00
  发帖心情 Post By:2013/8/16 17:18:00 [显示全部帖子]

主要是一次性生成一个统计表,没办法加入多个筛选统计的条件…………

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


加好友 发短信
等级:婴狐 帖子:50 积分:508 威望:0 精华:0 注册:2012/4/17 14:41:00
  发帖心情 Post By:2013/8/16 20:34:00 [显示全部帖子]

g.Totals.AddDef("要统计的列",AggregateEnum.Count, "统计结果列",True)
请问,可以直接在这里加条件吗??

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