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?
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é 2x no Cartão de Crédito. 

Veja como comprar e saiba mais sobre o material oferecido,  clicando aqui.

Open v3

 

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: