以文本方式查看主题 - Foxtable(狐表) (http://foxtable.com/bbs/index.asp) -- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2) ---- 两段排名代码,如何合并到一起? (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=170265) |
-- 作者:hbfnmxb -- 发布时间:2021/7/19 18:55:00 -- 两段排名代码,如何合并到一起? Tables("学生成绩汇总表").StopRedraw Dim bjs As List(Of String) = DataTables("学生成绩汇总表").GetValues("年级","[年级] Is Not NULL") Dim Count As Integer Dim ColNames() As String = {"语文","数学","英语","化学","物理","政治","历史","地理","生物","总分"} Dim TotalName As String For Each ColName As String In ColNames \' For i As Integer = 0 To bjs.Count -1 Dim drs As List(Of DataRow) = DataTables("学生成绩汇总表").Select("[年级] = \'" & bjs(i) & "\'", ColName & " DESC") Count = 0 TotalName = ColName & "年级排名" For n As Integer = 0 To drs.Count - 1 Count = Count + 1 If n > 0 AndAlso drs(n)(ColName ) = drs(n-1)(ColName) Then drs(n)(TotalName ) = drs(n-1)(TotalName ) Else drs(n)(TotalName ) = Count End If Next Next Next Tables("学生成绩汇总表").Sort = "总分 DESC" Tables("学生成绩汇总表").ResumeRedraw 这是学生成绩的年级排名代码 Tables("学生成绩汇总表").StopRedraw Dim bjs As List(Of String) = DataTables("学生成绩汇总表").GetValues("班级","[班级] Is Not NULL") Dim Count As Integer Dim ColNames() As String = {"语文","数学","英语","化学","物理","政治","历史","地理","生物","总分"} Dim TotalName As String For Each ColName As String In ColNames \' For i As Integer = 0 To bjs.Count -1 Dim drs As List(Of DataRow) = DataTables("学生成绩汇总表").Select("[班级] = \'" & bjs(i) & "\'", ColName & " DESC") Count = 0 TotalName = ColName & "班级排名" For n As Integer = 0 To drs.Count - 1 Count = Count + 1 If n > 0 AndAlso drs(n)(ColName ) = drs(n-1)(ColName) Then drs(n)(TotalName ) = drs(n-1)(TotalName ) Else drs(n)(TotalName ) = Count End If Next Next Next Tables("学生成绩汇总表").Sort = "总分 DESC" Tables("学生成绩汇总表").ResumeRedraw 这是学生成绩的班级排名代码,这两段代码,如何合并到一起,用一个窗口按钮公式完成,谢谢老师! |
-- 作者:有点蓝 -- 发布时间:2021/7/19 20:30:00 -- 把下面蓝色的代码去掉,放到一个按钮里即可 …… Else drs(n)(TotalName ) = Count End If Next Next Next Tables("学生成绩汇总表").Sort = "总分 DESC" Tables("学生成绩汇总表").ResumeRedraw 这是学生成绩的年级排名代码 Tables("学生成绩汇总表").StopRedraw Dim bjs As List(Of String) = DataTables("学生成绩汇总表").GetValues("班级","[班级] Is Not NULL") Dim Count As Integer Dim ColNames() As String = {"语文","数学","英语","化学","物理","政治","历史","地理","生物","总分"} Dim TotalName As String For Each ColName As String In ColNames \' For i As Integer = 0 To bjs.Count -1 Dim drs As List(Of DataRow) = DataTables("学生成绩汇总表").Select("[班级] = \'" & bjs(i) & "\'", ColName & " DESC") Count = 0 TotalName = ColName & "班级排名" …… 重复的变量换个不同名称 [此贴子已经被作者于2021/7/19 20:31:45编辑过]
|
-- 作者:hbfnmxb -- 发布时间:2021/7/19 21:15:00 -- Tables("学生成绩汇总表").StopRedraw Dim bjs As List(Of String) = DataTables("学生成绩汇总表").GetValues("年级","[年级] Is Not NULL") Dim Count As Integer Dim ColNames() As String = {"语文","数学","英语","化学","物理","政治","历史","地理","生物","总分"} Dim TotalName As String For Each ColName As String In ColNames \' For i As Integer = 0 To bjs.Count -1 Dim drs As List(Of DataRow) = DataTables("学生成绩汇总表").Select("[年级] = \'" & bjs(i) & "\'", ColName & " DESC") Count = 0 TotalName = ColName & "年级排名" For n As Integer = 0 To drs.Count - 1 Count = Count + 1 If n > 0 AndAlso drs(n)(ColName ) = drs(n-1)(ColName) Then drs(n)(TotalName ) = drs(n-1)(TotalName ) Else drs(n)(TotalName ) = Count End If Next Next Next Dim bjsP As List(Of String) = DataTables("学生成绩汇总表").GetValues("班级","[班级] Is Not NULL") Dim CountP As Integer Dim TotalNameP As String For Each ColName As String In ColNames \' For i As Integer = 0 To bjsP.Count -1 Dim drs As List(Of DataRow) = DataTables("学生成绩汇总表").Select("[班级] = \'" & bjsP(i) & "\'", ColName & " DESC") Count = 0 TotalNameP = ColName & "班级排名" For n As Integer = 0 To drs.Count - 1 Count = Count + 1 If n > 0 AndAlso drs(n)(ColName ) = drs(n-1)(ColName) Then drs(n)(TotalNameP ) = drs(n-1)(TotalNameP ) Else drs(n)(TotalNameP ) = Count End If Next Next Next 谢谢老师,改好了! [此贴子已经被作者于2021/7/19 21:24:21编辑过]
|