以文本方式查看主题 - Foxtable(狐表) (http://foxtable.com/bbs/index.asp) -- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2) ---- 自动编考号 (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=89111) |
||||
-- 作者:刘林 -- 发布时间:2016/8/15 22:18:00 -- 自动编考号 一成绩表字段为{"学校代码","单位名称","年级代码","班级","学籍号","考号","姓名"}, 现准备将"学校代码","单位名称","年级代码","班级","学籍号","姓名"在excl导入后设计个一键自动编考号 1、编考号原则为学校代码(3位)+年级代码(6位)+班级代码(2位)+0001(4位) 共15位连续考号 2、每个学校每个年级均从XXXXXXXXXX0001开始。 3、同学校同年级学生编号前各班按姓序排序后,编考号按1班第1位为XXXXXXXXXXX0001,2班第1位为XXXXXXXXXXX002...以此类推,排完各班第1位,再循环第2位,目的是将学生考号分班间隔. 这是我很想实现的一个智能化排号方案,但知识有限,请老师多多指点,谢谢!!!
|
||||
-- 作者:大红袍 -- 发布时间:2016/8/15 22:29:00 -- DataColChanged
Select e.DataCol.Name
http://www.foxtable.com/webhelp/scr/2403.htm
|
||||
-- 作者:刘林 -- 发布时间:2016/8/15 22:45:00 -- 谢谢您这么快速的指导, 2、同校同年级一个班一个人的编号,号序为1班2班3班1班2班3班如此排下去 3、在把6个字段导入后在窗口设计一个按键一键编好所有学校所有年级的考号,不在 DataColChanged中编号 请再帮忙指点,谢谢!!!
|
||||
-- 作者:大红袍 -- 发布时间:2016/8/15 22:47:00 -- 上传fxotable实例。 |
||||
-- 作者:刘林 -- 发布时间:2016/8/15 22:52:00 -- 我测了一下,是实现年各学校各年级各班从1号开始的,是想同一学校同一年级编通号,且分班间隔,谢谢 |
||||
-- 作者:刘林 -- 发布时间:2016/8/15 23:20:00 -- Select e.DataCol.Name Case "学校代码", "年级代码", "班级" If e.DataRow.IsNull("学校代码") OrElse e.DataRow.IsNull("年级代码") OrElse e.DataRow.IsNull("班级") Then e.DataRow("考号") = Nothing Else Dim lb As String = e.DataRow("学校代码") & e.DataRow("年级代码")\'\' & e.DataRow("班级") Dim max As String Dim idx As Integer max = e.DataTable.Compute("Max(考号)","(学校代码+年级代码) = \'" & lb & "\' And [_Identify] <> " & e.DataRow("_Identify")) \'取得该类别的最大编号 If max > "" Then \'如果存在最大编号 idx = CInt(max.Substring(lb.Length)) + 1 \'获得最大编号的后三位顺序号,并加1 Else idx = 1 \'否则顺序号等于1 End If e.DataRow("考号") = lb & Format(idx,"0000") End If End Select 老师我改了下实现了同校同年级通号了,但想按同校同年级1个班1个人的编通号走不晓得怎么办,请求指导,谢谢!!!
A校A级1班 XXXXX0001 姓名a1 A校A级2班 XXXXX0002 姓名B1 A校A级1班 XXXXXXX 0003 姓名a2 A校A级1班 XXXXXXX0004 姓名B2 姓名a1,a2按他本班姓名排序,b1,b2按他们所在班排序 目的是同校同年级连号走,但座位按班错开,有利于考试公平 |
||||
-- 作者:大红袍 -- 发布时间:2016/8/15 23:35:00 -- 上传foxtable实例。 |
||||
-- 作者:刘林 -- 发布时间:2016/8/16 7:24:00 --
请老师看下,现在考号已实现了同校同校年级分组排号了,主要是还要实现排号是把同校的各班循环错开且每个班学生按姓名排序,排序在前的先排号,谢谢!!!
|
||||
-- 作者:鲁吉 -- 发布时间:2016/8/16 8:18:00 -- 你应该说明同年级有几个班,这样便于设计循环,比如同年级有20个班一班的第一个号与第二个号要间隔19个数,对不? |
||||
-- 作者:刘林 -- 发布时间:2016/8/16 8:55:00 -- 这个是动态的,因为各校各年级的班数不一样,我想是不是可以提出最大班号与最小班号来算,我是初学者,只是有某种想法,实现起就很难,相信你们高手就轻松解决了,望多指教,谢谢 |