Foxtable(狐表)用户栏目专家坐堂 → 超过10组的分组分道问题


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

主题:超过10组的分组分道问题

帅哥哟,离线,有人找我吗?
lsy
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:5246 积分:33163 威望:0 精华:8 注册:2013/1/17 21:28:00
  发帖心情 Post By:2014/2/20 8:34:00 [显示全部帖子]

6楼的代码,在Table("表A").Filter = ""  的时候,会报错。

稍改一下:

Dim ss As List(of String) = DataTables("表A").GetValues("项目", Tables("表A").Filter)
Dim flt As String
If Tables("表A").Filter > "" Then
    flt = " And " & Tables("表A").Filter
Else
    flt = ""
End If
For Each s As String In ss
    Dim drs As List(Of DataRow) = DataTables("表A").Select("项目 = '" & s & "'" & flt,"单位")
    drs(0)("预赛组别") = 1
    For i As Integer = 1 To drs.Count - 1
        Dim i1 As Integer = drs(i - 1)("预赛组别")
        If i1 >= Math.Ceiling(drs.Count / 8)
            For i2 As Integer = 1 To 8
                Dim i3 As Integer = DataTables("表A").Compute("Count(项目)","项目 = '" & s & "' and 预赛组别 = '" & i2 & "'" & flt)
                If i3 < Math.Ceiling(drs.Count / 8)
                    drs(i)("预赛组别") = 1
                Else
                    drs(i)("预赛组别") = i3
                End If
            Next
        Else
            drs(i)("预赛组别") = i1 + 1
        End If
    Next
Next
For Each s As String In ss
    Dim ss1 As List(of String) = DataTables("表A").GetValues("预赛组别","项目 = '" & s & "'" & flt)
    For Each s1 As Integer In ss1
        Dim drs As List(of DataRow) = DataTables("表A").Select("项目 = '" & s & "'and 预赛组别='" & s1 & "'" & flt,"单位")
        drs(0)("预赛道次") = 1
        For i As Integer = 1 To drs.Count - 1
            drs(i)("预赛道次") = drs(i - 1)("预赛道次") + 1
        Next
        For i As Integer = 1 To drs.Count - 1
            If drs(i)("单位") = drs(i - 1)("单位")
                If (i - 4)>=0
                    drs(i)("预赛道次") =  i - 4 + 1
                    drs(i - 4)("预赛道次") = i + 1
                ElseIf (i + 4) <= drs.Count
                    drs(i)("预赛道次") = i + 4 + 1
                    drs(i + 4)("预赛道次") = i + 1
                End If
            End If
        Next
    Next
Next
Tables("表A").Sort = "项目,预赛组别,预赛道次"


 回到顶部
帅哥哟,离线,有人找我吗?
lsy
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:5246 积分:33163 威望:0 精华:8 注册:2013/1/17 21:28:00
  发帖心情 Post By:2014/2/27 9:43:00 [显示全部帖子]

以下是引用aygp在2014-2-20 12:19:00的发言:
lsy老师的代码也需要修改。6楼的代码在运行时,如果没有筛选就按“分组分道”按键,会跳出一个出错窗口,现在只需要把窗口中的内容修改为:“请选择比赛项目再分组分道”的提示,就非常完美了,用户根据提示再重新操作。

不需要,筛选不筛选,都不会报错。


 回到顶部