Foxtable(狐表)用户栏目专家坐堂 → 如何进行纵向统计


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

主题:如何进行纵向统计

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


加好友 发短信
等级:二尾狐 帖子:553 积分:5016 威望:0 精华:0 注册:2012/2/11 13:27:00
如何进行纵向统计  发帖心情 Post By:2014/10/22 21:09:00 [只看该作者]

表   名:表A

窗体名:统计窗体

表内容截图:

 


图片点击可在新窗口打开查看此主题相关图片如下:统计表.jpg
图片点击可在新窗口打开查看

 

表内容说明:表中非绿色部分是根据职工信息表中的“年龄”和“职务”以及“组别”统计得到的结果,由于职工的信息不完整,导致统计的结果中出现分类统计的和与总计之间存在误差,现在要根据白色部分的数据计算得出绿色部分的数据,在窗体中增加“计算误差”按钮。

 

首先,计算“年龄统计误差”列的代码如下:

     With  DataTables("表A")
          For Each dr As DataRow In DataTables("表A").DataRows
              dr("年龄统计误差") = dr("合计") - dr("三十岁以下") - dr("三十岁") - dr("三十岁以上")
          Next
     End With

     以上是横向统计

其次,需要计算第5行、第9行、第10行的数据,

        第5行=第2行-第3行-第4行

        第9行=第6行-第7行-第8行

        第10行=第1行-第2行-第6行,恳请请专家帮我设计计算代码!!

再次,所有的横向、纵向误差值不为0则以黄色显示警告,又需要如果设置?

 

重点是设置计算误差值的代码,请高手不吝指教,谢谢!

 

上传制作的项目如下,请指正: 

 

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:误差计算.rar


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


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

 汗...

 

Dim t As Table = Tables("表A")
For Each r As Row In t.Rows
    If r.Index = 4 Then
        r("合计") = t.Rows(1)("合计") - t.Rows(2)("合计") - t.Rows(3)("合计")
        r("三十岁以下") = t.Rows(1)("三十岁以下") - t.Rows(2)("三十岁以下") - t.Rows(3)("三十岁以下")
        r("三十岁") = t.Rows(1)("三十岁") - t.Rows(2)("三十岁") - t.Rows(3)("三十岁")
        r("三十岁以上") = t.Rows(1)("三十岁以上") - t.Rows(2)("三十岁以上") - t.Rows(3)("三十岁以上")
        r("年龄统计误差") = r("合计") - r("三十岁以下") - r("三十岁") - r("三十岁以上")
    Else If r.Index = 8 Then
        r("合计") = t.Rows(5)("合计") - t.Rows(6)("合计") - t.Rows(7)("合计")
        r("三十岁以下") = t.Rows(5)("三十岁以下") - t.Rows(6)("三十岁以下") - t.Rows(7)("三十岁以下")
        r("三十岁") = t.Rows(5)("三十岁") - t.Rows(6)("三十岁") - t.Rows(7)("三十岁")
        r("三十岁以上") = t.Rows(5)("三十岁以上") - t.Rows(6)("三十岁以上") - t.Rows(7)("三十岁以上")
        r("年龄统计误差") = r("合计") - r("三十岁以下") - r("三十岁") - r("三十岁以上")
    Else If r.Index = 9 Then
        r("合计") = t.Rows(0)("合计") - t.Rows(1)("合计") - t.Rows(5)("合计")
        r("三十岁以下") = t.Rows(0)("三十岁以下") - t.Rows(1)("三十岁以下") - t.Rows(5)("三十岁以下")
        r("三十岁") = t.Rows(0)("三十岁") - t.Rows(1)("三十岁") - t.Rows(7)("三十岁")
        r("三十岁以上") = t.Rows(0)("三十岁以上") - t.Rows(1)("三十岁以上") - t.Rows(5)("三十岁以上")
        r("年龄统计误差") = r("合计") - r("三十岁以下") - r("三十岁") - r("三十岁以上")
    Else
        r("年龄统计误差") = r("合计") - r("三十岁以下") - r("三十岁") - r("三十岁以上")
    End If
Next
   


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


加好友 发短信
等级:二尾狐 帖子:553 积分:5016 威望:0 精华:0 注册:2012/2/11 13:27:00
  发帖心情 Post By:2014/10/22 21:26:00 [只看该作者]

十分感谢!从没做过纵向统计。

 回到顶部