Office中国论坛/Access中国论坛

标题: 如何让每10个记录产生一个组号? [打印本页]

作者: cyber-bobo    时间: 2014-7-22 18:05
标题: 如何让每10个记录产生一个组号?
本想用 CStr(Int(([人员ID]-1)/10)+1) 每10个人产生同一个组号,但后来发现不行,例如人员ID从19到29,19和20的组号为2,到21开始组号就为3了,该如何修改才行呢?求教!!!
作者: todaynew    时间: 2014-7-23 09:22
本帖最后由 todaynew 于 2014-7-23 09:31 编辑

先个位减一,再取十位进一,不就完事了。


select *,format(int((dcount("*","阁下的数据表名","员工ID<=" & [员工ID])-1)/10)+1,"000") as 组号
from 阁下的数据表名


作者: cyber-bobo    时间: 2014-7-25 23:20
todaynew 发表于 2014-7-23 09:22
先个位减一,再取十位进一,不就完事了。

继续请教,如何才能让组号从001开始,按你上面的表达式进行测试,假设ID号从28到40,结果出来的组号就会从003开始,怎样才能让组号从001开始呢?
作者: cyber-bobo    时间: 2014-7-26 18:20
已解决!将每个人员ID减去最小的人员ID再加1,就可以将人员ID恢复由1开始了




欢迎光临 Office中国论坛/Access中国论坛 (http://www.office-cn.net/) Powered by Discuz! X3.3