设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

返回列表 发新帖
查看: 2413|回复: 3
打印 上一主题 下一主题

[查询] 如何让每10个记录产生一个组号?

[复制链接]
跳转到指定楼层
1#
发表于 2014-7-22 18:05:46 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本想用 CStr(Int(([人员ID]-1)/10)+1) 每10个人产生同一个组号,但后来发现不行,例如人员ID从19到29,19和20的组号为2,到21开始组号就为3了,该如何修改才行呢?求教!!!
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 分享淘帖 订阅订阅
2#
发表于 2014-7-23 09:22:31 | 只看该作者
本帖最后由 todaynew 于 2014-7-23 09:31 编辑

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


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

3#
 楼主| 发表于 2014-7-25 23:20:38 | 只看该作者
todaynew 发表于 2014-7-23 09:22
先个位减一,再取十位进一,不就完事了。

继续请教,如何才能让组号从001开始,按你上面的表达式进行测试,假设ID号从28到40,结果出来的组号就会从003开始,怎样才能让组号从001开始呢?
4#
 楼主| 发表于 2014-7-26 18:20:36 | 只看该作者
已解决!将每个人员ID减去最小的人员ID再加1,就可以将人员ID恢复由1开始了
您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|站长邮箱|小黑屋|手机版|Office中国/Access中国 ( 粤ICP备10043721号-1 )  

GMT+8, 2024-5-16 19:31 , Processed in 0.100764 second(s), 27 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表