Foxtable(狐表)用户栏目专家坐堂 → [求助]如何对《课表》进行顺序调整?


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

主题:[求助]如何对《课表》进行顺序调整?

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2019/4/11 17:37:00 [显示全部帖子]

 

思路:先排列4或者4的倍数的人,每次占用1个上午或1个下午;再排3或者3的倍数的人;接着排2和2的倍数的人;最后把1塞进去3剩余的那里,以及2剩余的那里,即可。

 

 


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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2019/4/12 11:18:00 [显示全部帖子]

请自己手工处理,或者编写代码处理。

 

思路:先排列4或者4的倍数的人,每次占用1个上午或1个下午;再排3或者3的倍数的人;接着排2和2的倍数的人;最后把1塞进去3剩余的那里,以及2剩余的那里,即可


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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2019/4/12 12:34:00 [显示全部帖子]

Dim t1 As Table = Tables("一天课时")
Dim t2 As Table = Tables("课表")
t2.DataTable.DataRows.clear
Dim count As Integer = 0
Dim nr As Row
For Each dr As DataRow In t1.DataTable.Select("次数 >= 3", "次数 desc")
    For i As Integer = 1 To dr("次数")
        If count Mod 8 = 0 Then
            nr = t2.addnew
        End If
        nr("班级") = nr.Index + 1
        Dim idx = iif(count \ 4 Mod 2 = 0, Asc("a"), Asc("e")) + (i-1) Mod 4
        nr(chr(idx)) = dr("姓名")
        count += 1
    Next
    count += iif(count Mod 4=0, 0, 4-count Mod 4)
Next

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2019/4/16 9:47:00 [显示全部帖子]

1、按照6楼得到表格数据;

 

2、根据你的班级和老师的对应关系,纵向对调响应的老师(比如,把第十行的高宁,调整到任教的各个班去,把对调后的老师的序号,放在第十行。然后重复调整纵向的顺序即可)


 回到顶部