Foxtable(狐表)用户栏目专家坐堂 → [求助]尾考室不大于5人,则加到上一考室,如何处理?


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

主题:[求助]尾考室不大于5人,则加到上一考室,如何处理?

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


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

组合和排位有什么关系?

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


加好友 发短信
等级:一尾狐 帖子:407 积分:3194 威望:0 精华:0 注册:2011/2/28 11:57:00
  发帖心情 Post By:2021/7/19 12:00:00 [只看该作者]

组合好像不需排位,只有首选科目和选科需要排位。

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


加好友 发短信
等级:超级版主 帖子:105495 积分:536466 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2021/7/19 13:45:00 [只看该作者]

那就把这个循环去掉

For Each zuhe As String In DataTables("成绩库").GetValues("组合","年级 = '" & nianji & "'" )

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


加好友 发短信
等级:一尾狐 帖子:407 积分:3194 威望:0 精华:0 注册:2011/2/28 11:57:00
  发帖心情 Post By:2021/7/19 14:08:00 [只看该作者]

已经去掉了,还是增加了56行空白行。

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


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

下面这个循环是干嘛用的?如果和排位没有关系也去掉

For Each xuanke As String In xuankes

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


加好友 发短信
等级:一尾狐 帖子:407 积分:3194 威望:0 精华:0 注册:2011/2/28 11:57:00
  发帖心情 Post By:2021/7/19 14:43:00 [只看该作者]

xuanke下面要用:选科化、生、政、地考场号和座位号编排在用。
                Dim tj1 As String = xuanke & "排序"
                Dim tj2 As String = xuanke & "考场号"
                Dim tj3 As String = xuanke & "座位号"
                'Dim tj4 As String = xuanke & "序号"
                Dim dr As DataRow = DataTables("成绩库").AddNew
                Dim dr1 As List(Of DataRow) = DataTables("成绩库").Select("[年级] = '" & nianji & "'And [单位] = '" & danwei & "'And [组合] Like '%" & xuanke & "%'","" & value & "")
                Dim idx1 As Integer = 1
                For n As Integer = 0 To dr1.Count - 1 Step 40 '遍历所有行
                    Dim idx3 As Integer = 1
                    For k As Integer = n To math.min(n+39,dr1.Count - 1)
                        dr1(k)(tj1) = k + 1 '设置排序
                        dr1(k)(tj2) = idx1
                        dr1(k)(tj3) = idx3
                        idx3 += 1
                    Next
                    If n+44 >= dr1.Count - 1 Then
                        For k As Integer = n+40 To dr1.Count - 1
                            dr1(k)(tj1) = k + 1 '设置排序
                            dr1(k)(tj2) = idx1
                            dr1(k)(tj3) = idx3
                            idx3 += 1
                        Next
                        Exit For
                    End If
                    idx1 + =1
                Next

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


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

这段代码和排位又有什么关系?如果是不同的功能,就分开,分别循环处理,不要混到一起

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


加好友 发短信
等级:一尾狐 帖子:407 积分:3194 威望:0 精华:0 注册:2011/2/28 11:57:00
  发帖心情 Post By:2021/7/19 15:05:00 [只看该作者]

这段代码移到下面去了,还是一样的。
DataTables("成绩库").StopRedraw
Dim xuankes() As String = {"化","生","政","地"}
Dim Values() As String = {"考号"}
For Each Value As String In Values
    Tables("成绩库").Cols(Value & "排序").Visible = True
Next
Tables("成绩库").Sort = "姓名"
For Each Value As String In Values
    For Each danwei As String In DataTables("成绩库").GetValues("单位", " ")
        For Each nianji As String In DataTables("成绩库").GetValues("年级","单位 = '" & danwei & "'" )
            Dim tj As String = value & "排序"
            Dim drs As List(Of DataRow) = DataTables("成绩库").Select("[年级] = '" & nianji & "'And [单位] = '" & danwei & "'", "" & value & "")
            Dim idx As Integer = 1
            For n As Integer = 0 To drs.Count - 1 Step 40 '遍历所有行
                Dim idx2 As Integer = 1
                For k As Integer = n To math.min(n+39,drs.Count - 1)
                    drs(k)(tj) = k + 1 '设置排序
                    drs(k)("考场号") = idx
                    drs(k)("座位号") = idx2
                    idx2 += 1
                Next
                If n+44 >= drs.Count - 1 Then
                    For k As Integer = n+40 To drs.Count - 1
                        drs(k)(tj) = k + 1 '设置排序
                        drs(k)("考场号") = idx
                        drs(k)("座位号") = idx2
                        idx2 += 1
                    Next
                    Exit For
                End If
                idx + =1
            Next
            For Each xuanke As String In xuankes
                Dim tj1 As String = xuanke & "排序"
                Dim tj2 As String = xuanke & "考场号"
                Dim tj3 As String = xuanke & "座位号"
                Dim dr As DataRow = DataTables("成绩库").AddNew
                Dim dr1 As List(Of DataRow) = DataTables("成绩库").Select("[年级] = '" & nianji & "'And [单位] = '" & danwei & "'And [组合] Like '%" & xuanke & "%'","" & value & "")
                Dim idx1 As Integer = 1
                For n As Integer = 0 To dr1.Count - 1 Step 40 '遍历所有行
                    Dim idx3 As Integer = 1
                    For k As Integer = n To math.min(n+39,dr1.Count - 1)
                        dr1(k)(tj1) = k + 1 '设置排序
                        dr1(k)(tj2) = idx1
                        dr1(k)(tj3) = idx3
                        idx3 += 1
                    Next
                    If n+44 >= dr1.Count - 1 Then
                        For k As Integer = n+40 To dr1.Count - 1
                            dr1(k)(tj1) = k + 1 '设置排序
                            dr1(k)(tj2) = idx1
                            dr1(k)(tj3) = idx3
                            idx3 += 1
                        Next
                        Exit For
                    End If
                    idx1 + =1
                Next
            Next
        Next
    Next
Next
Tables("成绩库").Sort = "单位代码,年级代码,组合代码,考号排序"
DataTables("成绩库").ResumeRedraw

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


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

新行的代码是这个:Dim dr As DataRow = DataTables("成绩库").AddNew

自己排查代码,是否需要每个单位的每个年级的每个xuankes都新增一行?新增的行数=单位数 X 单位年级数 X xuankes长度

For Each Value As String In Values
    For Each danwei As String In DataTables("成绩库").GetValues("单位", " ")
        For Each nianji As String In DataTables("成绩库").GetValues("年级","单位 = '" & danwei & "'" )
……
            For Each xuanke As String In xuankes
                Dim tj1 As String = xuanke & "排序"
                Dim tj2 As String = xuanke & "考场号"
                Dim tj3 As String = xuanke & "座位号"
                Dim dr As DataRow = DataTables("成绩库").AddNew

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


加好友 发短信
等级:一尾狐 帖子:407 积分:3194 威望:0 精华:0 注册:2011/2/28 11:57:00
  发帖心情 Post By:2021/7/19 16:16:00 [只看该作者]

是的。因它暂时无用,去掉Dim dr As DataRow = DataTables("成绩库").AddNew后就没事了。
考场号、座位号编排还需进一步完善,有问题再请教。谢谢!

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