以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  第2轮比赛后的排座问题  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=173918)

--  作者:采菊东篱下
--  发布时间:2021/12/22 14:13:00
--  第2轮比赛后的排座问题

图片点击可在新窗口打开查看此主题相关图片如下:qq图片20211222140658.png
图片点击可在新窗口打开查看
下面的代码生成如图效果,由于第4行,红、黑双方都各自走过红方或黑方,此轮希望上轮已执红方的走黑方的,已执黑方的走红方,我加入了红色代码不起作用,请教应如何改?
 ElseIf di2 = 2 And cnt = 0 Then
            Dim drs2 As List(of DataRow) = DataTables("比赛积分").SQLSelect("[团体赛或个人赛] = \'" & lx & "\' And [棋赛名称] = \'" & di1 & "\' And [第几轮比赛] = \'" & Cstr(Val(di2)-1) & "\' And [分组] = \'" & Str & "\'","","积分 Desc")
            For ia As Integer = 0 To drs2.Count - 1
                dr = DataTables("比赛积分").AddNew
                Dim dts1 As DataRow = DataTables("基本信息").SQLFind("[团体赛或个人赛] = \'" & lx & "\' And [棋赛名称] = \'" & di1 & "\' And [分组] = \'" & Str & "\' And [身份] = \'参赛人\' And [缺赛轮号] like \'%" & di2 & "%\' and [编号] = \'" & drs2(ia)("编号") & "\'")
                If dts1 IsNot Nothing Then
                    dr("排序") = 0
                Else
                    dr("排序") = math.Ceiling(ii2 / 2)
                    ii2 + = 1
                End If
                dr("棋赛名称") = di1
                dr("棋赛副名") = Forms("主窗口").Controls("TextBox4").text
                dr("第几轮比赛") = di2
                dr("日期") = di3
                dr("上轮名次") = drs2(ia)("名次")
                dr("编号") = drs2(ia)("编号")
                dr("姓名") = drs2(ia)("姓名")
                dr("团体赛或个人赛") = lx
                dr("分组") = Str
                dr("上轮止累计积分") = drs2(ia)("积分")
                dr("曾交战对手累计积分") = DataTables("比赛积分").SQLCompute("SUM(积分)","[团体赛或个人赛] = \'" & lx & "\' And [棋赛名称] = \'" & di1 & "\' And [分组] = \'" & Str & "\' And [排序] = " & drs2(ia)("排序") & " And ([编号] <> \'" & drs2(ia)("编号") & "\'or [姓名] <> \'" & drs2(ia)("姓名") & "\')")
                i2 + = 1
            Next
            DataTables("比赛积分").Load
            DataTables("比赛积分").Save()
            tbl.Table.DataTable.DataRows.Clear
            Dim drs3a As List(of DataRow) = DataTables("比赛积分").SQLSelect("[团体赛或个人赛] = \'" & lx & "\' And [棋赛名称] = \'" & di1 & "\'And [第几轮比赛] = \'" & di2 & "\' And [分组] = \'" & Str & "\' And [排序] <> 0","","上轮名次")
            Dim zh As Integer = 1
            For ib As Integer = 0 To drs3a.count - 1 Step 2
                Dim nr As DataRow = tbl.Table.DataTable.AddNew()
                nr("桌号") = zh
                zh + = 1
                For Each dr2 As DataRow In drs2
                    If drs3a(ib)("编号") = dr2("编号") And dr2("红黑方") = "红方" And drs3a(ib+1)("编号") = dr2("编号") And dr2("红黑方") = "黑方" Then
                        nr("红方_名次") = drs3a(ib+1)("上轮名次")
                        nr("红方_编号") = drs3a(ib+1)("编号")
                        nr("红方_姓名") = drs3a(ib+1)("姓名")
                        nr("红方_上轮止累计积分") = drs3a(ib+1)("上轮止累计积分")
                        nr("红方_曾交战对手累计积分") = drs3a(ib+1)("曾交战对手累计积分")
                        nr("黑方_名次") = drs3a(ib)("上轮名次")
                        nr("黑方_编号") = drs3a(ib)("编号")
                        nr("黑方_姓名") = drs3a(ib)("姓名")
                        nr("黑方_上轮止累计积分") = drs3a(ib)("上轮止累计积分")
                        nr("黑方_曾交战对手累计积分") = drs3a(ib)("曾交战对手累计积分")
                    ElseIf drs3a(ib)("编号") = dr2("编号") And dr2("红黑方") = "黑方" And drs3a(ib+1)("编号") = dr2("编号") And dr2("红黑方") = "红方" Then
                        nr("红方_名次") = drs3a(ib)("上轮名次")
                        nr("红方_编号") = drs3a(ib)("编号")
                        nr("红方_姓名") = drs3a(ib)("姓名")
                        nr("红方_上轮止累计积分") = drs3a(ib)("上轮止累计积分")
                        nr("红方_曾交战对手累计积分") = drs3a(ib)("曾交战对手累计积分")
                        nr("黑方_名次") = drs3a(ib+1)("上轮名次")
                        nr("黑方_编号") = drs3a(ib+1)("编号")
                        nr("黑方_姓名") = drs3a(ib+1)("姓名")
                        nr("黑方_上轮止累计积分") = drs3a(ib+1)("上轮止累计积分")
                    Else
                        Dim c As Integer = rand.Next(0,1)
                        Dim c1 As Integer = IIF(c = 0,1,0)
                        c = ib + c
                        c1 = ib + c1
                        If c <= drs3a.Count - 1
                            nr("红方_名次") = drs3a(c)("上轮名次")
                            nr("红方_编号") = drs3a(c)("编号")
                            nr("红方_姓名") = drs3a(c)("姓名")
                            nr("红方_上轮止累计积分") = drs3a(c)("上轮止累计积分")
                            nr("红方_曾交战对手累计积分") = drs3a(c)("曾交战对手累计积分")
                        End If
                        If c1 <= drs3a.Count - 1
                            nr("黑方_名次") = drs3a(c1)("上轮名次")
                            nr("黑方_编号") = drs3a(c1)("编号")
                            nr("黑方_姓名") = drs3a(c1)("姓名")
                            nr("黑方_上轮止累计积分") = drs3a(c1)("上轮止累计积分")
                            nr("黑方_曾交战对手累计积分") = drs3a(c1)("曾交战对手累计积分")
                        End If
                    End If
                Next
            Next
            DataTables("比赛积分").SQLUpdate(drs3a)


--  作者:有点蓝
--  发布时间:2021/12/22 14:52:00
--  
逻辑应该是使用find查询这个用户的上一轮的数据,如果上一轮是红,那么就放到黑方的单元格,以此类推
--  作者:采菊东篱下
--  发布时间:2021/12/22 15:11:00
--  
依然不起作用
ElseIf di2 = 2 And cnt = 0 Then
            Dim drs2 As List(of DataRow) = DataTables("比赛积分").SQLSelect("[团体赛或个人赛] = \'" & lx & "\' And [棋赛名称] = \'" & di1 & "\' And [第几轮比赛] = \'" & Cstr(Val(di2)-1) & "\' And [分组] = \'" & Str & "\'","","积分 Desc")
            For ia As Integer = 0 To drs2.Count - 1
                dr = DataTables("比赛积分").AddNew
                Dim dts1 As DataRow = DataTables("基本信息").SQLFind("[团体赛或个人赛] = \'" & lx & "\' And [棋赛名称] = \'" & di1 & "\' And [分组] = \'" & Str & "\' And [身份] = \'参赛人\' And [缺赛轮号] like \'%" & di2 & "%\' and [编号] = \'" & drs2(ia)("编号") & "\'")
                If dts1 IsNot Nothing Then
                    dr("排序") = 0
                Else
                    dr("排序") = math.Ceiling(ii2 / 2)
                    ii2 + = 1
                End If
                dr("棋赛名称") = di1
                dr("棋赛副名") = Forms("主窗口").Controls("TextBox4").text
                dr("第几轮比赛") = di2
                dr("日期") = di3
                dr("上轮名次") = drs2(ia)("名次")
                dr("编号") = drs2(ia)("编号")
                dr("姓名") = drs2(ia)("姓名")
                dr("团体赛或个人赛") = lx
                dr("分组") = Str
                dr("上轮止累计积分") = drs2(ia)("积分")
                dr("曾交战对手累计积分") = DataTables("比赛积分").SQLCompute("SUM(积分)","[团体赛或个人赛] = \'" & lx & "\' And [棋赛名称] = \'" & di1 & "\' And [分组] = \'" & Str & "\' And [排序] = " & drs2(ia)("排序") & " And ([编号] <> \'" & drs2(ia)("编号") & "\'or [姓名] <> \'" & drs2(ia)("姓名") & "\')")
                i2 + = 1
            Next
            DataTables("比赛积分").Load
            DataTables("比赛积分").Save()
            tbl.Table.DataTable.DataRows.Clear
            Dim drs3a As List(of DataRow) = DataTables("比赛积分").SQLSelect("[团体赛或个人赛] = \'" & lx & "\' And [棋赛名称] = \'" & di1 & "\'And [第几轮比赛] = \'" & di2 & "\' And [分组] = \'" & Str & "\' And [排序] <> 0","","上轮名次")
            Dim zh As Integer = 1
            For ib As Integer = 0 To drs3a.count - 1 Step 2
                Dim nr As DataRow = tbl.Table.DataTable.AddNew()
                nr("桌号") = zh
                zh + = 1
                Dim dr2 As DataRow = DataTables("比赛积分").SQLFind("[团体赛或个人赛] = \'" & lx & "\' And [棋赛名称] = \'" & di1 & "\' And [第几轮比赛] = \'" & Cstr(Val(di2)-1) & "\' And [分组] = \'" & Str & "\'")
                If drs3a(ib)("编号") = dr2("编号") And dr2("红黑方") = "红方" And drs3a(ib+1)("编号") = dr2("编号") And dr2("红黑方") = "黑方" Then
                    nr("红方_名次") = drs3a(ib+1)("上轮名次")
                    nr("红方_编号") = drs3a(ib+1)("编号")
                    nr("红方_姓名") = drs3a(ib+1)("姓名")
                    nr("红方_上轮止累计积分") = drs3a(ib+1)("上轮止累计积分")
                    nr("红方_曾交战对手累计积分") = drs3a(ib+1)("曾交战对手累计积分")
                    nr("黑方_名次") = drs3a(ib)("上轮名次")
                    nr("黑方_编号") = drs3a(ib)("编号")
                    nr("黑方_姓名") = drs3a(ib)("姓名")
                    nr("黑方_上轮止累计积分") = drs3a(ib)("上轮止累计积分")
                    nr("黑方_曾交战对手累计积分") = drs3a(ib)("曾交战对手累计积分")
                ElseIf drs3a(ib)("编号") = dr2("编号") And dr2("红黑方") = "黑方" And drs3a(ib+1)("编号") = dr2("编号") And dr2("红黑方") = "红方" Then
                    nr("红方_名次") = drs3a(ib)("上轮名次")
                    nr("红方_编号") = drs3a(ib)("编号")
                    nr("红方_姓名") = drs3a(ib)("姓名")
                    nr("红方_上轮止累计积分") = drs3a(ib)("上轮止累计积分")
                    nr("红方_曾交战对手累计积分") = drs3a(ib)("曾交战对手累计积分")
                    nr("黑方_名次") = drs3a(ib+1)("上轮名次")
                    nr("黑方_编号") = drs3a(ib+1)("编号")
                    nr("黑方_姓名") = drs3a(ib+1)("姓名")
                    nr("黑方_上轮止累计积分") = drs3a(ib+1)("上轮止累计积分")
                Else
                    Dim c As Integer = rand.Next(0,1)
                    Dim c1 As Integer = IIF(c = 0,1,0)
                    c = ib + c
                    c1 = ib + c1
                    If c <= drs3a.Count - 1
                        nr("红方_名次") = drs3a(c)("上轮名次")
                        nr("红方_编号") = drs3a(c)("编号")
                        nr("红方_姓名") = drs3a(c)("姓名")
                        nr("红方_上轮止累计积分") = drs3a(c)("上轮止累计积分")
                        nr("红方_曾交战对手累计积分") = drs3a(c)("曾交战对手累计积分")
                    End If
                    If c1 <= drs3a.Count - 1
                        nr("黑方_名次") = drs3a(c1)("上轮名次")
                        nr("黑方_编号") = drs3a(c1)("编号")
                        nr("黑方_姓名") = drs3a(c1)("姓名")
                        nr("黑方_上轮止累计积分") = drs3a(c1)("上轮止累计积分")
                        nr("黑方_曾交战对手累计积分") = drs3a(c1)("曾交战对手累计积分")
                    End If
                End If
            Next
            DataTables("比赛积分").SQLUpdate(drs3a)
[此贴子已经被作者于2021/12/23 10:09:21编辑过]

--  作者:有点蓝
--  发布时间:2021/12/22 15:29:00
--  
               Dim dr2 As DataRow = DataTables("比赛积分").SQLFind("[团体赛或个人赛] = \'" & lx & "\' And [棋赛名称] = \'" & di1 & "\' And [第几轮比赛] = \'" & Cstr(Val(di2)-1) & "\' And [分组] = \'" & Str & "\' and 编号=\'" & drs3a(ib)("编号") & "\'")
                If dr2 isnot nothing Andalso dr2("红黑方") = "红方" Then
nr("黑方_编号") = drs3a(ib)("编号")
nr("红方_编号") = drs3a(ib+1)("编号")
……
else
nr("黑方_编号") = drs3a(ib+1)("编号")
nr("红方_编号") = drs3a(ib)("编号")
endif

--  作者:采菊东篱下
--  发布时间:2021/12/22 15:40:00
--  
双条件才执行这代码,即本轮同桌的一方上轮为红方,另一方上轮为黑方,本轮才互换红黑方,上轮双方是跟另外的人对战的。
[此贴子已经被作者于2021/12/22 15:41:13编辑过]

--  作者:有点蓝
--  发布时间:2021/12/22 15:43:00
--  
那就分别查2次,然后一起判断
--  作者:采菊东篱下
--  发布时间:2021/12/22 15:46:00
--  
这双条件要同时成立才执行,不能分开判断。
--  作者:有点蓝
--  发布时间:2021/12/22 15:54:00
--  
分开查询,一起判断
--  作者:采菊东篱下
--  发布时间:2021/12/23 0:55:00
--  

图片点击可在新窗口打开查看此主题相关图片如下:qq图片20211223004422.png
图片点击可在新窗口打开查看

图片点击可在新窗口打开查看此主题相关图片如下:qq图片20211223004447.png
图片点击可在新窗口打开查看
没有红色代码不报错,有它假如第2轮有人离赛,理应有一桌对手为空,另0桌单独显示没参赛人编号、姓名、上轮积分、累计积分,但由于多了红色代码,独立的这两行都没显,不要红色代码,这两行正常显示,但红色代码是判断第2轮先、后手的,要求保存,这种情况下应如何处理?
ElseIf di2 = 2 And cnt = 0 Then
            Dim drs2 As List(of DataRow) = DataTables("比赛积分").SQLSelect("[团体赛或个人赛] = \'" & lx & "\' And [棋赛名称] = \'" & di1 & "\' And [第几轮比赛] = \'" & Cstr(Val(di2)-1) & "\' And [分组] = \'" & Str & "\'","","积分 Desc")
            For ia As Integer = 0 To drs2.Count - 1
                dr = DataTables("比赛积分").AddNew
                Dim dts1 As DataRow = DataTables("基本信息").SQLFind("[团体赛或个人赛] = \'" & lx & "\' And [棋赛名称] = \'" & di1 & "\' And [分组] = \'" & Str & "\' And [身份] = \'参赛人\' And [缺赛轮号] like \'%" & di2 & "%\' and [编号] = \'" & drs2(ia)("编号") & "\'")
                If dts1 IsNot Nothing Then
                    dr("排序") = 0
                Else
                    dr("排序") = math.Ceiling(ii2 / 2)
                    ii2 + = 1
                End If
                dr("棋赛名称") = di1
                dr("棋赛副名") = Forms("主窗口").Controls("TextBox4").text
                dr("第几轮比赛") = di2
                dr("日期") = di3
                dr("上轮名次") = drs2(ia)("名次")
                dr("编号") = drs2(ia)("编号")
                dr("姓名") = drs2(ia)("姓名")
                dr("团体赛或个人赛") = lx
                dr("分组") = Str
                dr("上轮止累计积分") = drs2(ia)("积分")
                dr("曾交战对手累计积分") = DataTables("比赛积分").SQLCompute("SUM(积分)","[团体赛或个人赛] = \'" & lx & "\' And [棋赛名称] = \'" & di1 & "\' And [分组] = \'" & Str & "\' And [排序] = " & drs2(ia)("排序") & " And ([编号] <> \'" & drs2(ia)("编号") & "\'or [姓名] <> \'" & drs2(ia)("姓名") & "\')")
            Next
            DataTables("比赛积分").Load
            DataTables("比赛积分").Save()
            tbl.Table.DataTable.DataRows.Clear
            Dim drs3a As List(of DataRow) = DataTables("比赛积分").SQLSelect("[团体赛或个人赛] = \'" & lx & "\' And [棋赛名称] = \'" & di1 & "\'And [第几轮比赛] = \'" & di2 & "\' And [分组] = \'" & Str & "\' And [排序] <> 0","","上轮名次")
            Dim zh As Integer = 1
            For ib As Integer = 0 To drs3a.count - 1 Step 2
                Dim nr As DataRow = tbl.Table.DataTable.AddNew()
                nr("桌号") = zh
                zh + = 1
                Dim dr2a As DataRow = DataTables("比赛积分").SQLFind("[团体赛或个人赛] = \'" & lx & "\' And [棋赛名称] = \'" & di1 & "\' And [第几轮比赛] = \'" & Cstr(Val(di2)-1) & "\' And [分组] = \'" & Str & "\' And [编号] = \'" & drs3a(ib)("编号") & "\'")
                Dim dr2b As DataRow = DataTables("比赛积分").SQLFind("[团体赛或个人赛] = \'" & lx & "\' And [棋赛名称] = \'" & di1 & "\' And [第几轮比赛] = \'" & Cstr(Val(di2)-1) & "\' And [分组] = \'" & Str & "\' And [编号] = \'" & drs3a(ib+1)("编号") & "\'")
                If dr2a IsNot Nothing AndAlso dr2b IsNot Nothing And dr2a("红黑方") = "红方" And dr2b("红黑方") = "黑方" Then
                    nr("红方_名次") = drs3a(ib+1)("上轮名次")
                    nr("红方_编号") = drs3a(ib+1)("编号")
                    nr("红方_姓名") = drs3a(ib+1)("姓名")
                    nr("红方_上轮止累计积分") = drs3a(ib+1)("上轮止累计积分")
                    nr("红方_曾交战对手累计积分") = drs3a(ib+1)("曾交战对手累计积分")
                    nr("黑方_名次") = drs3a(ib)("上轮名次")
                    nr("黑方_编号") = drs3a(ib)("编号")
                    nr("黑方_姓名") = drs3a(ib)("姓名")
                    nr("黑方_上轮止累计积分") = drs3a(ib)("上轮止累计积分")
                    nr("黑方_曾交战对手累计积分") = drs3a(ib)("曾交战对手累计积分")
                ElseIf dr2a IsNot Nothing AndAlso dr2b IsNot Nothing And dr2a("红黑方") = "黑方" And dr2b("红黑方") = "红方" Then
                    nr("红方_名次") = drs3a(ib)("上轮名次")
                    nr("红方_编号") = drs3a(ib)("编号")
                    nr("红方_姓名") = drs3a(ib)("姓名")
                    nr("红方_上轮止累计积分") = drs3a(ib)("上轮止累计积分")
                    nr("红方_曾交战对手累计积分") = drs3a(ib)("曾交战对手累计积分")
                    nr("黑方_名次") = drs3a(ib+1)("上轮名次")
                    nr("黑方_编号") = drs3a(ib+1)("编号")
                    nr("黑方_姓名") = drs3a(ib+1)("姓名")
                    nr("黑方_上轮止累计积分") = drs3a(ib+1)("上轮止累计积分")
                    nr("黑方_曾交战对手累计积分") = drs3a(ib+1)("曾交战对手累计积分")
                Else
                    Dim c As Integer = rand.Next(0,2)
                    Dim c1 As Integer = IIF(c = 0,1,0)
                    c = ib + c
                    c1 = ib + c1
                    If c <= drs3a.Count - 1
                        nr("红方_名次") = drs3a(c)("上轮名次")
                        nr("红方_编号") = drs3a(c)("编号")
                        nr("红方_姓名") = drs3a(c)("姓名")
                        nr("红方_上轮止累计积分") = drs3a(c)("上轮止累计积分")
                        nr("红方_曾交战对手累计积分") = drs3a(c)("曾交战对手累计积分")
                    End If
                    If c1 <= drs3a.Count - 1
                        nr("黑方_名次") = drs3a(c1)("上轮名次")
                        nr("黑方_编号") = drs3a(c1)("编号")
                        nr("黑方_姓名") = drs3a(c1)("姓名")
                        nr("黑方_上轮止累计积分") = drs3a(c1)("上轮止累计积分")
                        nr("黑方_曾交战对手累计积分") = drs3a(c1)("曾交战对手累计积分")
                    End If
                End If
            Next
            DataTables("比赛积分").SQLUpdate(drs3a)


--  作者:采菊东篱下
--  发布时间:2021/12/23 0:56:00
--  
代码太长不允许一次性发,0桌的代码是:
 Dim drs3b As List(of DataRow) = DataTables("比赛积分").SQLSelect("[团体赛或个人赛] = \'" & lx & "\' And [棋赛名称] = \'" & di1 & "\' And [第几轮比赛] = \'" & di2 & "\' And [分组] = \'" & Str & "\' And [排序] = 0","","上轮名次")
            For ib1 As Integer = 0 To drs3b.count - 1 Step 2
                dr = DataTables("比赛积分").AddNew
                Dim nr As DataRow = tbl.Table.DataTable.AddNew()
                nr("桌号") = 0
                Dim dr3a As DataRow = DataTables("比赛积分").SQLFind("[团体赛或个人赛] = \'" & lx & "\' And [棋赛名称] = \'" & di1 & "\' And [第几轮比赛] = \'" & Cstr(Val(di2)-1) & "\' And [分组] = \'" & Str & "\' And [编号] = \'" & drs3b(ib1)("编号") & "\'")
                Dim dr3b As DataRow = DataTables("比赛积分").SQLFind("[团体赛或个人赛] = \'" & lx & "\' And [棋赛名称] = \'" & di1 & "\' And [第几轮比赛] = \'" & Cstr(Val(di2)-1) & "\' And [分组] = \'" & Str & "\' And [编号] = \'" & drs3b(ib1+1)("编号") & "\'")
                If dr3a IsNot Nothing AndAlso dr3b IsNot Nothing And dr3a("红黑方") = "红方" And dr3b("红黑方") = "黑方" Then
                    nr("红方_名次") = drs3b(ib1+1)("上轮名次")
                    nr("红方_编号") = drs3b(ib1+1)("编号")
                    nr("红方_姓名") = drs3b(ib1+1)("姓名")
                    nr("红方_上轮止累计积分") = drs3b(ib1+1)("上轮止累计积分")
                    nr("红方_曾交战对手累计积分") = drs3b(ib1+1)("曾交战对手累计积分")
                    nr("黑方_名次") = drs3b(ib1)("上轮名次")
                    nr("黑方_编号") = drs3b(ib1)("编号")
                    nr("黑方_姓名") = drs3b(ib1)("姓名")
                    nr("黑方_上轮止累计积分") = drs3b(ib1)("上轮止累计积分")
                    nr("黑方_曾交战对手累计积分") = drs3b(ib1)("曾交战对手累计积分")
                ElseIf dr3a IsNot Nothing AndAlso dr3b IsNot Nothing And dr3a("红黑方") = "黑方" And dr3b("红黑方") = "红方" Then
                    nr("红方_名次") = drs3b(ib1)("上轮名次")
                    nr("红方_编号") = drs3b(ib1)("编号")
                    nr("红方_姓名") = drs3b(ib1)("姓名")
                    nr("红方_上轮止累计积分") = drs3b(ib1)("上轮止累计积分")
                    nr("红方_曾交战对手累计积分") = drs3b(ib1)("曾交战对手累计积分")
                    nr("黑方_名次") = drs3b(ib1+1)("上轮名次")
                    nr("黑方_编号") = drs3b(ib1+1)("编号")
                    nr("黑方_姓名") = drs3b(ib1+1)("姓名")
                    nr("黑方_上轮止累计积分") = drs3b(ib1+1)("上轮止累计积分")
                    nr("黑方_曾交战对手累计积分") = drs3a(ib1+1)("曾交战对手累计积分")
                Else
                    Dim c2 As Integer = rand.Next(0,2)
                    Dim c3 As Integer = IIF(c2 = 0,1,0)
                    c2 = ib1 + c2
                    c3 = ib1 + c3
                    If c2 <= drs3b.Count - 1
                        nr("红方_名次") = drs3b(c2)("上轮名次")
                        nr("红方_编号") = drs3b(c2)("编号")
                        nr("红方_姓名") = drs3b(c2)("姓名")
                        nr("红方_上轮止累计积分") = drs3b(c2)("上轮止累计积分")
                        nr("红方_曾交战对手累计积分") = drs3b(c2)("曾交战对手累计积分")
                    End If
                    If c3 <= drs3b.Count - 1
                        nr("黑方_名次") = drs3b(c3)("上轮名次")
                        nr("黑方_编号") = drs3b(c3)("编号")
                        nr("黑方_姓名") = drs3b(c3)("姓名")
                        nr("黑方_上轮止累计积分") = drs3b(c3)("上轮止累计积分")
                        nr("黑方_曾交战对手累计积分") = drs3b(c3)("曾交战对手累计积分")
                    End If
                End If
            Next
            DataTables("比赛积分").SQLUpdate(drs3b)

[此贴子已经被作者于2021/12/23 0:57:19编辑过]