设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

12下一页
返回列表 发新帖
查看: 7724|回复: 16
打印 上一主题 下一主题

[模块/函数] 【Access小品】定量不重复随机抽选

[复制链接]
跳转到指定楼层
1#
发表于 2009-12-31 20:34:47 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
本帖最后由 todaynew 于 2010-1-1 09:41 编辑

这是一个基于石三少同志的一个问题编写的实例。问题本身有一定的普遍意义,也就是解决循环随机定量抽检问题。这个问题本身隐含着一个容易导致思维模糊的算法,即:是定率还是定量?

随机从一批货物或者设备中按照一定比例不重复循环抽检,初看起来应该是一个定率抽检问题。其实不然,这实际是一个定量抽检问题。也就是说由于“不重复的存在”,就导致每次抽检不能按照固定的比例进行,而需要按照第一次算出的固定数量进行。






Private Sub 随机抽样(抽样比例 As Single)
Dim rs0 As New ADODB.Recordset
Dim ssql0 As String
Dim rs1 As New ADODB.Recordset
Dim ssql1 As String
Dim i As Long, j As Long
Dim MyValue As Long
Dim str As String
Dim M(1 To 3) As Long
ssql0 = "SELECT 部门 FROM 基础表 GROUP BY 部门;"
rs0.Open ssql0, CurrentProject.Connection, adOpenKeyset, adLockOptimistic
For i = 1 To rs0.RecordCount
    M(i) = Int(DCount("*", "基础表", "部门='" & rs0("部门").Value & "'") * 抽样比例)
    rs0.MoveNext
Next
rs0.MoveFirst
For i = 1 To rs0.RecordCount
    str = "部门='" & rs0("部门").Value & "' and 次=0"
    For j = 1 To M(i)
        ssql1 = "select * from 基础表 where " & str
        rs1.Open ssql1, CurrentProject.Connection, adOpenKeyset, adLockOptimistic
        MyValue = Int(rs1.RecordCount * Rnd + 1)
        If Not (rs1.EOF Or rs1.BOF) Then
            rs1.Move MyValue - 1
            rs1("次") = Me.次.Value + 1
            rs1.Update
        End If
        rs1.Close
    Next
    rs0.MoveNext
Next
Me.子窗体.Form.Requery
Me.次.Requery
Me.次.Value = Me.次.ListCount - 1
End Sub

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

评分

参与人数 1经验 +10 收起 理由
5988143 + 10 祝节日愉快~

查看全部评分

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 分享淘帖 订阅订阅
17#
发表于 2016-4-26 08:51:16 | 只看该作者
已被收藏
回复

使用道具 举报

16#
发表于 2015-5-25 22:40:25 | 只看该作者
学习下
回复

使用道具 举报

15#
发表于 2015-5-25 22:40:14 | 只看该作者
谢谢分享
回复

使用道具 举报

14#
发表于 2011-3-16 10:52:16 | 只看该作者
谢谢分享!
13#
发表于 2010-8-22 14:20:07 | 只看该作者
很好!很强大!支持精品原創作~
12#
发表于 2010-1-18 11:25:44 | 只看该作者
感谢了
11#
发表于 2010-1-18 11:19:13 | 只看该作者
谢谢分享
10#
发表于 2010-1-5 22:04:28 | 只看该作者
todaynew,一定要收藏!
9#
发表于 2010-1-4 09:06:02 | 只看该作者
谢谢todaynew代码收藏了。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-11-13 15:15 , Processed in 0.094140 second(s), 37 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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