以文本方式查看主题 - Foxtable(狐表) (http://foxtable.com/bbs/index.asp) -- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2) ---- 请老师帮助修改一下“学生成绩统计”的代码 (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=170266) |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
-- 作者:xusuyang -- 发布时间:2021/7/19 21:22: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 & "\'","语文_分数 desc ") For i As
Integer = 0 To drs.Count - 1
drs(i)("语文_班名") = i + 1 Next Next For Each s As String In lst drs =
DataTables("学生成绩统计表").Select("班级=\'" & s & "\'","数学_分数 desc ") For i As
Integer = 0 To drs.Count - 1
drs(i)("数学_班名") = i + 1 Next Next For Each s As String In lst drs =
DataTables("学生成绩统计表").Select("班级=\'" & s & "\'","英语_分数 desc ") For i As
Integer = 0 To drs.Count - 1
drs(i)("英语_班名") = + 1 Next Next For Each s As String In lst drs =
DataTables("学生成绩统计表").Select("班级=\'" & s & "\'","语数英_小计 desc ") For i As
Integer = 0 To drs.Count - 1
drs(i)("语数英_班名") = i + 1 Next Next For Each s As String In lst drs =
DataTables("学生成绩统计表").Select("班级=\'" & s & "\'","物理_分数 desc ") For i As
Integer = 0 To drs.Count - 1
drs(i)("物理_班名") = i + 1 Next Next For Each s As String In lst drs =
DataTables("学生成绩统计表").Select("班级=\'" & s & "\'","化学_分数 desc ") For i As
Integer = 0 To drs.Count - 1
drs(i)("化学_班名") = i + 1 Next Next For Each s As String In lst drs =
DataTables("学生成绩统计表").Select("班级=\'" & s & "\'","生物_分数 desc ") For i As
Integer = 0 To drs.Count - 1
drs(i)("生物_班名") = i + 1 Next Next For Each s As String In lst drs =
DataTables("学生成绩统计表").Select("班级=\'" & s & "\'","物化生_小计 desc ") For i As
Integer = 0 To drs.Count - 1
drs(i)("物化生_班名") = i + 1 Next Next For Each s As String In lst drs = DataTables("学生成绩统计表").Select("班级=\'" & s
& "\'","语数英物化生_总分数 desc ") 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”? 即各科_分数、语数英_小计、语数英物化生_总分数的级名是随各科分数变化而变化,而不应该是用某一科成绩的级名作为所有学科成绩的年级排名? 3、三班的“安”同学语文成绩是级名并列第3名,如何在“级名” 列与二班的“杨”同学均显示为“3”? 一班的“孔”同学与同班的“需”同学语文成绩均是级名并列第二名,如何在“孔”同学的“级名”列、“孔”同学的“级名”列均显示为“2”? “孔”同学与同班的“需”同学语文成绩还是班名并列第二名,如何在“孔”同学“班名”列显示为“2”, 在“需”同学“班名”列也显示为“2”,? 4、当某一科成绩清除时,班名列、级名列如何显示为清空状态? 我的版本是2021.4.5 谢谢!!! |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
-- 作者:有点蓝 -- 发布时间:2021/7/19 21:31:00 -- 请上传实例说明 |