-- 作者:地瓜
-- 发布时间:2013/4/22 9:35:00
--
在“成绩排名表”窗体中的“按期数和班级排名”按钮代码如下:
\'\'e.Form.Controls("Label3").text="排名中,请稍候..." \'Dim Time,Time1 As Date \'Time = Date.now \'Application.Doevents \'DataTables("成绩排名表").DataRows.Clear() \'Dim f As New Filler \'f.SourceTable = DataTables("成绩信息表") \'f.SourceCols = "月考期数,年级,班别,学号,姓名,语文,数学,英语,物理,化学,生物,政治,历史,地理,总分" \'f.DataTable = DataTables("成绩排名表") \'f.DataCols = "月考期数,年级,班别,学号,姓名,语文,数学,英语,物理,化学,生物,政治,历史,地理,总分" \'f.ExcludeExistValue = True \'f.ExcludeNullValue = True \'f.Fill \'Dim pm As List(Of String) = CurrentTable.DataTable.GetUniqueValues("","月考期数","班别") \'Dim pmc As Integer \'Dim ColNames() As String = {"语文","数学","英语","化学","物理","生物","政治","历史","地理","文综","理综","总分"} \'Dim TotalName As String \'CurrentTable.Redraw = False \'刷新表 \'For Each ColName As String In ColNames \' For i As Integer = 0 To pm.Count -1 \' If pm(i) = "" Then \' Continue For \' End If \' Dim drs As List(Of DataRow) = CurrentTable.DataTable.Select("[月考期数] = \'" & pm(i)(0) & "\'And [班别] = " & pm(i)(1), ColName & " DESC") \' pmc = 0 \' TotalName = ColName & "排名" \' For n As Integer = 0 To drs.Count - 1 \' pmc = pmc +1 \' If n > 0 AndAlso drs(n)(ColName ) = drs(n-1)(ColName) Then \' drs(n)(TotalName ) = drs(n-1)(TotalName ) \' Else \' drs(n)(TotalName ) = pmc \' End If \' Next \' Next \'Next \'Tables("成绩排名表_成绩排名表").Sort = "总分 DESC" \'CurrentTable.Redraw = True \'Time1 = Date.Now \'\'e.Form.Controls("Label3").text="耗时 " & (Time1-Time).TotalSeconds & " 秒"
e.Form.Controls("Label3").text="排名中,请稍候..." Dim Time,Time1 As Date Time = Date.now Application.Doevents DataTables("成绩排名表").DataRows.Clear() Dim f As New Filler f.SourceTable = DataTables("成绩信息表") f.SourceCols = "月考期数,年级,班别,学号,姓名,语文,数学,英语,物理,化学,生物,政治,历史,地理,总分" f.DataTable = DataTables("成绩排名表") f.DataCols = "月考期数,年级,班别,学号,姓名,语文,数学,英语,物理,化学,生物,政治,历史,地理,总分" f.ExcludeExistValue = True f.ExcludeNullValue = True f.Fill Dim pm As List(Of String) = CurrentTable.DataTable.GetUniqueValues("","月考期数","班别") Dim pmc As Integer Dim ColNames() As String = {"语文","数学","英语","化学","物理","生物","政治","历史","地理","文综","理综","总分"} Dim TotalName As String CurrentTable.Redraw = False \'刷新表 For Each ColName As String In ColNames For i As Integer = 0 To pm.Count -1 If pm(i) = "" Then Continue For End If Dim drs As List(Of DataRow) = CurrentTable.DataTable.Select("[月考期数] = \'" & pm(i)(0) & "\'And [班别] = \'" & pm(i)(1), ColName & "\' DESC") pmc = 0 TotalName = ColName & "排名" For n As Integer = 0 To drs.Count - 1 pmc = pmc +1 If n > 0 AndAlso drs(n)(ColName ) = drs(n-1)(ColName) Then drs(n)(TotalName ) = drs(n-1)(TotalName ) Else drs(n)(TotalName ) = pmc End If Next Next Next Tables("成绩排名表_成绩排名表").Sort = "总分 DESC" CurrentTable.Redraw = True Time1 = Date.Now e.Form.Controls("Label3").text="耗时 " & (Time1-Time).TotalSeconds & " 秒"
可是在单击“确定”按钮时提示如图的错误。
此主题相关图片如下:捕获.jpg
这是怎么回事呢?谢谢!
|