设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

12下一页
返回列表 发新帖
查看: 6986|回复: 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空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 分享淘帖 订阅订阅
2#
发表于 2009-12-31 21:01:30 | 只看该作者
谢谢todaynew代码收藏了。
支持。
3#
发表于 2009-12-31 23:44:33 | 只看该作者
最好老兄 精品不断!!
4#
发表于 2010-1-1 09:47:21 | 只看该作者
最好老兄 精品不断,真的!
5#
发表于 2010-1-1 11:22:42 | 只看该作者
新年好,学习了
6#
 楼主| 发表于 2010-1-1 17:21:39 | 只看该作者
谢谢同志们鼓励,并祝节日愉快!
7#
发表于 2010-1-1 23:28:54 | 只看该作者
留个脚印。。。谢谢分享
8#
发表于 2010-1-4 08:42:34 | 只看该作者
祝节日愉快
9#
发表于 2010-1-4 09:06:02 | 只看该作者
谢谢todaynew代码收藏了。
10#
发表于 2010-1-5 22:04:28 | 只看该作者
todaynew,一定要收藏!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-5-9 01:30 , Processed in 0.094776 second(s), 36 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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