Retorna um Simples que contém um número aleatório.
Sintaxe
Rnd[(number)]
O argumento de númeroopcional é uma expressão numérica única ou qualquer expressão numérica válida.
Valores retornados
| Se o número for | Rnd gera |
|---|---|
| Menos de zero | O mesmo número todas as vezes, usando o número que a semente. |
| Maior que zero | O próximo número aleatório na sequência. |
| Igual a zero | O número gerado mais recentemente. |
| Não fornecido | O próximo número aleatório na sequência. |
Comentários
A função Rnd retorna um valor menor que 1, mas maior ou igual a zero.
O valor do número determina como o Rnd gera um número aleatório:
Para qualquer semente inicial, a mesma sequência de números é gerada porque cada chamada sucessiva para a função Rnd usa o número anterior como uma semente para o próximo número na sequência.
Antes de chamar rnd, use a instrução Randomize sem um argumento para inicializar o gerador de número aleatório com uma semente com base no temporizador do sistema.
Para produzir inteiros aleatórios em um determinado intervalo, use esta fórmula:
Int((upperbound - lowerbound + 1) * Rnd + lowerbound)
Aqui, o upperbound é o número mais alto do intervalo, e lowerbound é o número mais baixo no intervalo.
Observação
Para repetir sequências de números aleatórios, chame Rnd com um argumento negativo imediatamente antes de usar Randomize com um argumento numérico. Usar Randomize com o mesmo valor para número não repete a sequência anterior.
Exemplo de consulta
| Expressão. | Resultados |
|---|---|
| SELECT ProductSales.ProductID, Rnd([Discount]) AS RandomNumbers FROM ProductSales; | Retorna a ID do produto junto com números aleatórios na coluna RandomNumbers. |
Exemplo de VBA
Observação
Exemplos a seguir demonstram o uso dessa função em um módulo VBA (Visual Basic for Applications). Para obter mais informações sobre como trabalhar com o VBA, selecione Referência do Desenvolvedor na lista suspensa ao lado de Pesquisar e insira um ou mais termos na caixa de pesquisa.
Este exemplo usa a função Rnd para gerar um valor inteiro aleatório de 1 a 6.
Dim MyValue
' Generate random value between 1 and 6.
MyValue = Int((6 * Rnd) + 1)