Access交流中心

北京 | 上海 | 天津 | 重庆 | 广州 | 深圳 | 珠海 | 汕头 | 佛山 | 中山 | 东莞 | 南京 | 苏州 | 无锡 | 常州 | 南通 | 扬州 | 徐州 | 杭州 | 温州 | 宁波 | 台州 | 福州 | 厦门 | 泉州 | 龙岩 | 合肥 | 芜湖 | 成都 | 遂宁 | 长沙 | 株洲 | 湘潭 | 武汉 | 南昌 | 济南 | 青岛 | 烟台 | 潍坊 | 淄博 | 济宁 | 太原 | 郑州 | 石家庄 | 保定 | 唐山 | 西安 | 大连 | 沈阳 | 长春 | 昆明 | 兰州 | 哈尔滨 | 佳木斯 | 南宁 | 桂林 | 海口 | 贵阳 | 西宁 | 乌鲁木齐 | 包头 |

access随机抽查命令怎样写?

basontk  发表于:2009-09-16 23:34:55  
复制

我一个表A,有20个字段,分别是有ID,GH ,NAME,SEX,TIME,.......
GH(工号)里的20个GH,分别是1至20. 每个GH 都随机抽10个记录.
怎样用语句写?
或者用VBA实现,语句怎写?
当不是以下这样写语句
SELECT TOP 10 * FROM A WHERE GH=1 ORDER BY rnd(id);
SELECT TOP 10 * FROM A WHERE GH=2 ORDER BY rnd(id);
...............

如果这样写语要重复做20个语句,当工号变得有百个或更多时,工作量太多.
附一个类像的带表的数据库,数据作了处理,不是原始数据,请见谅.

点击下载此附件

用户什么语句可以一次性获取想要的记录?

请问是用循环语句来写吗? 又怎样写的? 需要用到VBA吗?请帮助,谢谢.

 

 

 

 

Top
trynew 发表于:2009-09-17 09:41:01

我用过的一个方法:在表中增加一列字段,用来保存随机数(查询中的随机数列是不固定的无法排序),每次取数前执行一个更新查询更新这列数据,就可以用排名的方法来进行分组抽取了。

 

点击下载此附件

wyh-感谢各位老师。 发表于:2009-09-17 20:59:13
我是在贵坛中的老师那学来的,按老师的样子换成了你的表。供参考。点击下载此附件

basontk 发表于:2009-09-18 08:46:54

我怎么发表不了回复的?



basontk 发表于:2009-09-18 09:08:57

当我发表的文字比较多时,发上来就是空的??可能是超了6000个字符了,当我换成自己的表中出现错误,我打包成WORD,请高手看一看,谢谢

点击下载此附件

wyh-感谢各位老师。 发表于:2009-09-18 17:23:26
把表传上。

basontk 发表于:2009-09-19 21:07:53

我的数据太大,根本不能可上传了..有1.7G,16万多数据量..



wyh-感谢各位老师。 发表于:2009-09-19 21:18:07

你自己可以复制一下表,删除其中的部分试一下。自己调试或上传。



总记录:7篇  页次:1/1 9 1 :