Dim dt As WinForm.Table
Dim tab1 As WinForm.TabControl = Forms("主窗口").Controls("TabControl1")
Dim mc1 As String = "临时过渡取数"
If tab1.TabPages.Contains(mc1) = False Then
tab1.TabPages.Add(mc1,mc1)
dt = Forms("主窗口").CreateSQLTable("Table'" & mc1 & "'","Select * Fro m {数据过渡表}","")
dt.SetBounds(0, 0, 1300, 580)
Forms("主窗口").Controls("TabControl1").Tabpages(mc1).AddControl(dt)
Forms("主窗口").Controls("TabControl1").SelectedIndex = tab1.TabPages.count + 1
Else
dt = Forms("主窗口").Controls("Table'" & mc1 & "'")
End If
If tbl.Table.DataTable.DataCols.Contains("_sortkey") = False Then
tbl.Table.DataTable.DataCols.Add("_sortkey",Gettype(Decimal))
End If
dt.Table.SetColVisibleWidth("日期|60|棋赛名称|100|棋赛副名|100|第几轮比赛|60|团体赛或个人赛|90|分组|80|上轮名次|50|编号|30|姓名|60|上轮止累计积分|90|曾交战对手累计积分|90")
dt.Table.SetHeaderRowHeight(20,40)
dt.Table.DataTable.DataRows.Clear
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
Dim t As Row = dt.Table.AddNew()
t("棋赛名称") = di1
t("棋赛副名") = Forms("主窗口").Controls("TextBox4").text
t("第几轮比赛") = di2
t("日期") = di3
t("上轮名次") = drs2(ia)("名次")
t("编号") = drs2(ia)("编号")
t("姓名") = drs2(ia)("姓名")
t("团体赛或个人赛") = lx
t("分组") = Str
t("上轮止累计积分") = drs2(ia)("积分")
t("曾交战对手累计积分") = DataTables("比赛积分").SQLCompute("SUM(积分)","[团体赛或个人赛] = '" & lx & "' And [棋赛名称] = '" & di1 & "' And [分组] = '" & Str & "' And [排序] = " & drs2(ia)("排序") & " And ([编号] <> '" & drs2(ia)("编号") & "'or [姓名] <> '" & drs2(ia)("姓名") & "')")
Next
dt.Table.Save()
For ia1 As Integer = 0 To dt.Table.rows.count-1 Step 2
If ia1+1 < dt.Table.Rows.Count Then
For ia As Integer = 0 To drs2.Count - 1
Dim dr2a1 As DataRow = DataTables("比赛积分").SQLFind("[团体赛或个人赛] = '" & lx & "' And [棋赛名称] = '" & di1 & "' And [第几轮比赛] = '" & Cstr(Val(di2)-1) & "' And [分组] = '" & Str & "' And [排序] = " & drs2(ia)("排序") & " And ([编号] <> '" & drs2(ia)("编号") & "'or [姓名] <> '" & drs2(ia)("姓名") & "')")
If dt.Table.Rows(ia1+1)("编号") = dr2a1("编号") Then
With dt.Table
.Rows(ia1+1).Move(.Position + 1)
End With
End If
Next
End If
Next
dt.Table.Save()
For ia2 As Integer = 0 To dt.Table.Rows.Count - 1
Dim dts1 As DataRow = DataTables("基本信息").SQLFind("[团体赛或个人赛] = '" & lx & "' And [棋赛名称] = '" & di1 & "' And [分组] = '" & Str & "' And [身份] = '参赛人' And [缺赛轮号] like '%" & di2 & "%' and [编号] = '" & dt.Table.Rows(ia2)("编号") & "'")
dr = DataTables("比赛积分").AddNew
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("上轮名次") = dt.Table.Rows(ia2)("名次")
dr("编号") = dt.Table.Rows(ia2)("编号")
dr("姓名") = dt.Table.Rows(ia2)("姓名")
dr("团体赛或个人赛") = lx
dr("分组") = Str
dr("上轮止累计积分") = dt.Table.Rows(ia2)("上轮止累计积分")
dr("曾交战对手累计积分") = dt.Table.Rows(ia2)("曾交战对手累计积分")
Next
DataTables("比赛积分").Load
DataTables("比赛积分").Save()