以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  请教成绩如何实现同名同排  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=170539)

--  作者:xusuyang
--  发布时间:2021/7/29 20:21: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","语文_分数 desc")

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

 

老师:您好!请帮我修改一下下述代码,用于实现以下要求。谢谢!!!

1、共9个同学在不同的3个班,如何用代码在表事件中用来实现各科的分数语数英的小计及语数英物化生_总分数若出现相同时,如何实现在班名或级名中同名同排?

2、当某一科成绩未填或清空时,班名列、名列如何显示为空格状态?

 


--  作者:有点蓝
--  发布时间:2021/7/29 20:24:00
--  
1、参考:http://www.foxtable.com/webhelp/topics/2382.htm,注意帮助里的用法
drs(n)("总分排名") = drs(n-1)("总分排名"\'则排名等于上一行

2、drs = DataTables("学生成绩统计表").Select("班级=\'" & s & "\' and 语文_分数 is not null","语文_分数 desc")