以文本方式查看主题 - Foxtable(狐表) (http://foxtable.com/bbs/index.asp) -- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2) ---- 请教修改学生成绩统计中代码 (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=170245) |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
-- 作者:xusuyang -- 发布时间:2021/7/18 11:27:00 -- 请教修改学生成绩统计中代码
老师:您好! 上表是“AA学校”一年级的一次考试成绩。请老师修改一下代码。A、如表所示: 1、共计9个同学3个班,如何用代码来实现每个同学各科、语数英、语数英物化生的班级排名、年级排名?如年级排名第一名为“1”,级名列显示“1” 、班级排名第二名为“2”, 级名列显示“2”? 如表所示的成绩,一班的“宗”同学:“语文”是年级排名第一名,如何在“级名”列显示为“1”? 班级排名第一名,如何在“班名”列显示为“1”?“数学”是年级排名第二名,如何在“级名”列显示为“2”? 班级排名第一名,如何在“班名”列显示为“1”?即各科、语数英、语数英物化生的班级排名、年级排名是随各科分数变化而变化,而不应该是用某一科成绩的班级排名、年级排名作为所有学科成绩的班级排名、年级排名。 2、二班的“杨”同学语文成绩是年级排名第三名,如何在“级名”列显示为“3”? 班级排名第一名,如何在“班名”列显示为“1”? 三班的“安”同学语文成绩是年级排名并列第3名,如何在“级名”列显示为“3”? 班级排名第二名,如何在“班名”列显示为“2”? 一班的“孔”同学语文成绩是年级排名并列第二名,如何在“级名”列显示为“2”? 班级排名并列第二名,如何在“班名”列显示为“2”? 即各科、语数英、语数英物化生的班级排名、年级排名若出现并列排名情况时,是否可以用代码实现如“本第二条”所述? 3、当某一科成绩清除时,班名列、级名列如何显示为空白? For Each dr As DataRow In DataTables("学生成绩统计表").DataRows dr("语数英_分数")=dr("语文_分数")+dr("数学_分数")+dr("英语_分数") dr("物化生_分数")=dr("物理_分数")+dr("化学_分数")+dr("生物_分数")
dr("语数英物化生_分数")=dr("语文_分数")+dr("数学_分数")+dr("英语_分数")+dr("物理_分数")+dr("化学_分数")+dr("生物_分数") Next Dim drs As List(of DataRow) =
DataTables("学生成绩统计表").Select("班级 is not null","数学_分数") For i As Integer = 0 To drs.Count
- 1 drs(i)("语文_级名") = i+ 1 drs(i)("数学_级名") = i+ 1 drs(i)("英语_级名") = i + 1 drs(i)("语数英_级名") = i+ 1 drs(i)("物理_级名") = i + 1 drs(i)("化学_级名") = i + 1 drs(i)("生物_级名") = i+ 1 drs(i)("物化生_级名") = i+ 1 drs(i)("语数英物化生_级名") = i+ 1 Next Dim lst As List(of String ) =
DataTables("学生成绩统计表").GetValues("班级","班级 is not
null") For Each s As String In lst drs = DataTables("学生成绩统计表").Select("班级=\'"
& s & "\'","语文_分数") For i As Integer = 0 To drs.Count - 1 drs(i)("语文_班名") = i + 1 drs(i)("数学_班名") = i + 1 drs(i)("英语_班名") = i + 1 drs(i)("语数英_班名") = i+ 1 drs(i)("物理_班名") = i + 1 drs(i)("化学_班名") = i + 1 drs(i)("生物_班名") = i+ 1 drs(i)("物化生_班名") = i+ 1 drs(i)("语数英物化生_班名") = i+ 1 Next Next 我的版本是2021.4.5前版本。谢谢 |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
-- 作者:有点蓝 -- 发布时间:2021/7/18 20:44:00 --
|