Rnd 函数

应用对象
Microsoft 365 专属 Access Access 2024 Access 2021 Access 2019 Access 2016

返回一个包含随机数字的 Single 值。

语法

Rnd[ (number) ]

可选的 number参数是 Single 或任何有效的数值表达式。

返回值

如果 number 为 Rnd 生成
小于零 每次使用数字作为种子的 相同数字
大于零 序列中的下一个随机数。
等于零 最近生成的数字。
未提供 序列中的下一个随机数。

备注

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

number 的值确定 Rnd 如何生成随机数:

对于任何给定的初始种子,都会生成相同的数字序列,因为对 Rnd 函数的每次连续调用都使用上一个数字作为序列中下一个数字的种子。

在调用 Rnd 之前, 请使用不带参数的 Randomize 语句,使用基于系统计时器的种子初始化随机数生成器。

若要在给定范围内生成随机整数,请使用以下公式:

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

此处, 上限 是范围中的最高数字, 下限 是范围中最低的数字。

注意

若要重复随机数序列,请立即使用负参数调用 Rnd ,然后再使用带有数值参数 的 Randomize 。 对数字使用相同值的 Randomize 不会重复上一个序列。

查询示例

Expression 结果
SELECT ProductSales.ProductID,Rnd ([Discount]) AS RandomNumbers FROM ProductSales; 返回“产品 ID”以及 RandomNumbers 列中的随机数。

VBA 示例

注意

下面的示例演示了如何在 Visual Basic for Applications (VBA) 模块中使用此函数。 有关使用 VBA 的详细信息,请在搜索旁边的下拉列表中选择“开发人员参考”,并在搜索框中输入一个或多个术语。

此示例使用 Rnd 函数生成从 1 到 6 的随机整数值。

Dim MyValue
' Generate random value between 1 and 6.
MyValue = Int((6 * Rnd) + 1)