设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

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

[窗体] 如何才能做到依据条件进行随机的数据提取?谢谢:

[复制链接]
跳转到指定楼层
1#
发表于 2014-9-11 13:25:43 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
20金钱
如何才能做到依据条件进行随机的数据提取?谢谢:
公司要求仓库进行每天的循环盘点,同时不想让盘点人员作弊,想随机的提取要盘点的数据,并且再下次盘点的时候不会出现已经被盘点的数据,每次都是新数据,请问如何才能做到呢?谢谢
条件:
1.没有被盘点过的数据
2依据物料分类(ABC分类法)
A类物料取 15条数据
B类物料取 10条数据
C类物料取 7条数据
D类物料取 5条数据
E类物料取 20条数据

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 分享淘帖 订阅订阅
2#
发表于 2014-9-11 13:33:11 | 只看该作者
设置筛选呗
回复

使用道具 举报

点击这里给我发消息

3#
发表于 2014-9-11 14:02:59 | 只看该作者
你可以加多一个字段。用于标识是否提取过了。下载随机提取的时候,方便排除这些数据即可
回复

使用道具 举报

4#
 楼主| 发表于 2014-9-11 15:19:56 | 只看该作者
盗梦 发表于 2014-9-11 14:02
你可以加多一个字段。用于标识是否提取过了。下载随机提取的时候,方便排除这些数据即可

你可以加多一个字段。用于标识是否提取过了这个明白!但是如何才能随机提取数据呢?这是个难点
回复

使用道具 举报

点击这里给我发消息

5#
发表于 2014-9-11 17:06:53 | 只看该作者
本帖最后由 盗梦 于 2014-9-11 17:10 编辑
yanwei82123300 发表于 2014-9-11 15:19
你可以加多一个字段。用于标识是否提取过了这个明白!但是如何才能随机提取数据呢?这是个难点

你这个是抽取不重复随机数的问题。可以参考一下这个帖子的内容
http://www.office-cn.net/thread-118713-1-1.html
假如未标记已经提取的记录有100条。你要10条。就根据上面的方法得到1-100中的10个不重复随机数。再根据这10个数(作为索引)找对应的记录(例如第25条,ADO可以用Move方法跳到这一条记录)
回复

使用道具 举报

6#
 楼主| 发表于 2014-9-11 19:49:37 | 只看该作者
盗梦 发表于 2014-9-11 17:06
你这个是抽取不重复随机数的问题。可以参考一下这个帖子的内容
http://www.office-cn.net/thread-118713 ...

我想像cuixun老师做的抽奖类似。
例如
特等奖 1   张三
一等奖 2   李四 王五
二等奖 4   xxx xxxx  xxx xxxx
三等奖 10  xxx xxx   xx  xxx   xxxx  ........
安慰奖 50  xxx xxx.......

http://www.office-cn.net/forum.php?mod=viewthread&tid=67895
回复

使用道具 举报

7#
发表于 2014-9-12 12:05:49 | 只看该作者
直接用联合查询就可以得到了。不过似乎网站有新的防护设置,无法将sql语句写上去。你加我的QQ我告诉你写法。3070146830
回复

使用道具 举报

8#
 楼主| 发表于 2014-9-12 15:39:36 | 只看该作者
todaynew 发表于 2014-9-12 12:05
直接用联合查询就可以得到了。不过似乎网站有新的防护设置,无法将sql语句写上去。你加我的QQ我告诉你写法 ...

老师你好!已经添加了请帮助!谢谢
回复

使用道具 举报

9#
发表于 2014-9-13 16:42:47 | 只看该作者
yanwei82123300 发表于 2014-9-12 15:39
老师你好!已经添加了请帮助!谢谢

select top 15 * from 物料表 where 类别="A" and 本月已盘点=false order by ran(物料ID)
union all
select top 10 * from 物料表 where 类别="B" and 本月已盘点=false order by ran(物料ID)
union all
select top 7 * from 物料表 where 类别="C" and 本月已盘点=false order by ran(物料ID)
union all
select top 5 * from 物料表 where 类别="D" and 本月已盘点=false order by ran(物料ID)
union all
select top 20 * from 物料表 where 类别="D" and 本月已盘点=false order by ran(物料ID)
回复

使用道具 举报

10#
 楼主| 发表于 2014-9-17 07:49:45 | 只看该作者
谢谢老师帮助1
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-5-21 12:29 , Processed in 0.096189 second(s), 31 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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