Olá amigos do fórum,
Já postei um tópico anteriormente para saber como efetuar sorteio num BD.
Pois bem, já fui orientado e deu certo. Inclusive já fechei o tópico com o Resolvido.
Ocorre que, na consulta funciona. Já no relatório, depende de como está configurado o SQL da consulta. Senão vejamos:
Tenho um BD para plantão de funcionários.
Faço o sorteio (escolha aleatória do funcionário) para os dias de plantão.
Na consulta do sorteio, tenho o seguinte:
SELECT TOP 5 Servidores.Codigo, Servidores.Nome, Servidores.Cargo, Servidores.Divisao, Servidores.Gratificacao
FROM Servidores
WHERE (((Servidores.Divisao)=3) AND ((Servidores.Gratificacao)="SIM"))
ORDER BY Rnd(Len(Nome));
obs: o WHERE é porque preciso somente de servidores da Divisão 3 e que possuam algum tipo de Gratificação.
Se o código estiver dessa maneira, com o TOP, funciona na consulta e no relatório (puxa os nomes na ordem em que a consulta organiza).
Ocorre que não tenho apenas 5 ou 8 ou 20 servidores. Isso pode aumentar ou diminuir.
Então tentei as duas formas seguintes:
SELECT *
FROM Servidores
WHERE (((Servidores.Divisao)=3) AND ((Servidores.Gratificacao)="SIM"))
ORDER BY Rnd(Len(Nome));
SELECT Servidores.Codigo, Servidores.Nome, Servidores.Cargo, Servidores.Divisao, Servidores.Gratificacao
FROM Servidores
WHERE (((Servidores.Divisao)=3) AND ((Servidores.Gratificacao)="SIM"))
ORDER BY Rnd(Len(Nome));
Para selecionar todos os registros da tabela.
A consulta continua funcionando do mesmo modo, porém o relatório me traz os nomes sempre na mesma ordem e não de forma aleatória, como a consulta está gerando.
Alguém sabe o que poderia ser?
Desde já agradeço.
Já postei um tópico anteriormente para saber como efetuar sorteio num BD.
Pois bem, já fui orientado e deu certo. Inclusive já fechei o tópico com o Resolvido.
Ocorre que, na consulta funciona. Já no relatório, depende de como está configurado o SQL da consulta. Senão vejamos:
Tenho um BD para plantão de funcionários.
Faço o sorteio (escolha aleatória do funcionário) para os dias de plantão.
Na consulta do sorteio, tenho o seguinte:
SELECT TOP 5 Servidores.Codigo, Servidores.Nome, Servidores.Cargo, Servidores.Divisao, Servidores.Gratificacao
FROM Servidores
WHERE (((Servidores.Divisao)=3) AND ((Servidores.Gratificacao)="SIM"))
ORDER BY Rnd(Len(Nome));
obs: o WHERE é porque preciso somente de servidores da Divisão 3 e que possuam algum tipo de Gratificação.
Se o código estiver dessa maneira, com o TOP, funciona na consulta e no relatório (puxa os nomes na ordem em que a consulta organiza).
Ocorre que não tenho apenas 5 ou 8 ou 20 servidores. Isso pode aumentar ou diminuir.
Então tentei as duas formas seguintes:
SELECT *
FROM Servidores
WHERE (((Servidores.Divisao)=3) AND ((Servidores.Gratificacao)="SIM"))
ORDER BY Rnd(Len(Nome));
SELECT Servidores.Codigo, Servidores.Nome, Servidores.Cargo, Servidores.Divisao, Servidores.Gratificacao
FROM Servidores
WHERE (((Servidores.Divisao)=3) AND ((Servidores.Gratificacao)="SIM"))
ORDER BY Rnd(Len(Nome));
Para selecionar todos os registros da tabela.
A consulta continua funcionando do mesmo modo, porém o relatório me traz os nomes sempre na mesma ordem e não de forma aleatória, como a consulta está gerando.
Alguém sabe o que poderia ser?
Desde já agradeço.