对阵表窗口综合组保存按钮我写了这代码,
此主题相关图片如下:排名.png
应红色标注出错,请教应怎么写?
Dim qsmc As WinForm.ComboBox = e.Form.Controls("棋赛名称")
Dim di1 As String = qsmc.Value
Dim m As WinForm.TextBox = e.Form.Controls("第几轮")
Dim di2 As String = m.Value
Dim bsrq As WinForm.DateTimePicker = e.Form.Controls("rq")
Dim di3 As Date = bsrq.Value
Dim fz As WinForm.ComboBox = e.Form.Controls("fenzhu")
Dim Str As String = fz.Value
If di2 >= 2
If DataTables("比赛积分").DataCols.Contains("辅助计算") = False Then
DataTables("比赛积分").DataCols.add("辅助计算", Gettype(Integer))
End If
Dim drs1 As List(of DataRow) = DataTables("比赛积分").SQLSelect("[棋赛名称] = '" & di1 & "' And [第几轮比赛] = '" & di2 & "' And [分组] = '" & Str & "'","","上轮止累计积分 Desc,曾交战对手累计积分 Desc")
For Each dr1 As DataRow In drs1
dr1("辅助计算") = dr1("上轮止累计积分") + dr1("曾交战对手累计积分")
Next
Dim bjs As List(Of String) = DataTables("比赛积分").SQLGetValues("姓名","[棋赛名称] = '" & di1 & "' And [第几轮比赛] = '" & di2 & "' And [分组] = '" & Str & "'","上轮止累计积分 Desc,曾交战对手累计积分 Desc")
For Each bj As String In bjs
Dim drs2 As List(Of DataRow) = DataTables("比赛积分").Select("[姓名] = " & bj, "辅助计算 DESC")
For n As Integer = 0 To drs2.Count - 1 '遍历所有行
If n > 0 AndAlso drs2(n)("辅助计算") = drs2(n-1)("辅助计算") Then '如果总分和上一行相同
drs2(n)("名次") = drs2(n-1)("名次") '则排名等于上一行
Else
drs2(n)("名次") = n + 1 '设置排名
End If
Next
Next
End If