Foxtable(狐表)用户栏目专家坐堂 → 复杂统计


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

主题:复杂统计

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


加好友 发短信
等级:六尾狐 帖子:1495 积分:12175 威望:0 精华:0 注册:2013/3/19 16:41:00
复杂统计  发帖心情 Post By:2020/4/8 13:23:00 [只看该作者]

老师您好,想实现学生情况表中的记录发生变化,状况统计表中的数据跟着发生变化,请问老师代码怎么写呢?

 

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


 回到顶部
帅哥,在线噢!
有点蓝
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110758 积分:563716 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/4/8 14:12:00 [只看该作者]


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


加好友 发短信
等级:六尾狐 帖子:1495 积分:12175 威望:0 精华:0 注册:2013/3/19 16:41:00
  发帖心情 Post By:2020/4/8 15:26:00 [只看该作者]

还是请老师给个例子吧,水平低弄不了。谢谢。

 

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


 回到顶部
帅哥,在线噢!
有点蓝
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110758 积分:563716 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/4/8 16:22:00 [只看该作者]

学生情况表
Select Case e.DataCol.Name
    Case "当前状态"
        Dim pr As DataRow
        If e.OldValue > ""
            pr = DataTables("状况统计").Find("当前状态 = '" & e.OldValue & "'")
            If pr IsNot Nothing Then
                DataTables("状况统计").DataCols("当前状态").RaiseDataColChanged(pr)
            End If
        End If
        If e.NewValue > ""
            pr = DataTables("状况统计").Find("当前状态 = '" & e.NewValue & "'")
            If pr IsNot Nothing Then
                DataTables("状况统计").DataCols("当前状态").RaiseDataColChanged(pr)
            End If
        End If
    Case "年龄","建档立卡","本在本","本在外","补录"
        Dim pr As DataRow
        pr = DataTables("状况统计").Find("当前状态 = '" & e.DataRow("当前状态") & "'")
        If pr IsNot Nothing Then
            DataTables("状况统计").DataCols("当前状态").RaiseDataColChanged(pr)
        End If
End Select

统计表
If e.DataCol.Name = "当前状态" Then
    Dim Filter As String = "[当前状态] = '" & e.NewValue & "'"
    e.DataRow("以下_建档") = DataTables("学生情况").Compute("count(姓名)", Filter & " and 年龄 < 16 and 建档立卡=true")
    e.DataRow("以上_补录") = DataTables("学生情况").Compute("count(姓名)", Filter & " and 年龄 >= 16 and 补录='补录'")
End If

 回到顶部