以文本方式查看主题 - Foxtable(狐表) (http://foxtable.com/bbs/index.asp) -- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2) ---- 老大,遇到个费解的问题,关于排名次的 (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=8302) |
-- 作者:唐尸三摆手 -- 发布时间:2010/9/29 14:27:00 -- 老大,遇到个费解的问题,关于排名次的 下面是一个典型的应用,在一个成绩表中,包括班级、姓名、总分、总分排名几列数据,希望按班级自动生成总分排名: \'获得所有班级名称,保存在集合中
上面的代码懂了,但是新的问题是:
某单位希望做个排号等候系统,按上述代码思路可以给人员进行顺序号分配,但是后面新到的人员在顺序分配号码不能打乱前面的号码,因此在分配时应该排除已分配的顺序号码,请问如何做到? |
-- 作者:程兴刚 -- 发布时间:2010/9/29 14:36:00 -- 上面的代码也应该有逻辑问题: drs(n)("总分排名") = n + 1
\'设置排名 drs(n)("总分排名") =drs(n-1)("总分排名") + 1 \'设置排名
否者,当连续出现几个同名次的人员以后,会出现名次断档,如 第1名 第2名 第2名 第4名 第5名 第5名 第8名 …… |
-- 作者:狐狸爸爸 -- 发布时间:2010/9/29 14:48:00 -- 一楼的问题只是编号而已,不是排名,应该更简单的。 每次新来一个,就从1开始查找,如果某个数字在现有的编号没有出现,就将此数字作为新来人员的编号。 |
-- 作者:唐尸三摆手 -- 发布时间:2010/9/29 15:25:00 -- “有点乱”,,取最后一次的最大编号不可以吗 |
-- 作者:狐狸爸爸 -- 发布时间:2010/9/29 15:36:00 -- 如果这样,就更简单了,一个DataTables("AAA").Compute(Max("XXX"))就可以搞定。 |