Devolve um valor Simples que contém um número aleatório.
Sintaxe
Rnd[(número)]
O número opcionalargumento é um Único ou qualquer expressão numérica válido.
Valores Devolvidos
Se o número for |
Rnd gera |
Menor que zero |
Sempre o mesmo número, utilizando o número que o seed. |
Maior que zero |
O número aleatório seguinte na sequência. |
Igual a zero |
O número gerado mais recentemente. |
Não fornecido |
O número aleatório seguinte na sequência. |
Observações
A função Rnd devolve um valor inferior a 1, mas maior ou igual a zero.
O valor do número determina como o Rnd gera um número aleatório:
Para uma determinada semente inicial, é gerada a mesma sequência de números porque cada chamada sucessiva para a função Rnd utiliza o número anterior como uma semente para o número seguinte na sequência.
Antes de chamar Rnd, utilize a instrução Randomize sem um argumento para inicializar o gerador de números aleatórios com uma semente baseada no temporizador do sistema.
Para produzir números inteiros aleatórios num determinado intervalo, utilize esta fórmula:
Int((upperbound - lowerbound + 1) * Rnd + lowerbound)
Aqui, a entrada superior é o número mais alto do intervalo e a entrada mais baixa é o número mais baixo no intervalo.
Nota: Para repetir sequências de números aleatórios, chame Rnd com um argumento negativo imediatamente antes de utilizar Randomize com um argumento numérico. A utilização de 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; |
Devolve o ID do Produto juntamente com números aleatórios na coluna RandomNumbers. |
Exemplo de VBA
Nota: Os exemplos seguintes demonstram a utilização desta função no módulo VBA (Visual Basic for Applications). Para obter mais informações sobre como trabalhar com o VBA, selecione Referência para Programadores na lista pendente junto a Procurar e introduza um ou mais termos na caixa de pesquisa.
Este exemplo utiliza 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)