以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  [求助]准考证号生成问题  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=148788)

--  作者:abcdzabcdz
--  发布时间:2020/4/15 13:14:00
--  [求助]准考证号生成问题

求助:准考证号生成问题

说明:“类别”分文科和理科。现要求将理科按成绩从高到低取500人安排准考证号(即从201810001201810002,。。。。。一直排到201810500)。对剩下的理科考生按姓名排序,从201810501开始,直到排完理科准考证号。

将文科按成绩从高到低取400人安排准考证号(即从201820001201820002,。。。。。一直排到201820400)。对剩下的文科考生按姓名排序,从201820401开始,直到排完文科准考证号。

 

 下载信息  [文件大小:   下载次数: ]
点击浏览该文件:准考证号.table


--  作者:有点蓝
--  发布时间:2020/4/15 14:33:00
--  
比如:

Dim t As Table = Tables("准考证号生成")
t.Filter = "类别=\'理科\'"
t.Sort = "成绩 desc"

For i As Integer = 0 To t.Rows.Count -1
    t.Rows(i)("准考证号") = "20181" & Format(i+1,"0000")
Next

文科自己参考处理

--  作者:abcdzabcdz
--  发布时间:2020/4/15 16:24:00
--  
谢谢有点蓝老师!500名前后若单独处理能够处理,若合在一起还存在问题
--  作者:有点蓝
--  发布时间:2020/4/15 16:25:00
--  
合在一起有什么问题?
--  作者:abcdzabcdz
--  发布时间:2020/4/15 16:30:00
--  
主要是分了2类,一类是按成绩来,一类是按姓名排序。
--  作者:有点蓝
--  发布时间:2020/4/15 16:36:00
--  
DataTables("准考证号生成").ReplaceFor("准考证号",Nothing)
Dim t As Table = Tables("准考证号生成")
t.Filter = "类别=\'理科\'"
t.Sort = "成绩 desc"

For i As Integer = 0 To 499
    t.Rows(i)("准考证号") = "20181" & Format(i+1,"0000")
Next

t.Filter = "类别=\'理科\' and 准考证号 is null"
t.Sort = "姓名"

For i As Integer = 0 To t.Rows.Count -1
    t.Rows(i)("准考证号") = "20181" & Format(i+500,"0000")
Next

t.Filter = ""
t.Sort = "准考证号"

--  作者:abcdzabcdz
--  发布时间:2020/4/15 16:49:00
--  
谢谢有点蓝老师!