以文本方式查看主题 - Foxtable(狐表) (http://foxtable.com/bbs/index.asp) -- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2) ---- 请老师修改一下“学生成绩统计”中的代码 (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=170262) |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
-- 作者:xusuyang -- 发布时间:2021/7/19 14:12:00 -- 请老师修改一下“学生成绩统计”中的代码
老师:您好! 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 Next For i As Integer = 0 To
drs.Count - 1 drs(i)("数学_级名") = i + 1 Next For i As Integer = 0 To
drs.Count - 1 drs(i)("英语_级名") = i + 1 Next For i As Integer = 0 To drs.Count
- 1 drs(i)("语数英_级名") = i + 1 Next For i As Integer = 0 To drs.Count
- 1 drs(i)("物理_级名") = i + 1 Next For i As Integer = 0 To drs.Count
- 1 drs(i)("化学_级名") = i + 1 Next For i As Integer = 0 To drs.Count
- 1 drs(i)("生物_级名") = i + 1 Next For i As Integer = 0 To drs.Count
- 1 drs(i)("物化生_级名") = i + 1 Next For i As Integer = 0 To drs.Count
- 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 Next Next For Each s As String In lst For i As
Integer = 0 To drs.Count - 1 drs(i)("数学_班名") = i + 1 Next Next For Each s As String In lst For i As
Integer = 0 To drs.Count - 1 drs(i)("英语_班名") = + 1 Next Next For Each s As String In lst For i As
Integer = 0 To drs.Count - 1 drs(i)("语数英_班名") = i + 1 Next Next For Each s As String In lst For i As
Integer = 0 To drs.Count - 1 drs(i)("物理_班名") = i + 1 Next Next For Each s As String In lst For i As
Integer = 0 To drs.Count - 1 drs(i)("化学_班名") = i + 1 Next Next For Each s As String In lst For i As
Integer = 0 To drs.Count - 1 drs(i)("生物_班名") = i + 1 Next Next For Each s As String In lst For i As
Integer = 0 To drs.Count - 1 drs(i)("物化生_班名") = i + 1 Next Next For Each s As String In lst For i As
Integer = 0 To drs.Count - 1 drs(i)("语数英物化生_班名") = i + 1 Next Next 老师:您好!上述代码不能实现以下要求。请老师修改一下。谢谢!!! 1、共9个同学在不同的3个班,如何用代码来实现每个同学各科_分数、语数英_小计、语数英物化生_总分数的班级排名、年级排名?如年级排名第一名为在“级名”列显示“1” 、班级排名第二名为“2”在“班名”名列显示“2”? 如表所示的成绩,一班的“宗”同学:“语文”是年级排名第一名,如何在“级名”列显示为“1”? 班级排名第一名,如何在“班名”列显示为“1”?“数学”是年级排名第二名,如何在“级名”列显示为“2”? 班级排名第一名,如何在“班名”列显示为“1”?即各科_分数、语数英_小计、语数英物化生_总分数的班级排名、年级排名是随各科分数变化而变化,而不应该是用某一科成绩的班级排名、年级排名作为所有学科成绩的班级排名、年级排名。 2、二班的“杨”同学语文成绩是年级排名第三名,如何在“级名”列显示为“3”? 班级排名第一名,如何在“班名”列显示为“1”? 三班的“安”同学语文成绩是年级排名并列第3名,如何在“级名”列显示为“3”? 班级排名第二名,如何在“班名”列显示为“2”? 一班的“孔”同学语文成绩是年级排名并列第二名,如何在“级名”列显示为“2”? 班级排名并列第二名,如何在“班名”列显示为“2”? 即各科_分数、语数英_小计、语数英物化生_总分数的班级排名、年级排名若出现并列排名情况时,是否可以用代码实现如“本第二条”所述? 3、当某一科成绩清除时,班名列、级名列如何显示为清空状态? 我的版本是2021.4.5前版本 |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
-- 作者:有点蓝 -- 发布时间:2021/7/19 14:14:00 -- 成绩从高到低排序 drs = DataTables("学生成绩统计表").Select("班级=\'" & s & "\'","语文_分数 desc") 在默认情况下列按升序排序,如果要按降序排序,请在列名后加上“DESC”,两者之间要有一个空格。
|