Foxtable(狐表)用户栏目专家坐堂 → 查询按钮生成的数据不完整


  共有3806人关注过本帖树形打印复制链接

主题:查询按钮生成的数据不完整

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


加好友 发短信
等级:八尾狐 帖子:1881 积分:10368 威望:0 精华:0 注册:2019/4/6 8:45:00
  发帖心情 Post By:2020/7/1 15:16:00 [只看该作者]

综合组第3轮桌号为0,不能用你的方法,缺赛人数超过3人,代码增加行数不够了。
[此贴子已经被作者于2020/7/1 15:33:51编辑过]

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


加好友 发短信
等级:八尾狐 帖子:1881 积分:10368 威望:0 精华:0 注册:2019/4/6 8:45:00
  发帖心情 Post By:2020/7/1 15:18:00 [只看该作者]

我觉得还是我的方法通用。

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


加好友 发短信
等级:八尾狐 帖子:1881 积分:10368 威望:0 精华:0 注册:2019/4/6 8:45:00
  发帖心情 Post By:2020/7/1 20:15:00 [只看该作者]

桌号大于0的用你的代码,桌号等于0的代码用我的方法,其实桌号大于0的也可以用我的方法,只是代码太长了,用你的简化点,现在效果出来了,结果也对。

图片点击可在新窗口打开查看此主题相关图片如下:606.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 fz As WinForm.ComboBox = e.Form.Controls("fenzhu")
        Dim Str As String = fz.Value
        DataTables("查询").DataRows.Clear
        For Each s As Integer In DataTables("比赛积分").SQLGetValues("桌号","[棋赛名称] = '" & di1 & "'And [第几轮比赛] = '" & di2 & "' And [分组] = '" & Str & "' And [桌号] > 0","桌号")
            Dim nr As DataRow = DataTables("查询").AddNew
            nr("桌号") = s
            Dim dr As DataRow = DataTables("比赛积分").SQLFind("[棋赛名称] = '" & di1 & "'And [第几轮比赛] = '" & di2 & "' And [分组] = '" & Str & "' And [桌号] = " & s & " and 红黑方='红方'")
            If dr IsNot Nothing Then
                nr("红方_编号") = dr("编号")
                nr("红方_姓名") = dr("姓名")
                nr("红方_上轮止累计积分") = dr("上轮止累计积分")
                nr("红方_曾交战对手累计积分") = dr("曾交战对手累计积分")
                nr("当前局成绩_红方") = dr("积分")
            End If
            dr  = DataTables("比赛积分").SQLFind("[棋赛名称] = '" & di1 & "'And [第几轮比赛] = '" & di2 & "' And [分组] = '" & Str & "' And [桌号] = " & s & " and 红黑方='黑方'")
            If dr IsNot Nothing Then
                nr("黑方_编号") = dr("编号")
                nr("黑方_姓名") = dr("姓名")
                nr("黑方_上轮止累计积分") = dr("上轮止累计积分")
                nr("黑方_曾交战对手累计积分") = dr("曾交战对手累计积分")
                nr("当前局成绩_黑方") = dr("积分")
            End If
        Next
        Dim drs6 As List(of DataRow) = DataTables("比赛积分").SQLSelect("[棋赛名称] = '" & di1 & "'And [第几轮比赛] = '" & di2 & "' And [分组] = '" & Str & "' And [桌号] = 0","","桌号")
        Dim drs7 As List(of DataRow) = DataTables("比赛积分").SQLSelect("[棋赛名称] = '" & di1 & "'And [第几轮比赛] = '" & di2 & "' And [分组] = '" & Str & "' And [桌号] = 0 And [红黑方] = '红方'","","桌号")
        Dim drs8 As List(of DataRow) = DataTables("比赛积分").SQLSelect("[棋赛名称] = '" & di1 & "'And [第几轮比赛] = '" & di2 & "' And [分组] = '" & Str & "' And [桌号] = 0 And [红黑方] = '黑方'","","桌号")
 For ci As Integer = 0 To drs6.Count \ 2
            Dim nr As DataRow = DataTables("查询").AddNew
            If 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("当前局成绩_红方") = IIF(drs7(ci).IsNull("积分"),"0",drs7(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("红方_编号") = Nothing
                    nr("红方_姓名") = Nothing
                    nr("红方_上轮止累计积分") = 0
                    nr("红方_曾交战对手累计积分") = 0
                    nr("当前局成绩_红方") = 0
                    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("当前局成绩_红方") = IIF(drs7(ci).IsNull("积分"),"0",drs7(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("当前局成绩_红方") = IIF(drs7(ci).IsNull("积分"),"0",drs7(ci)("积分"))
                    nr("黑方_编号") = Nothing
                    nr("黑方_姓名") = Nothing
                    nr("黑方_上轮止累计积分") = 0
                    nr("黑方_曾交战对手累计积分") = 0
                    nr("当前局成绩_黑方") = 0
                End If
            End If
        Next
[此贴子已经被作者于2020/7/2 8:33:59编辑过]

 回到顶部
总数 33 上一页 1 2 3 4