以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- 我想让FOXTABLE把人数自动合成20人为一个考场,有什么方法没? (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=69158) |
||||
-- 作者:zgjmost -- 发布时间:2015/5/31 21:28:00 -- 我想让FOXTABLE把人数自动合成20人为一个考场,有什么方法没? 我想让FOXTABLE把人数自动合成20人为一个考场,有什么方法没?
例如在6月3日,08:00开始的这一段,考不同课程人数有8人,7人,3人,5人,2人,11人
FOXTABLE可以自动的把8人,7人,3人,2人编为一个考场,在教室中自动写入教室301,
而5人,11人编到另外一个考场,在教室中自动写入教室301
当然这只举出了同一时间段的两个考场。还可能会出现三个考场,不知哪位高手可以提供一下思路或代码?
此主题相关图片如下:qq截图20150531212138.png |
||||
-- 作者:yinyb36 -- 发布时间:2015/5/31 22:36:00 -- 例如在6月3日,08:00开始的这一段,考不同课程人数有8人,7人,3人,5人,2人,11人
FOXTABLE可以自动的把8人,7人,3人,2人编为一个考场,在教室中自动写入教室301,
而5人,11人编到另外一个考场,在教室中自动写入教室301
8人,7人,5人编为一个考场,在教室中自动写入教室301, 而3人,2人,11人编到另外一个考场,也没问题呀 |
||||
-- 作者:大红袍 -- 发布时间:2015/5/31 22:52:00 -- 1、思路,先得到一个分组统计表,统计日期时间、科目、人数;然后,处理的你算法,实际上,你的就是背包问题;每凑够一个20,就修改考场的名字。
2、上传具体例子啊。 |
||||
-- 作者:zgjmost -- 发布时间:2015/6/1 0:06:00 --
就用程总的这个例子
把下图中考室我要用系统自动安排,以20人为一个单位进行考室安排,同一日期同一起始时间,先如果达到20用201教室,然后再考察剩下的,如果剩下的又达到20用301,至到最后一个或两个不能达到20人,放在401,和501
此主题相关图片如下:1.jpg |
||||
-- 作者:大红袍 -- 发布时间:2015/6/1 12:55:00 -- 组合排列,数据量越大,运行的时间越久
|
||||
-- 作者:zgjmost -- 发布时间:2015/6/15 20:52:00 -- Dim pcount As Integer = 20 vars("aidx") = 201 Dim dt As DataTable = DataTables("ksap") dt.StopRedraw Dim rqsjs As List(Of String()) = dt.GetValues("rq|sj") For Each rqsj() As String In rqsjs Dim filter As String = "rq = #" & rqsj(0) & "# and sj = \'" & rqsj(1) & "\'" Dim drs As List(Of DataRow) = dt.Select(filter, "rs desc") Dim Ispick As new List(of Integer) Dim b(drs.Count-1) As Integer For i As Integer = 1 To drs.Count If i <= drs.Count - IsPick.Count Then \'output.show(i & " " & drs.Count & " " & IsPick.count) Functions.Execute("组合排列", drs, b.length, i, b, i, pcount, IsPick) End If Next Next dt.ResumeRedraw msgbox("操作完毕") |
||||
-- 作者:zgjmost -- 发布时间:2015/6/15 20:54:00 -- 大红袍老师:能不能帮我注释一下上面第一句是什么意思啊?
还有一问题,执行完后有的考试是空的,怎么解决?
他的这个教室是怎样命名的? |
||||
-- 作者:大红袍 -- 发布时间:2015/6/15 21:16:00 -- http://foxtable.com/bbs/dispbbs.asp?BoardID=2&ID=70092&skin=0
|