Foxtable(狐表)用户栏目专家坐堂 → 排座表与查询表串改了!


  共有3433人关注过本帖平板打印复制链接

主题:排座表与查询表串改了!

美女呀,离线,留言给我吧!
采菊东篱下
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:八尾狐 帖子:1881 积分:10374 威望:0 精华:0 注册:2019/4/6 8:45:00
排座表与查询表串改了!  发帖心情 Post By:2022/1/21 14:34:00 [只看该作者]

这是双击比赛积分表弹出的座位表的代码,修改数据能保存:

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

If Forms("主窗口").opened Then
    Forms("主窗口").Controls("棋赛名称").text = e.Row("棋赛名称")
    Dim qsmc As WinForm.ComboBox = Forms("主窗口").Controls("棋赛名称")
    Dim di1 As String = qsmc.text
    If e.Row.IsNull("棋赛副名") Then
        Forms("主窗口").Controls("TextBox4").text = Nothing
    Else
        Forms("主窗口").Controls("TextBox4").text = e.Row("棋赛副名")
    End If
    Forms("主窗口").Controls("第几轮").text = e.Row("第几轮比赛")
    Dim m As WinForm.TextBox = Forms("主窗口").Controls("第几轮")
    Dim di2 As String = m.text
    Forms("主窗口").Controls("rq").Value = e.Row("日期")
    Dim bsrq As WinForm.DateTimePicker = Forms("主窗口").Controls("rq")
    Dim di3 As Date = bsrq.Value
    Forms("主窗口").Controls("bslx").text = e.Row("团体赛或个人赛")
    Dim bslx As WinForm.TextBox = Forms("主窗口").Controls("bslx")
    Dim lx As String = bslx.text
    Forms("主窗口").Controls("fenzhu").text = e.Row("分组")
    Dim fz As WinForm.DropDownBox = Forms("主窗口").Controls("fenzhu")
    Dim Str As String = fz.text
    Dim tbl As WinForm.Table
    Dim tab As WinForm.TabControl = Forms("主窗口").Controls("TabControl1")
    If tab.TabPages.Contains(Str) = False Then
        tab.TabPages.Add(Str,Str)
        tbl = Forms("主窗口").CreateSQLTable("Table'" & Str & "'","Select * Fr om {综合组}","")
        tbl.SetBounds(0, 0, 983, 580)
        Forms("主窗口").Controls("TabControl1").Tabpages(Str).AddControl(tbl)
        Forms("主窗口").Controls("TabControl1").SelectedIndex = tab.TabPages.count + 1
    Else
        tbl = Forms("主窗口").Controls("Table'" & Str & "'")
    End If
    tbl.Table.SetColVisibleWidth("桌号|40|红方_名次|40|红方_编号|40|红方_姓名|60|红方_上轮止累计积分|80|红方_曾交战对手累计积分|80|红方_签名|60|当前局成绩_红方|80|当前局成绩_黑方|80|黑方_签名|60|黑方_名次|40|黑方_编号|40|黑方_姓名|60|黑方_上轮止累计积分|80|黑方_曾交战对手累计积分|80")
    tbl.Table.SetHeaderRowHeight(40)
    tbl.Table.DataTable.EnterKeyActionDown = True
    tbl.Table.DataTable.DataRows.Clear
    Dim drs As List(of DataRow) = DataTables("比赛积分").SQLSelect("[团体赛或个人赛] = '" & lx & "' And [棋赛名称] = '" & di1 & "' And [第几轮比赛] = '" & di2 & "' And [分组] = '" & Str & "'","","日期 Desc,团体赛或个人赛,棋赛名称,分组,桌号 Desc")
    For Each s As Integer In DataTables("比赛积分").SQLGetValues("桌号","[团体赛或个人赛] = '" & lx & "' And [棋赛名称] = '" & di1 & "'And [第几轮比赛] = '" & di2 & "' And [分组] = '" & Str & "' And [桌号] > 0","桌号")
        Dim nr As DataRow = tbl.Table.DataTable.AddNew
        nr("桌号") = s
        Dim dr As DataRow = DataTables("比赛积分").SQLFind("[团体赛或个人赛] = '" & lx & "' And [棋赛名称] = '" & di1 & "'And [第几轮比赛] = '" & di2 & "' And [分组] = '" & Str & "' And [桌号] = " & s & " And [红黑方] = '红方'")
        If dr IsNot Nothing Then
            If di2 = 1 Then
                nr("红方_名次") = Nothing
            Else
                nr("红方_名次") = dr("上轮名次")
            End If
            nr("红方_编号") = dr("编号")
            nr("红方_姓名") = dr("姓名")
            nr("红方_上轮止累计积分") = dr("上轮止累计积分")
            nr("红方_曾交战对手累计积分") = dr("曾交战对手累计积分")
            nr("当前局成绩_红方") = dr("积分")
        End If
        dr = DataTables("比赛积分").SQLFind("[团体赛或个人赛] = '" & lx & "' And [棋赛名称] = '" & di1 & "'And [第几轮比赛] = '" & di2 & "' And [分组] = '" & Str & "' And [桌号] = " & s & " And [红黑方] = '黑方'")
        If dr IsNot Nothing Then
            If di2 = 1 Then
                nr("黑方_名次") = Nothing
            Else
                nr("黑方_名次") = dr("上轮名次")
            End If
            nr("黑方_编号") = dr("编号")
            nr("黑方_姓名") = dr("姓名")
            nr("黑方_上轮止累计积分") = dr("上轮止累计积分")
            nr("黑方_曾交战对手累计积分") = dr("曾交战对手累计积分")
            nr("当前局成绩_黑方") = dr("积分")
        End If
    Next
    Dim drs6 As List(of DataRow) = DataTables("比赛积分").SQLSelect("[团体赛或个人赛] = '" & lx & "' And [棋赛名称] = '" & di1 & "'And [第几轮比赛] = '" & di2 & "' And [分组] = '" & Str & "' And [桌号] = 0","","桌号")
    Dim drs7 As List(of DataRow) = DataTables("比赛积分").SQLSelect("[团体赛或个人赛] = '" & lx & "' And [棋赛名称] = '" & di1 & "'And [第几轮比赛] = '" & di2 & "' And [分组] = '" & Str & "' And [桌号] = 0 And [红黑方] = '红方'","","桌号")
    Dim drs8 As List(of DataRow) = DataTables("比赛积分").SQLSelect("[团体赛或个人赛] = '" & lx & "' And [棋赛名称] = '" & di1 & "'And [第几轮比赛] = '" & di2 & "' And [分组] = '" & Str & "' And [桌号] = 0 And [红黑方] = '黑方'","","桌号")
    For ci As Integer = 0 To math.Ceiling((drs6.Count - 1) / 2)
        Dim nr As DataRow = tbl.Table.DataTable.AddNew
        If drs7.count < drs8.count Then
            If ci <= drs7.count - 1 And ci < drs8.count - 1 Then
                nr("桌号") = 0
                If di2 = 1 Then
                    nr("红方_名次") = Nothing
                Else
                    nr("红方_名次") = drs7(ci)("上轮名次")
                End If
                nr("红方_编号") = drs7(ci)("编号")
                nr("红方_姓名") = drs7(ci)("姓名")
                nr("红方_上轮止累计积分") = drs7(ci)("上轮止累计积分")
                nr("红方_曾交战对手累计积分") = drs7(ci)("曾交战对手累计积分")
                nr("当前局成绩_红方") = IIF(drs7(ci).IsNull("积分"),"0",drs7(ci)("积分"))
                If di2 = 1 Then
                    nr("黑方_名次") = Nothing
                Else
                    nr("黑方_名次") = drs8(ci)("上轮名次")
                End If
                nr("黑方_编号") = drs8(ci)("编号")
                nr("黑方_姓名") = drs8(ci)("姓名")
                nr("黑方_上轮止累计积分") = drs8(ci)("上轮止累计积分")
                nr("黑方_曾交战对手累计积分") = drs8(ci)("曾交战对手累计积分")
                nr("当前局成绩_黑方") = IIF(drs8(ci).IsNull("积分"),"0",drs8(ci)("积分"))
            ElseIf ci > drs7.count - 1 And ci <= drs8.count - 1 Then
                nr("桌号") = 0
                nr("红方_编号") = Nothing
                nr("红方_姓名") = Nothing
                nr("红方_上轮止累计积分") = 0
                nr("红方_曾交战对手累计积分") = 0
                nr("当前局成绩_红方") = 0
                nr("黑方_名次") = drs8(ci)("上轮名次")
                nr("黑方_编号") = drs8(ci)("编号")
                nr("黑方_姓名") = drs8(ci)("姓名")
                nr("黑方_上轮止累计积分") = drs8(ci)("上轮止累计积分")
                nr("黑方_曾交战对手累计积分") = drs8(ci)("曾交战对手累计积分")
                nr("当前局成绩_黑方") = IIF(drs8(ci).IsNull("积分"),"0",drs8(ci)("积分"))
            End If
        ElseIf drs7.count > drs8.count Then
            If ci < drs7.count - 1 And ci <= drs8.count - 1 Then
                nr("桌号") = 0
                nr("红方_名次") = drs7(ci)("上轮名次")
                nr("红方_编号") = drs7(ci)("编号")
                nr("红方_姓名") = drs7(ci)("姓名")
                nr("红方_上轮止累计积分") = drs7(ci)("上轮止累计积分")
                nr("红方_曾交战对手累计积分") = drs7(ci)("曾交战对手累计积分")
                nr("当前局成绩_红方") = IIF(drs7(ci).IsNull("积分"),"0",drs7(ci)("积分"))
                nr("黑方_名次") = drs8(ci)("上轮名次")
                nr("黑方_编号") = drs8(ci)("编号")
                nr("黑方_姓名") = drs8(ci)("姓名")
                nr("黑方_上轮止累计积分") = drs8(ci)("上轮止累计积分")
                nr("黑方_曾交战对手累计积分") = drs8(ci)("曾交战对手累计积分")
                nr("当前局成绩_黑方") = IIF(drs8(ci).IsNull("积分"),"0",drs8(ci)("积分"))
            ElseIf ci <= drs7.count - 1 And ci > drs8.count - 1 Then
                nr("桌号") = 0
                nr("红方_名次") = drs7(ci)("上轮名次")
                nr("红方_编号") = drs7(ci)("编号")
                nr("红方_姓名") = drs7(ci)("姓名")
                nr("红方_上轮止累计积分") = drs7(ci)("上轮止累计积分")
                nr("红方_曾交战对手累计积分") = drs7(ci)("曾交战对手累计积分")
                nr("当前局成绩_红方") = IIF(drs7(ci).IsNull("积分"),"0",drs7(ci)("积分"))
                nr("黑方_名次") = Nothing
                nr("黑方_编号") = Nothing
                nr("黑方_姓名") = Nothing
                nr("黑方_上轮止累计积分") = 0
                nr("黑方_曾交战对手累计积分") = 0
                nr("当前局成绩_黑方") = 0
            End If
        End If
    Next
    tbl.Table.DataTable.GlobalHandler.DataColChanging = True
Else
    Return
End If
未完,一楼续。

 回到顶部