Foxtable(狐表)用户栏目专家坐堂 → 移动行


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

主题:移动行

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


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

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目2.foxdb


如果临时过渡表桌号不为0的个数除2,余数为1,如果临时过渡表最后一行的姓名等于比赛积分表中每一轮桌号不为0,但最后一行没有对手的姓名,则临时过渡表从下向上分析,把最后一个姓名不等于比赛积分表中每一轮桌号不为0,但最后一行没有对手的姓名移到最后一行,我这样写,逐步测试已看到相同的姓名了,唯独移动行没反应。
With Tables("临时过渡取数")
    Dim Names As New List(Of String)
    Dim zhyh As Integer
    If (.rows.count - 3) Mod 2 = 1 Then
        For zhcs As Integer = 1 To 4
            Dim drs As List(Of DataRow) = DataTables("比赛积分").SQLSelect("[团体赛或个人赛] = '个人赛' And [棋赛名称] = '2020年迎春杯' And [分组] = '综合组' And [第几轮比赛] = " & zhcs & " And [桌号] >" & 0)
            If drs.count Mod 2 = 1 Then
                Names.Add(drs(drs.count - 1)("姓名"))
            End If
        Next
        MessageBox.Show(Names.count)
        For Each nm As String In Names
            MessageBox.Show(nm)
        Next
        MessageBox.Show(.rows.count - 3 - 1)
        If Names.Contains(.Rows(.rows.count - 3 - 1)("姓名")) = True Then
            For zhyh = .rows.count - 3 - 2 To 0 Step - 1
                If Names.Contains(.Rows(zhyh)("姓名")) = True Then
                    Continue For
                ElseIf Names.Contains(.Rows(zhyh)("姓名")) = False Then
                    MessageBox.Show(.Rows(zhyh)("姓名"))
                    Exit For
                End If
                .Rows(zhyh).Move(.rows.count - 3 - 1)
            Next
        End If
    End If
End With
[此贴子已经被作者于2022/12/5 11:40:53编辑过]

 回到顶部