设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

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

[模块/函数] 如何随机变动数据!

[复制链接]
跳转到指定楼层
1#
发表于 2009-10-28 06:27:44 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
组合     名称   A班   B班
组合一   E01   张三   李四
组合二   E02   王三   李五
组合三   E03   张五   李六
组合四   E04   张六   李七
组合五   E05   张七   李八
组合六   E06   张八   李九
组合七   E07   张九   李十
组合八   E08   张十   李十一

然后在窗口设定一按纽,单击按纽时,A班和B班人要变动,且不能跟上次重复
多谢了!
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 分享淘帖 订阅订阅
2#
 楼主| 发表于 2009-10-28 06:32:16 | 只看该作者
A班里面的和B班里面的人是一定的,就是每执行一次,每个组合对应的人随机变动
3#
发表于 2009-10-28 10:31:30 | 只看该作者
一个示例。

本帖子中包含更多资源

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

x
4#
 楼主| 发表于 2009-10-29 06:30:59 | 只看该作者
谢谢,就是我要的,能不能不在子窗体随机, 直接把随机后的数据更新到数据表里
5#
 楼主| 发表于 2009-10-29 06:38:31 | 只看该作者
数据可以重复,请大哥在帮帮忙,每条数据随机完后不能重复
6#
发表于 2009-10-29 08:53:01 | 只看该作者
示例中的数据是直接更新到表里的。
数据重复也是随机的一种情况。
7#
 楼主| 发表于 2009-10-29 11:03:42 | 只看该作者
http://www.accessbbs.cn/bbs/view ... hlight=%CB%E6%BB%FA
这有个例子,可以防止重复产生,你帮我看看怎么修改
8#
 楼主| 发表于 2009-10-29 11:06:06 | 只看该作者
这样网址打不开,我还是把代码发上来

如何产生不重复的随机数?
先创建个类模块:Random

类模块代码如下:
Dim c As Collection
'初始化,定义产生随机数的最小值和最大值
Public Sub Init(min As Integer, max As Integer)
Set c = New Collection
Dim i As Integer
    For i = min To max
        c.Add i
    Next
End Sub
'产生不重复的随机数
Public Function RandomNext() As Integer
Dim i As Integer
Dim number As Integer, upperbound As Integer
    upperbound = c.Count
    If upperbound > 0 Then
        number = Int((upperbound) * Rnd + 1)
        RandomNext = CInt(c.Item(number))
        c.Remove (number)
    Else
        RandomNext = 0
    End If
End Function
Private Sub Class_Terminate()
    Set c = Nothing
End Sub

测试:
Dim r As New Random
  
Sub Test() '请先运行Init
Dim i As Integer
    For i = 0 To 10
       Debug.Print r.RandomNext
    Next
End Sub
Sub Init()
    r.Init 1, 100
End Sub
这里使用集合来实现的,也可以用哈希表来做,道理差不多。哈希表需要自己定义类模块。
9#
发表于 2009-10-29 11:39:11 | 只看该作者
本帖最后由 kangking 于 2009-10-29 11:43 编辑

就算是随机数,也会出现重复,比如1-10的随机数,第11个随机数肯定要和前面10个中的一个重复。

你要完全不重复,建议你用组合的办法,此法就象天干地支计年一样。即便是用组合的方法,当你点击按钮的次数超过组合总数的时候,也会出现重复,比如天干地支计年到了60年就重复了。
10#
 楼主| 发表于 2009-10-29 12:50:05 | 只看该作者
太深奥了,不懂
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-6-14 06:07 , Processed in 0.098523 second(s), 35 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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