以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- 监考排考 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=24045) |
||||
-- 作者:地瓜 -- 发布时间:2012/9/28 8:02:00 -- 监考排考 各位大侠,早上好!小可有来向大家请教了。问题有二: 1、当输入了考室数量后,单击排考室按钮后发现有些行是空白的,如图 2、我想让座位号按连续顺序来排列,如:1,2,3,4等 谢谢! 此主题相关图片如下:排考.jpg
|
||||
-- 作者:lin_hailun -- 发布时间:2012/9/28 9:04:00 -- 楼主,看了下你的代码,猜不透你代码要实现的逻辑。 对于生成的 准考证号、考试、座位号、随机值,你是怎样计划的?比如说说 你要达到哪种需求。 |
||||
-- 作者:地瓜 -- 发布时间:2012/9/28 9:13:00 -- 准考证号的前6位是规定好的,后面4位是想设计用学生在班里的学号。应该怎么提取?一个考室计划安排30个座位,座位号从01开始一直到30.谢谢指教! [此贴子已经被作者于2012-9-28 9:13:20编辑过]
|
||||
-- 作者:lin_hailun -- 发布时间:2012/9/28 9:25:00 -- 再问一下,考室、座位号 与 班级 有没有关系,还有就是 随机值 怎么取? [此贴子已经被作者于2012-9-28 9:25:30编辑过]
|
||||
-- 作者:地瓜 -- 发布时间:2012/9/28 9:30:00 -- 考室、座位号 与 班级 我没有设置关系,但是不用随机值的话该怎么让其自动产生数字? |
||||
-- 作者:lin_hailun -- 发布时间:2012/9/28 9:43:00 -- 其实我想问的是,考室号、座位号,跟班级号有没有什么特别的关系。比如,同一班的学生,座位号不连续..... 还有就是,最后一列随机数,是必要的吗? [此贴子已经被作者于2012-9-28 9:43:26编辑过]
|
||||
-- 作者:czy -- 发布时间:2012/9/28 9:53:00 -- 以下是引用地瓜在2012-9-28 9:13:00的发言:
准考证号的前6位是规定好的,后面4位是想设计用学生在班里的学号。应该怎么提取?一个考室计划安排30个座位,座位号从01开始一直到30.谢谢指教! [此贴子已经被作者于2012-9-28 9:13:20编辑过]
准考证号这样生成行吗?
|
||||
-- 作者:地瓜 -- 发布时间:2012/9/28 10:17:00 -- 谢谢!准考号可以了, |
||||
-- 作者:地瓜 -- 发布时间:2012/9/28 10:19:00 -- 考室的座位号与班里的座位号没关系的,在一个考场的座位号是重新分配的。 |
||||
-- 作者:lin_hailun -- 发布时间:2012/9/28 10:32:00 -- 下面的代码应该可以,两次随机…… If Forms("排考室考号").Controls("NumericComboBox1").Value <= 0 Then MessageBox.Show("考室不能小等于零值!","中止操作",MessageBoxButtons.OK,MessageBoxIcon.Exclamation) Else DataTables("排考室考号").DataRows.Clear() Dim f As New Filler f.SourceTable = DataTables("成绩表") f.SourceCols = "班级,姓名,学号" f.DataTable = DataTables("排考室考号") f.DataCols = "班级,姓名,准考证号" f.ExcludeExistValue = True f.Fill For Each r As Row In CurrentTable.Rows r("随机值") = Rand.Next(10000) Next CurrentTable.Sort = "随机值" Dim rooms As Integer = e.Form.Controls("NumericComboBox1").Value For Each r As Row In CurrentTable.Rows r("准考证号") = "078309" & r("准考证号") r("考室") = Format(Rand.Next(rooms) + 1, "00") Dim seat = CurrentTable.Compute("Max(座位号)", "考室 = \'" & r("考室") & "\'") + 1 r("座位号") = Format(seat, "000") Next CurrentTable.Sort = "考室, 座位号" End If |