Devolve um valor Simples que contém um número aleatório.
Sintaxe
Rnd [ (número ]
O número opcionalargumento é um expressão numérica único ou válido.
Valores Devolvidos
Se o número for |
Rnd gera |
Menos de zero |
Sempre o mesmo número, utilizando o número que o seed. |
Maior que zero |
O próximo número aleatório na sequência. |
Igual a zero |
O número mais recentemente gerado. |
Não fornecido |
O próximo número aleatório na sequência. |
Observações
A função Rnd devolve um valor inferior a 1, mas superior 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 utiliza o número anterior como semente para o próximo número na sequência.
Antes de ligar para o Rnd, utilize a declaração Randomize sem argumentos para rubricar o gerador de números aleatórios com uma semente com base no temporizador do sistema.
Para produzir inteiros aleatórios numa determinada gama, utilize esta fórmula:
Int((upperbound - lowerbound + 1) * Rnd + lowerbound)
Aqui, a parte superior é o número mais alto da gama, e a redução é o número mais baixo da gama.
Nota: Para repetir sequências de números aleatórios, ligue para Rnd com um argumento negativo imediatamente antes de usar Randomize com um argumento numérico. A utilização aleatória com o mesmo valor para número não repete a sequência anterior.
Exemplo de consulta
Expressão |
Resultados |
SELECT ProductSales.ProductID, Rnd ([Desconto]) AS RandomNumbers FROM ProductSales; |
Devolve o ID do produto juntamente com números aleatórios na coluna RandomNumbers. |
Exemplo 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)