bollywood actresses hair loss hair rehab london contact number cheap hair extensions brazilian curly hair with closure hair extension fails human hair wigs black ponytail hairstyles 2018 sunny hair extensions uk hair extensions remy hair extensions weft koko one piece hair extensions clip hair
Como selecionar registros aleatoriamente?

... Assinatura do site por 1 ano + Kit MontaRibbons + 3 Livros em PDF + Diversas Revistas (pdf) de brinde, por apenas R$100,00
(
podendo parcelar em até 10 vezes no cartão de crédito)...

Clique aqui e obtenha mais detalhes do nosso kit completo e de como comprar.


Como selecionar registros aleatoriamente?

Antes de iniciar sua leitura, clique aqui e cadastre-se para receber comunicados sobre novos artigos.

Imagine uma tabela com centenas de questões de prova e que você queira sortear apenas 10 dessas questões. 

Usando Access - Sorteio Registros

 

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:

SELECT Id,Questão,DataQuestão
FROM tblQuestões
ORDER BY Rnd(IsNull([questão])+1);

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:

SELECT Id,Questão,DataQuestão
FROM tblQuestões
ORDER BY Rnd(([questão]='1')+1);

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:

Usando Access - Sorteio Registros

Para limitar o número de registros apresentados em uma consulta, utilizamos a cláusula TOP.  Confira na escrita SQL abaixo:

SELECT TOP 10 Id, Questão, DataQuestão
FROM tblQuestões
ORDER BY Rnd(IsNull([questão])+1);

Abra a consulta qrySorteioTop10 do arquivo exemplo e veja o resultado de apenas 10 questões sendo apresentadas.

Bom estudo!


 

 


1 comentário(s)

JorgeK   24/03/2017 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!


Envie seu comentário: