改为这样临时表还是没移动行:
For ia1 As Integer = 0 To dt.Table.rows.count - 1 Step 2
If ia1+1 < dt.Table.Rows.Count Then
Dim dr2a1 As DataRow = DataTables("比赛积分").SQLFind("[团体赛或个人赛] = '" & lx & "' And [棋赛名称] = '" & di1 & "' And [第几轮比赛] = '" & Cstr(Val(di2)-1) & "' And [分组] = '" & Str & "' And ([编号] = '" & dt.Table.Rows(ia1)("编号") & "'or [姓名] = '" & dt.Table.Rows(ia1)("姓名") & "')")
Dim dr2a2 As DataRow = DataTables("比赛积分").SQLFind("[团体赛或个人赛] = '" & lx & "' And [棋赛名称] = '" & di1 & "' And [第几轮比赛] = '" & Cstr(Val(di2)-1) & "' And [分组] = '" & Str & "' And ([编号] = '" & dt.Table.Rows(ia1+1)("编号") & "'or [姓名] = '" & dt.Table.Rows(ia1+1)("姓名") & "')")
If dr2a1 IsNot Nothing And dr2a2 IsNot Nothing And dr2a1("排序") = dr2a2("排序") Then
With dt.Table
.Rows(ia1+1).Move(.Position + 1)
End With
End If
End If
Next
dt.Table.Save()
[此贴子已经被作者于2022/1/5 22:08:54编辑过]