Foxtable(狐表)用户栏目专家坐堂 → [求助]关于统计成绩分布,请老师们帮忙解决一下。


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

主题:[求助]关于统计成绩分布,请老师们帮忙解决一下。

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


加好友 发短信
等级:婴狐 帖子:46 积分:488 威望:0 精华:0 注册:2016/12/12 22:36:00
[求助]关于统计成绩分布,请老师们帮忙解决一下。  发帖心情 Post By:2017/5/18 15:25:00 [只看该作者]

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


想搞成按学期,年级,班级分别计算出最低、最高、平均、和成绩分布,求版主帮忙一下,不是临时表那种。真诚的表示感谢。

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


加好友 发短信
等级:超级版主 帖子:13837 积分:69650 威望:0 精华:0 注册:2016/11/1 14:42:00
  发帖心情 Post By:2017/5/18 17:07:00 [只看该作者]

DataColChanged事件代码

 

Dim dr As DataRow = e.DataRow
Dim dt As DataTable =DataTables("学生成绩")
Select Case e.DataCol.name
    Case "学期", "年级", "班级", "科目"  
        If dr.IsNull("学期") = False AndAlso dr.IsNull("年级") = False AndAlso dr.IsNull("班级") = False AndAlso dr.IsNull("科目") = False Then
            Dim filter As String = "学期 = '" & dr("学期") & "' and 年级 = '" & dr("年级") & "' and 班级 = '" & dr("班级") & "'"
            dr("最高分") = dt.Compute("Max("  & dr("科目") & ")", filter)
            dr("最低分") = dt.Compute("Min("  & dr("科目") & ")", filter)
            dr("平均分") = dt.Compute("Avg("  & dr("科目") & ")", filter)
            dr("分布_60分以下") = dt.Compute("Count(姓名)", dr("科目") & " < 60 and " & filter)
            dr("分布_60分以上") = dt.Compute("Count(姓名)", dr("科目") & " >= 60 And " & dr("科目") & " < 70 and " & filter)
            dr("分布_70分以上") = dt.Compute("Count(姓名)", dr("科目") & " >= 70 And " & dr("科目") & " < 80 and " & filter)
            dr("分布_80分以上") = dt.Compute("Count(姓名)", dr("科目") & " >= 80 And " & dr("科目") & " < 90 and " & filter)
            dr("分布_90分以上") = dt.Compute("Count(姓名)", dr("科目") & " >= 90 And " & dr("科目") & " < 100 and " & filter)
            dr("分布_100分以上") = dt.Compute("Count(姓名)", dr("科目") & " >= 100 And " & dr("科目") & " < 110 and " & filter)
            dr("分布_110分以上") = dt.Compute("Count(姓名)", dr("科目") & " >= 110 And " & dr("科目") & " < 120 and " & filter)
            dr("分布_120分以上") = dt.Compute("Count(姓名)", dr("科目") & " >= 120 And " & dr("科目") & " < 130 and " & filter)
            dr("分布_130分以上") = dt.Compute("Count(姓名)", dr("科目") & " >= 130 and " & filter)
        End If
End Select

[此贴子已经被作者于2017/5/18 17:15:30编辑过]

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


加好友 发短信
等级:超级版主 帖子:13837 积分:69650 威望:0 精华:0 注册:2016/11/1 14:42:00
  发帖心情 Post By:2017/5/18 17:16:00 [只看该作者]

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


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


加好友 发短信
等级:婴狐 帖子:46 积分:488 威望:0 精华:0 注册:2016/12/12 22:36:00
  发帖心情 Post By:2017/5/18 19:03:00 [只看该作者]

谢谢版主,好象有点点问题,我自己调试一下。

 回到顶部