Foxtable(狐表)用户栏目专家坐堂 → 请老师帮我修改“学生成绩统计”代码


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

主题:请老师帮我修改“学生成绩统计”代码

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


加好友 发短信
等级:幼狐 帖子:100 积分:1120 威望:0 精华:0 注册:2017/5/3 18:40:00
请老师帮我修改“学生成绩统计”代码  发帖心情 Post By:2021/7/19 22:55:00 [显示全部帖子]

班级

姓名

语文

数学

英语

语数英

物理

化学

生物

物化生

语数英物化生

分数

级名

班名

分数

级名

班名

分数

级名

班名

小计

级名

班名

分数

级名

班名

分数

级名

班名

分数

级名

班名

小计

级名

班名

总分数

级名

班名

1

150

1

1

148

2

2

150

1

 

448

1

1

100

1

1

 

 

 

 

 

 

100

1

1

548

1

1

1

146

2

2

150

1

1

149

3

 

445

2

2

95

2

2

 

 

 

 

 

 

95

2

2

540

3

2

2

145

3

1

148

2

1

148

4

 

441

4

1

100

1

1

 

 

 

 

 

 

100

1

1

541

2

1

2

140

4

2

145

5

2

148

4

 

433

5

2

95

2

2

 

 

 

 

 

 

95

2

2

528

6

2

3

138

5

3

148

2

1

145

5

 

431

6

2

100

1

1

 

 

 

 

 

 

100

1

1

531

5

2

3

145

3

3

147

3

2

149.5

2

 

441.5

3

1

95

2

2

 

 

 

 

 

 

95

2

2

536.5

4

1

3

130

6

2

146

4

3

140

7

 

416

8

3

90

3

3

 

 

 

 

 

 

90

3

3

506

7

3

3

125

7

1

140

6

4

142

6

 

407

9

4

88

4

4

 

 

 

 

 

 

88

4

4

495

8

4

1

146

2

2

135

7

3

145

5

 

426

7

3

 

 

 

 

 

 

 

 

 

 

 

 

426

9

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

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

上表是共9个同学在不同的3个班的一次考试成绩表。

老师:您好!上述代码不能完全实现以下要求。请老师修改一下。谢谢!!!

用代码来实现每个同学各_分数语数英_小计,语数英物化生_总分数的级不同,如何在“级名”列显示相应的名次“数目” ;班不同,如何在“班名”列显示相应的名次“数目”? 当“级名”、“班名” 并列是,如何在“级名”列、“班名”列显示相同相应的重复名次的“数目”?

1 如表所示的成绩,一班的“宗”同学:“语文”的成绩150级名为第一名,如何在“级名”列显示为“1”? 班名为第一名,如何在“班名”列显示为“1?“数学”成绩与三班“张”同学“数学”成绩均是148级名并列第二名,如何在“级名”列显示为“2“张”同学“数学”成绩 班名排第一名,如何在“班名”列显示为“1

即各_分数语数英_小计、语数英物化生_总分数的级名是随各科分数变化而变化,而不应该是用某一科成绩的名作为所有学科成绩的年级排名?

3三班的“安”同学语文成绩二班的“杨”同学语文成绩145是级名并列第3名,如何在“级名” 列与二班的“杨”同学均显示为“3

一班的“孔”同学与同班的“需”同学语文成绩均146是级名并列第二名,如何在“孔”同学的“级名”列、“孔”同学的“级名”列均显示为“2 “孔”同学与同班的“需”同学语文成绩还是班名并列第二名如何在“孔”同学“班名”列显示为“2”, 在“需”同学“班名”列也显示为“2”,

4当某一科成绩清除时,班名列、级名列如何显示为清空状态?

   我的版本2021.4.5前版本

          谢谢!!!

 下载信息  [文件大小:   下载次数: ]
点击浏览该文件:辉瑞科技公司.foxdb


 回到顶部