以文本方式查看主题 - Foxtable(狐表) (http://foxtable.com/bbs/index.asp) -- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2) ---- 请教高手排列名次问题? (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=26374) |
||||
-- 作者:qhyp -- 发布时间:2012/12/2 1:04:00 -- 请教高手排列名次问题? 已前是易表用户,刚接触狐表,请高手们指点一下。想实现按总成绩高低排名次,如果总成绩相同,则以专业成绩高低排名次,然后按照招聘岗位数的3倍标示“进入面试”人员,其中考试成绩为“-1”的为笔试缺考人员,不能标示为进入面试。
|
||||
-- 作者:sloyy -- 发布时间:2012/12/2 11:17:00 -- 我是不是可以理解为 按 报考职位代码,总成绩(降序),专业成绩(降序) 排序 ,然后按岗位数X3标示 ? |
||||
-- 作者:qhyp -- 发布时间:2012/12/2 11:32:00 -- 楼上说的完全正确,按岗位数的1:3的比例来标示,不足1:3比例的全部要标示,特殊情况如果总成绩为“-1”,也就是缺考,则不标示。还有一种情况比较麻烦,比如岗位数为1个,按3倍应有3个人被标示,但如果第3名有n(n>=1)个人总成绩相同,那么应标示的就有2+n个人,即第1名(1个)、第2名(1个)、第3名(n个);如果第2名有n(n>=2)个人总成绩相同,那么应标示的是1+n个人,即第1名(1个)和第2名(n个)。 |
||||
-- 作者:sloyy -- 发布时间:2012/12/2 12:09:00 -- Tables("成绩表").Sort= "报考职位代码,总成绩 DESC,专业成绩 DESC" If drs(n)("总成绩名次")< drs(n)("招聘岗位数")*3 And drs(n)("专业成绩")>-1 And drs(n)("公共成绩")>-1 Then |
||||
-- 作者:qhyp -- 发布时间:2012/12/2 13:06:00 -- 十分感谢楼上热情帮助,我也测试了一下,基本达到要求。下面这一句要改成“<=”才可以,要不然总少一个人。 If drs(n)("总成绩名次")< =drs(n)("招聘岗位数")*3 And drs(n)("专业成绩")>-1 And drs(n)("公共成绩")>-1 Then |