以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- 班级平均分如何计算 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=1305) |
||||
-- 作者:老有所乐 -- 发布时间:2008/12/2 23:44:00 -- 班级平均分如何计算 “上报教育局成绩表”中的[班级平均分]列是从“学生各科成绩表”中按年级、学科统计班级的平均分,请教该计算代码如何写?谢谢!
|
||||
-- 作者:czy -- 发布时间: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 -- 发布时间: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 |
||||
-- 作者:老有所乐 -- 发布时间:2008/12/3 7:05:00 -- 非常感谢C版主深夜解答! |
||||
-- 作者:老有所乐 -- 发布时间:2008/12/4 7:47:00 -- 请教C版主2、3楼的代码可否改成按钮公式,如可改应如何改?谢谢! |
||||
-- 作者:老有所乐 -- 发布时间:2008/12/4 16:08:00 -- 顶一下 |
||||
-- 作者:gdtgl -- 发布时间:2008/12/4 19:57:00 -- 此主题相关图片如下:snap1.jpg 此主题相关图片如下:snap2.jpg
|
||||
-- 作者:gdtgl -- 发布时间: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编辑过]
|
||||
-- 作者:老有所乐 -- 发布时间:2008/12/4 22:20:00 -- 谢谢gdtgl兄弟!你设计的比我想要的更好。 |