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


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

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

帅哥,在线噢!
有点蓝
  21楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:106147 积分:539852 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/7/1 11:53:00 [只看该作者]

红、黑方都要一致指的是什么?和对阵表一样,同一个桌号的放到同一行?

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


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

其实排序后,桌号就是它们的位置了,我呆会改一下。

 回到顶部
帅哥,在线噢!
有点蓝
  23楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:106147 积分:539852 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/7/1 12:02:00 [只看该作者]

For Each s As String In DataTables("比赛积分").SQLGetValues("桌号","[棋赛名称] = '" & di1 & "'And [第几轮比赛] = '" & di2 & "' And [分组] = '" & Str & "' And [桌号] > 0","桌号")
    Dim dr As DataRow = DataTables("查询").AddNew
    dr("桌号") = s
    Dim nr As DataRow = DataTables("比赛积分").SQLFind("[棋赛名称] = '" & di1 & "'And [第几轮比赛] = '" & di2 & "' And [分组] = '" & Str & "' And [桌号] = '" & s & "' and 红黑方='红方'")
    If nr IsNot Nothing Then
        dr("红方_编号") = nr("编号")
    End If
    nr  = DataTables("比赛积分").SQLFind("[棋赛名称] = '" & di1 & "'And [第几轮比赛] = '" & di2 & "' And [分组] = '" & Str & "' And [桌号] = '" & s & "' and 红黑方='黑方'")
    If nr IsNot Nothing Then
        dr("黑方_编号") = nr("编号")
    End If
Next

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


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

For Each s As String In DataTables("比赛积分").SQLGetValues("桌号","[棋赛名称] = '" & di1 & "'And [第几轮比赛] = '" & di2 & "' And [分组] = '" & Str & "' And [桌号] > 0","桌号")
这代码我不明,为什么设为字符型呢?之后dr("桌号") = s,列属性定义桌号为数字型,有冲突吧?


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


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

执行你的代码只生成了桌号,其余无数据生成!

 回到顶部
帅哥,在线噢!
有点蓝
  26楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:106147 积分:539852 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/7/1 14:18:00 [只看该作者]

Dim nr As DataRow = DataTables("比赛积分").SQLFind("[棋赛名称] = '" & di1 & "'And [第几轮比赛] = '" & di2 & "' And [分组] = '" & Str & "' And [桌号] = " & s & " and 红黑方='红方'")

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


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

我的代码还有问题,不过思路在这了。

        Dim drs6 As List(of DataRow) = DataTables("比赛积分").SQLSelect("[棋赛名称] = '" & di1 & "'And [第几轮比赛] = '" & di2 & "' And [分组] = '" & Str & "' And [桌号] > 0 And [红黑方] = '红方'","","桌号")

        Dim drs7 As List(of DataRow) = DataTables("比赛积分").SQLSelect("[棋赛名称] = '" & di1 & "'And [第几轮比赛] = '" & di2 & "' And [分组] = '" & Str & "' And [桌号] > 0 And [红黑方] = '黑方'","","桌号")

        For x1 As Integer = 0 To (drs6.Count + 1) \ 2

            Dim cx As DataRow = DataTables("查询").AddNew

            If x1 >= drs7.Count Then

                cx("桌号") = drs6(x1)("桌号")

                cx("红方_编号") = drs6(x1)("编号")

                cx("红方_姓名") = drs6(x1)("姓名")

                cx("红方_上轮止累计积分") = drs6(x1)("上轮止累计积分")

                cx("红方_曾交战对手累计积分") = drs7(x1)("曾交战对手累计积分")

                cx("当前局成绩_红方") = IIF(drs6(x1).IsNull("积分"),"0",drs6(x1)("积分"))

            ElseIf x1 < drs7.Count Then

                cx("红方_编号") = Nothing

                cx("红方_姓名") = Nothing

                cx("红方_上轮止累计积分") = 0

                cx("红方_曾交战对手累计积分") = 0

                cx("当前局成绩_红方") = 0

            End If

        Next

        For h1 As Integer = 0 To (drs7.Count + 1) \ 2

            If h1 >= drs6.Count Then

                cx("黑方_编号") = drs7(h1)("编号")

                cx("黑方_姓名") = drs7(h1)("姓名")

                cx("黑方_上轮止累计积分") = drs7(h1)("上轮止累计积分")

                cx("黑方_曾交战对手累计积分") = drs7(h1)("曾交战对手累计积分")

                cx("当前局成绩_黑方") = IIF(drs7(h1).IsNull("积分"),"0",drs7(h1)("积分"))

            ElseIf h1 < drs6.Count Then

                Dim cx As DataRow = DataTables("查询").AddNew

                cx("桌号") = drs7(h1)(""桌号"")               提示这里报错

                cx("黑方_编号") = Nothing

                cx("黑方_姓名") = Nothing

                cx("黑方_上轮止累计积分") = 0

                cx("黑方_曾交战对手累计积分") = 0

                cx("当前局成绩_黑方") = 0

            End If

        Next

        Dim drs8 As List(of DataRow) = DataTables("比赛积分").SQLSelect("[棋赛名称] = '" & di1 & "'And [第几轮比赛] = '" & di2 & "' And [分组] = '" & Str & "' And [桌号] = 0 And [红黑方] = '红方'","","桌号")

        Dim drs9 As List(of DataRow) = DataTables("比赛积分").SQLSelect("[棋赛名称] = '" & di1 & "'And [第几轮比赛] = '" & di2 & "' And [分组] = '" & Str & "' And [桌号] = 0 And [红黑方] = '黑方'","","桌号")

        For x2 As Integer = 0 To (drs8.Count + 1) \ 2

            Dim cx As DataRow = DataTables("查询").AddNew

            If x2 >= drs9.Count Then

                cx("桌号") = drs8(x2)("桌号")

                cx("红方_编号") = drs8(x2)("编号")

                cx("红方_姓名") = drs8(x2)("姓名")

                cx("红方_上轮止累计积分") = drs8(x2)("上轮止累计积分")

                cx("红方_曾交战对手累计积分") = drs8(x2)("曾交战对手累计积分")

                cx("当前局成绩_红方") = IIF(drs8(x2).IsNull("积分"),"0",drs8(x2)("积分"))

            ElseIf x2 < drs9.Count Then

                cx("红方_编号") = Nothing

                cx("红方_姓名") = Nothing

                cx("红方_上轮止累计积分") = 0

                cx("红方_曾交战对手累计积分") = 0

                cx("当前局成绩_红方") = 0

            End If

        Next

        For h2 As Integer = 0 To (drs9.Count + 1) \ 2

            If h2 >= drs8.Count Then

                cx("黑方_编号") = drs9(h2)("编号")

                cx("黑方_姓名") = drs9(h2)("姓名")

                cx("黑方_上轮止累计积分") = drs9(h2)("上轮止累计积分")

                cx("黑方_曾交战对手累计积分") = drs9(h2)("曾交战对手累计积分")

                cx("当前局成绩_黑方") = IIF(drs9(h2).IsNull("积分"),"0",drs9(h2)("积分"))

            ElseIf h2 < drs8.Count Then

                Dim cx As DataRow = DataTables("查询").AddNew

                cx("桌号") = drs9(h2)(""桌号"")

                cx("红方_编号") = Nothing

                cx("黑方_姓名") = Nothing

                cx("黑方_上轮止累计积分") = 0

                cx("黑方_曾交战对手累计积分") = 0

                cx("当前局成绩_黑方") = 0

            End If

        Next

[此贴子已经被作者于2020/7/1 16:33:50编辑过]

 回到顶部
帅哥,在线噢!
有点蓝
  28楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:106147 积分:539852 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/7/1 14:27:00 [只看该作者]

我这样测试没有问题,其它列数据赋值代码自己补上

Dim di1 As String = "2020年迎春杯"
Dim di2 As String = "4"
Dim Str As String = "综合组"
DataTables("查询").DataRows.Clear

For Each s As String In DataTables("比赛积分").SQLGetValues("桌号","[棋赛名称] = '" & di1 & "'And [第几轮比赛] = '" & di2 & "' And [分组] = '" & Str & "' And [桌号] > 0","桌号")
    Dim dr As DataRow = DataTables("查询").AddNew
    dr("桌号") = s
    Dim nr As DataRow = DataTables("比赛积分").SQLFind("[棋赛名称] = '" & di1 & "'And [第几轮比赛] = '" & di2 & "' And [分组] = '" & Str & "' And [桌号] = " & s & " and 红黑方='红方'")
    If nr IsNot Nothing Then
        dr("红方_编号") = nr("编号")
    End If
    nr  = DataTables("比赛积分").SQLFind("[棋赛名称] = '" & di1 & "'And [第几轮比赛] = '" & di2 & "' And [分组] = '" & Str & "' And [桌号] = " & s & " and 红黑方='黑方'")
    If nr IsNot Nothing Then
        dr("黑方_编号") = nr("编号")
    End If
Next

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


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

行了,谢谢指教。
 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 String 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
For Each s1 As String In DataTables("比赛积分").SQLGetValues("桌号","[棋赛名称] = '" & di1 & "'And [第几轮比赛] = '" & di2 & "' And [分组] = '" & Str & "' And [桌号] = 0","桌号")
            Dim nr As DataRow = DataTables("查询").AddNew
            nr("桌号") = 0
            Dim dr As DataRow = DataTables("比赛积分").SQLFind("[棋赛名称] = '" & di1 & "'And [第几轮比赛] = '" & di2 & "' And [分组] = '" & Str & "' And [桌号] = " & s1 & " 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 [桌号] = " & s1 & " and 红黑方='黑方'")
            If dr IsNot Nothing Then
                nr("黑方_编号") = dr("编号")
                nr("黑方_姓名") = dr("姓名")
                nr("黑方_上轮止累计积分") = dr("上轮止累计积分")
                nr("黑方_曾交战对手累计积分") = dr("曾交战对手累计积分")
                nr("当前局成绩_黑方") = dr("积分")
            End If
        Next           

[此贴子已经被作者于2020/7/1 14:40:19编辑过]

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


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

哦,明白了,我把For Each s As String In DataTables("比赛积分").SQLGetValues("桌号","[棋赛名称] = '" & di1 & "'And [第几轮比赛] = '" & di2 & "' And [分组] = '" & Str & "' And [桌号] > 0","桌号")
改为Integer也可以,不报错,还是用Integer,跟列属性设置一致。

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