Como selecionar registros aleatoriamente?
Nota importante: para ter acesso aos vídeos e arquivos exemplos deste site, adquira um dos planos apresentados abaixo. Você pode comprar em até 5x no Cartão de Crédito.
Veja como comprar e saiba mais sobre o material oferecido, clicando aqui.
Imagine uma tabela com centenas de questões de prova e que você queira sortear apenas 10 dessas questões.
O Microsoft Access pode realizar esta tarefa de forma bem simples, utilizando a função Rnd() no ordenamento da consulta. Observe a escrita SQL da consulta qrySorteioTodas:
Faça o login aqui para ter acesso ao código.
A princípio, parece bem estranho, o uso do IsNull([questão]) na função Rnd(), uma vez que sempre retornará o valor 0 (falso), pois não existem questões em branco. Como resultado teremos Rnd(0+1). Então, qual seria o objetivo? O objetivo é o de fazer com que o campo [questão] apareça na cláusula ORDER BY para que este considere o campo a ser ordenado. Poderia ser assim também:
Faça o login aqui para ter acesso ao código.
Baixe o arquivo e faça o teste:
Clique aqui e baixe o arquivo exemplo.
Abra a consulta qrySorteioTodas do arquivo exemplo fornecido. Clique no botão Atualizar Tudo da Ribbon e observe a coluna das Questões com a ordem alterada:
Para limitar o número de registros apresentados em uma consulta, utilizamos a cláusula TOP. Confira na escrita SQL abaixo:
Faça o login aqui para ter acesso ao código.
Abra a consulta qrySorteioTop10 do arquivo exemplo e veja o resultado de apenas 10 questões sendo apresentadas.
Bom estudo!
Os dez artigos mais visitados
MontaRibbons v.7.0 - Assistente completo para criar ribbons no Access
Vídeo - Controle personalizado de Acesso de Usuários
Vídeo - Aprenda sobre filtragens
Vídeo - Segurança máxima, usando o OPEN
Uma ajuda para quem está começando um negócio ou um projeto
Integrando o Access com Servidor MySQL - Introdução
Desabilitando a faixa(ribbon) superior do Access
Vídeo - Programação de relatórios - Parte 1
Como carregar o seu menu sem que ele vá para lista de suplementos
Adquira o kit UsandoAccess e aprenda em alta velocidade
1 comentário(s) JorgeK 24/03/2022 06:17:24 Muito bom. Precisei criar uma rotina q fizesse um sorteio de clientes p outros vendedores e ficou bem legal. Obrigado por compartilhar! |