【Access基础】随机数函数--Rnd函数-张迪
Access软件网QQ交流学习群(群号码198465573),欢迎您的加入!
首页 >技术文章> Access数据库-模块/函数/VBA


【Access基础】随机数函数--Rnd函数

发表时间:2019/2/18 13:43:18 评论(0) 浏览(20781)  评论 | 加入收藏 | 复制
   
摘 要:简单介绍下随机数的使用,和‘假随机事件’的产生。帮助大家更好的学习Access,更好的应用于生活。
正 文:

       在我们日常生活中经常见到随机数的使用,比如随机抽奖,随机推送,随机密码等等。今天我们就来看一下Access中简单的随机数函数——Rnd函数。

语法:

      Rnd[(number)]

     可选的 number 参数是 Single(单精度浮点型) 或任何有效的数值表达式

返回值:

   如果number是                             Rnd生成

       小于0                                   每次都使用number作为随机数种子得到相同结果。

       大于0                                   序列中的下一个随机数。

       等于0                                   最近生产的数。

        省略                                     序列中的下一个随机数。

说明:

    Rnd函数返回小于1但大于或等于0的值。

    为了生产某个范围内的随机整数,可以使用以下公式:

 Int((upperbound - lowerbound + 1) * Rnd + lowerbound) 


这里,upperbound 是随机数的上限,lowerbound是随机数的下限。比如:int((6 - 1 + 1) * Rnd + 1)是随机生成一个1到6之间的整数。

    值得注意的是我们这样写出来的随机数,看着生成的数像是随机产生的,但细心的朋友会发现,每次重新运行时,它所产生的随机数列是固定的。依然拿上面的例子说明:首次运行程序时它可能产生的随机数列是这样的(3,5,6,2,2,4,5,1,3……),这种数列确实是随机数列,但如果关闭程序后重新运行程序会发现,它产生的数列还是(3,5,6,2,2,4,5,1,3……),那么产生这种情况的原因是什么呢?这跟Access中Rnd函数的机制有关,这里就不介绍了,感兴趣的朋友可以自己查阅下相关资料。那么怎么解决这样的假随机事件的产生呢?Access也给我们提供了方法,那就是:

    在执行随机数函数前,先初始化一个随机数生成器,代码如下:

     Randomize

    Int(6 * Rnd + 1 )

     这样出来的结果就会避免刚才那样的情况发生的。当然,其实这样的随机也不能够保证完全随机,在一定量大的数据中,它还是会发生一些重复事件,不过对于我们来说已经够用了,基本上不会碰到。

    大家学到了吗?


Access软件网交流QQ群(群号:198465573)
 
 相关文章
关于随机排序关联的操作思路及实例  【丘山  2016/9/11】
如何随机生成当天的时间  【MDZZ  2017/3/3】
获取指定范围内的随机整数  【杨雪  2017/4/6】
利用查询生成一列随机数,数值更改成随机数方法  【宏鹏  2017/6/28】
用VBA实现随机选择记录  【Big Young  2017/10/31】
常见问答
技术分类
相关资源
文章搜索
关于作者

张迪

文章分类

文章存档

友情链接