Devuelve un tipo de datos Single que contiene un número aleatorio.
Sintaxis
Rnd[(número)]
El número opcionalargumento es Single o cualquier expresión numérica válido.
Valores devueltos
Si número es |
Rnd genera |
Menor que cero |
El mismo número cada vez, usando el mismo número que el propagar. |
Mayor que cero |
El siguiente número aleatorio en la secuencia. |
Igual a cero |
Es el número generado más recientemente. |
No suministrado |
El siguiente número aleatorio en la secuencia. |
Comentarios
La función Rnd devuelve un valor menor que 1 pero mayor o igual que cero.
El valor de número determina cómo Rnd genera un número aleatorio:
Para cualquier semilla inicial determinada, se genera la misma secuencia numérica porque cada llamada sucesiva a la función Rnd usa el número anterior como semilla para el siguiente número de la secuencia.
Antes de llamar a Rnd, utilice la instrucción Randomize sin un argumento para inicializar el generador de números aleatorios con una semilla basada en el temporizador del sistema.
Para producir enteros aleatorios en un rango determinado, use esta fórmula:
Int((upperbound - lowerbound + 1) * Rnd + lowerbound)
Aquí, límite superior es el número más alto del rango y límite inferior es el número más bajo del rango.
Nota: Para repetir secuencias de números aleatorios, llame a Rnd con un argumento negativo inmediatamente antes de usar Randomize con un argumento numérico. Si se usa Randomize con el mismo valor para número , no se repetirá la secuencia anterior.
Ejemplo de consulta
Expression |
Resultados |
SELECT ProductSales.ProductID, Rnd([Discount]) AS RandomNumbers FROM ProductSales; |
Devuelve el Id. de producto junto con números aleatorios en la columna RandomNumbers. |
Ejemplo de VBA
Nota: Los ejemplos siguientes muestran el uso de esta función en un módulo de Visual Basic para Aplicaciones (VBA). Para obtener más información sobre cómo trabajar con VBA, seleccione referencia para desarrolladores en la lista desplegable situada junto a búsqueda y escriba uno o varios términos en el cuadro de búsqueda.
En este ejemplo se usa la función Rnd para generar un valor entero aleatorio de 1 a 6.
Dim MyValue
' Generate random value between 1 and 6. MyValue = Int((6 * Rnd) + 1)