Retorna um Simples que contém um número aleatório.
Sintaxe
Rnd[(number)]
O número opcionalargumento é um Único ou qualquer expressão numérica válido .
Valores retornados
Se o número for |
Rnd gera |
Menos de zero |
O mesmo número sempre, usando o número que o propagar. |
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)