Foxtable(狐表)用户栏目专家坐堂 → 班级平均分如何计算


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

主题:班级平均分如何计算

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


加好友 发短信
等级:三尾狐 帖子:746 积分:6673 威望:0 精华:1 注册:2008/9/1 11:46:00
班级平均分如何计算  发帖心情 Post By:2008/12/2 23:44:00 [只看该作者]

“上报教育局成绩表”中的[班级平均分]列是从“学生各科成绩表”中按年级、学科统计班级的平均分,请教该计算代码如何写?谢谢!
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:学生成绩统计分析表.table


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


加好友 发短信 一级勋章 三级勋章 二级勋章
等级:超级版主 帖子:6318 积分:33963 威望:0 精华:10 注册:2008/8/31 20:56:00
  发帖心情 Post By:2008/12/3 0:27:00 [只看该作者]

DataColChanged事件代码

If e.DataCol.Name = "学科" Then
    If e.NewValue Is Nothing Then
        e.DataRow("班级平均分") = Nothing
    Else
        Dim Avg As Single = Math.Round(DataTables("学生各科成绩表").Compute("Avg(" & e.DataRow("学科") & ")","[班级] = '" & e.Datarow("班级") & "' And [年级] = '" & e.DataRow("年级") & "'" ),1)
        if Avg > 0 then
            e.DataRow("班级平均分") = Avg
        End if
    End If
End If
[此贴子已经被作者于2008-12-3 0:29:06编辑过]

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


加好友 发短信 一级勋章 三级勋章 二级勋章
等级:超级版主 帖子:6318 积分:33963 威望:0 精华:10 注册:2008/8/31 20:56:00
  发帖心情 Post By:2008/12/3 0:34:00 [只看该作者]

年级和班级两列的平均分

If e.DataCol.Name = "学科" Then
    If e.NewValue Is Nothing Then
        e.DataRow("年级平均分") = Nothing
        e.DataRow("班级平均分") = Nothing
    Else
        Dim Avg As Single = Math.Round(DataTables("学生各科成绩表").Compute("Avg(" & e.DataRow("学科") & ")","[班级] = '" & e.Datarow("班级") & "' And [年级] = '" & e.DataRow("年级") & "'"),1)
        if Avg > 0 then
            e.DataRow("班级平均分") = Avg
            e.DataRow("年级平均分") = Math.Round(DataTables("学生各科成绩表").Compute("Avg(" & e.DataRow("学科") & ")","[年级] = '" & e.Datarow("年级") & "'"),1)
        End if
    End If
End If

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


加好友 发短信
等级:三尾狐 帖子:746 积分:6673 威望:0 精华:1 注册:2008/9/1 11:46:00
  发帖心情 Post By:2008/12/3 7:05:00 [只看该作者]

非常感谢C版主深夜解答!


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


加好友 发短信
等级:三尾狐 帖子:746 积分:6673 威望:0 精华:1 注册:2008/9/1 11:46:00
  发帖心情 Post By:2008/12/4 7:47:00 [只看该作者]

请教C版主2、3楼的代码可否改成按钮公式,如可改应如何改?谢谢!


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


加好友 发短信
等级:三尾狐 帖子:746 积分:6673 威望:0 精华:1 注册:2008/9/1 11:46:00
  发帖心情 Post By:2008/12/4 16:08:00 [只看该作者]

顶一下

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


加好友 发短信
等级:一尾狐 帖子:445 积分:3025 威望:0 精华:0 注册:2008/9/13 10:49:00
  发帖心情 Post By:2008/12/4 19:57:00 [只看该作者]


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



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


 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:学生成绩统计分析表.rar


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


加好友 发短信
等级:一尾狐 帖子:445 积分:3025 威望:0 精华:0 注册:2008/9/13 10:49:00
  发帖心情 Post By:2008/12/4 20:03:00 [只看该作者]

'在"上报教育局成绩表"这个表中生成各个年级的各个班每一科的行
for i as integer  = 0 to tables("学科").rows.count -1
   Dim lianjis As List(Of String)
   lianjis = DataTables("学生各科成绩表").GetUniqueValues("", "年级") '取所有的年级
       For Each lj As String In lianjis
       Dim bianji As List(Of String)
       bianji = DataTables("学生各科成绩表").GetUniqueValues("", "班级") '取所有的班级
             For Each bian As String In bianji
                 Dim dr As DataRow = DataTables("上报教育局成绩表").AddNew()
                     dr("年级") = lj '在年级列中写入年级值
                     dr("班级") = bian
                     dr("学科") = tables("学科").rows(i)("学科") '在学科列中写入语文,数学等等
             next
        Next
Next

'重算"班级平均分"中的计算代码
DataTables("上报教育局成绩表").DataCols("班级平均分").Recalc()
[此贴子已经被作者于2008-12-4 20:13:25编辑过]

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


加好友 发短信
等级:三尾狐 帖子:746 积分:6673 威望:0 精华:1 注册:2008/9/1 11:46:00
  发帖心情 Post By:2008/12/4 22:20:00 [只看该作者]

谢谢gdtgl兄弟!你设计的比我想要的更好。

 回到顶部