以文本方式查看主题

-  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
图片点击可在新窗口打开查看
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:教学信息管理系统.table


--  作者: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编辑过]

 

准考证号这样生成行吗?

 

 

 

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目3.table


--  作者:地瓜
--  发布时间: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