MaximoAccess

Caro Usuário, antes de postar pela primeira vez, leia as regras do fórum.

https://www.maximoaccess.com/t48-regras-do-forum

Obrigado

Administração


Participe do fórum, é rápido e fácil

MaximoAccess

Caro Usuário, antes de postar pela primeira vez, leia as regras do fórum.

https://www.maximoaccess.com/t48-regras-do-forum

Obrigado

Administração

MaximoAccess

Gostaria de reagir a esta mensagem? Crie uma conta em poucos cliques ou inicie sessão para continuar.

Dicas Ms Access, Exemplos Ms Access, Codigos VBA Ms Access, SQL Ms Access


2 participantes

    [Resolvido]Ordenação de dados de sorteio diferente em consulta e relatório

    rdrck
    rdrck
    VIP
    VIP


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1011
    Registrado : 11/03/2014

    sorteio - [Resolvido]Ordenação de dados de sorteio diferente em consulta e relatório Empty [Resolvido]Ordenação de dados de sorteio diferente em consulta e relatório

    Mensagem  rdrck 2/4/2014, 14:47

    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.


    .................................................................................
    Meu Programa / OS:
    Access 2010 - Windows 10.
    Alexandre Neves
    Alexandre Neves
    Moderador Global
    Moderador Global


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 8499
    Registrado : 05/11/2009

    sorteio - [Resolvido]Ordenação de dados de sorteio diferente em consulta e relatório Empty Re: [Resolvido]Ordenação de dados de sorteio diferente em consulta e relatório

    Mensagem  Alexandre Neves 2/4/2014, 20:55

    Boa noite,
    Reveja a opção de OrdenarEAgrupar


    .................................................................................
    Access 2010. Mande bd que dê para testar (indique a versão). Não peça para fazer o que já tem feito. Dê todos os detalhes.
    Não coloquem entraves como senhas, esconder controlos, etc. Disponibilizem o mais limpo possível
    Só respondo a mensagens privadas, se forem de assunto privado; às outras não respondo.
    Quem trabalha e mata a fome não come o pão de ninguém; mas quem não trabalha e come, come sempre o pão de alguém. António Aleixo
    rdrck
    rdrck
    VIP
    VIP


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1011
    Registrado : 11/03/2014

    sorteio - [Resolvido]Ordenação de dados de sorteio diferente em consulta e relatório Empty Re: [Resolvido]Ordenação de dados de sorteio diferente em consulta e relatório

    Mensagem  rdrck 3/4/2014, 12:19

    Olá Alexandre,
    Mas isso na consulta ou relatório?
    Não captei a mensagem.


    .................................................................................
    Meu Programa / OS:
    Access 2010 - Windows 10.
    rdrck
    rdrck
    VIP
    VIP


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1011
    Registrado : 11/03/2014

    sorteio - [Resolvido]Ordenação de dados de sorteio diferente em consulta e relatório Empty Re: [Resolvido]Ordenação de dados de sorteio diferente em consulta e relatório

    Mensagem  rdrck 3/4/2014, 16:06

    Você diz o Agrupar e Classificar do Relatório?


    .................................................................................
    Meu Programa / OS:
    Access 2010 - Windows 10.
    Alexandre Neves
    Alexandre Neves
    Moderador Global
    Moderador Global


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 8499
    Registrado : 05/11/2009

    sorteio - [Resolvido]Ordenação de dados de sorteio diferente em consulta e relatório Empty Re: [Resolvido]Ordenação de dados de sorteio diferente em consulta e relatório

    Mensagem  Alexandre Neves 3/4/2014, 17:44

    Boa tarde,
    isso mesmo.


    .................................................................................
    Access 2010. Mande bd que dê para testar (indique a versão). Não peça para fazer o que já tem feito. Dê todos os detalhes.
    Não coloquem entraves como senhas, esconder controlos, etc. Disponibilizem o mais limpo possível
    Só respondo a mensagens privadas, se forem de assunto privado; às outras não respondo.
    Quem trabalha e mata a fome não come o pão de ninguém; mas quem não trabalha e come, come sempre o pão de alguém. António Aleixo
    rdrck
    rdrck
    VIP
    VIP


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1011
    Registrado : 11/03/2014

    sorteio - [Resolvido]Ordenação de dados de sorteio diferente em consulta e relatório Empty Re: [Resolvido]Ordenação de dados de sorteio diferente em consulta e relatório

    Mensagem  rdrck 3/4/2014, 17:47

    Bom, aparentemente está tudo OK.
    O relatório só tem o campo Nome, o qual está na aba Detalhe do relatório.
    Como eu disse, com o TOP na consulta funciona o relatório. Sem o TOP, o relatório organiza sempre na mesma ordem os nomes.
    Sinceramente, já fucei, mas não sei qual o problema.


    .................................................................................
    Meu Programa / OS:
    Access 2010 - Windows 10.
    Alexandre Neves
    Alexandre Neves
    Moderador Global
    Moderador Global


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 8499
    Registrado : 05/11/2009

    sorteio - [Resolvido]Ordenação de dados de sorteio diferente em consulta e relatório Empty Re: [Resolvido]Ordenação de dados de sorteio diferente em consulta e relatório

    Mensagem  Alexandre Neves 3/4/2014, 18:05

    Disponibilize a bd para alguém o tentar ajudar


    .................................................................................
    Access 2010. Mande bd que dê para testar (indique a versão). Não peça para fazer o que já tem feito. Dê todos os detalhes.
    Não coloquem entraves como senhas, esconder controlos, etc. Disponibilizem o mais limpo possível
    Só respondo a mensagens privadas, se forem de assunto privado; às outras não respondo.
    Quem trabalha e mata a fome não come o pão de ninguém; mas quem não trabalha e come, come sempre o pão de alguém. António Aleixo
    rdrck
    rdrck
    VIP
    VIP


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1011
    Registrado : 11/03/2014

    sorteio - [Resolvido]Ordenação de dados de sorteio diferente em consulta e relatório Empty Re: [Resolvido]Ordenação de dados de sorteio diferente em consulta e relatório

    Mensagem  rdrck 4/4/2014, 12:23

    Olá Alexandre,
    Segue o BD para avaliação.
    Observer a Consulta "CServidores - ApoioAdm - ComGrat - sorteio" e o relatório.
    Anexos
    sorteio - [Resolvido]Ordenação de dados de sorteio diferente em consulta e relatório AttachmentPlantão.zip
    Você não tem permissão para fazer download dos arquivos anexados.
    (166 Kb) Baixado 21 vez(es)


    .................................................................................
    Meu Programa / OS:
    Access 2010 - Windows 10.
    Alexandre Neves
    Alexandre Neves
    Moderador Global
    Moderador Global


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 8499
    Registrado : 05/11/2009

    sorteio - [Resolvido]Ordenação de dados de sorteio diferente em consulta e relatório Empty Re: [Resolvido]Ordenação de dados de sorteio diferente em consulta e relatório

    Mensagem  Alexandre Neves 4/4/2014, 19:50

    Boa tarde,
    A consulta tem a função Aleatório imbutida. esta função devolve um número aleatório sempre que é chamada; assim, gera aleatório quando a consulta é aberta e também quando a consulta é chamada pelo relatório. E os números gerados podem não corresponder; se corresponderem é por coincidência
    Para ultrapassar, tenha código de criação de tabela com recurso à função aleatório. Assim, os números aleatórios ficam gravados na tabela que servirá de origem do relatório e esses números gerados manter-se-ão


    .................................................................................
    Access 2010. Mande bd que dê para testar (indique a versão). Não peça para fazer o que já tem feito. Dê todos os detalhes.
    Não coloquem entraves como senhas, esconder controlos, etc. Disponibilizem o mais limpo possível
    Só respondo a mensagens privadas, se forem de assunto privado; às outras não respondo.
    Quem trabalha e mata a fome não come o pão de ninguém; mas quem não trabalha e come, come sempre o pão de alguém. António Aleixo
    rdrck
    rdrck
    VIP
    VIP


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1011
    Registrado : 11/03/2014

    sorteio - [Resolvido]Ordenação de dados de sorteio diferente em consulta e relatório Empty Re: [Resolvido]Ordenação de dados de sorteio diferente em consulta e relatório

    Mensagem  rdrck 6/4/2014, 14:27

    Olá Alexandre,
    Você sugere que eu crie uma consulta créscimo para inserir em uma tabela os registros escolhidos aleatoriamente e depois baseie o relatório nessa tabela?
    Vou tentar e dou o retorno.
    Valeu.


    .................................................................................
    Meu Programa / OS:
    Access 2010 - Windows 10.
    rdrck
    rdrck
    VIP
    VIP


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1011
    Registrado : 11/03/2014

    sorteio - [Resolvido]Ordenação de dados de sorteio diferente em consulta e relatório Empty Re: [Resolvido]Ordenação de dados de sorteio diferente em consulta e relatório

    Mensagem  rdrck 7/4/2014, 12:47

    Olá Alexandre,
    Não consegui através da consulta-acréscimo.
    Os nomes são inseridos na tabela sempre na mesma ordem.


    .................................................................................
    Meu Programa / OS:
    Access 2010 - Windows 10.
    Alexandre Neves
    Alexandre Neves
    Moderador Global
    Moderador Global


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 8499
    Registrado : 05/11/2009

    sorteio - [Resolvido]Ordenação de dados de sorteio diferente em consulta e relatório Empty Re: [Resolvido]Ordenação de dados de sorteio diferente em consulta e relatório

    Mensagem  Alexandre Neves 7/4/2014, 15:46

    Boa tarde,
    O campo Gratificacao deve ser Sim/Não e não texto.
    Veja o que adaptei
    Adaptei a tabela tblSelecaoAleatorio para receber o resultado da geração de dados aleatórios. A geração dos dados é feita pelo procedimento CriaAleatorio
    O relatório ficou com a origem na tabela tblSelecaoAleatorio. Assim, a tabela e o relatório mantêm a mesma ordem de dados
    Anexos
    sorteio - [Resolvido]Ordenação de dados de sorteio diferente em consulta e relatório AttachmentPlantão.zip
    Você não tem permissão para fazer download dos arquivos anexados.
    (140 Kb) Baixado 38 vez(es)


    .................................................................................
    Access 2010. Mande bd que dê para testar (indique a versão). Não peça para fazer o que já tem feito. Dê todos os detalhes.
    Não coloquem entraves como senhas, esconder controlos, etc. Disponibilizem o mais limpo possível
    Só respondo a mensagens privadas, se forem de assunto privado; às outras não respondo.
    Quem trabalha e mata a fome não come o pão de ninguém; mas quem não trabalha e come, come sempre o pão de alguém. António Aleixo
    rdrck
    rdrck
    VIP
    VIP


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1011
    Registrado : 11/03/2014

    sorteio - [Resolvido]Ordenação de dados de sorteio diferente em consulta e relatório Empty Re: [Resolvido]Ordenação de dados de sorteio diferente em consulta e relatório

    Mensagem  rdrck 7/4/2014, 16:18

    Olá Alexandre,
    Então você criou um módulo para fazer o sorteio, certo?
    Não está nem usando a consulta, certo?
    Bom, só fiz a seguinte mudança para atender ao que eu queria:

    Sub CriaAleatorio()
    CurrentDb.Execute "DELETE * FROM tblSelecaoAleatorio"
    'CurrentDb.Execute "SELECT TOP 5 Codigo, Nome, Cargo, Divisao, Gratificacao FROM Servidores WHERE Divisao = 3 And Gratificacao = 'SIM' ORDER BY Rnd(Len(Nome)) INTO tblSelecaoAleatorio;"
    CurrentDb.Execute "INSERT INTO tblSelecaoAleatorio SELECT * FROM Servidores WHERE Divisao = 3 And Gratificacao = 'SIM' ORDER BY Rnd(Len(Nome));"
    End Sub

    Ou seja, troquei TOP 5 e os campos pelo *, pois não terei apenas 05 nomes, mas podem aumentar ou diminuir. Então quero todos os registros existentes.
    Funcionou perfeitamente.
    Agradeço sua atenção e paciência.
    Vou dar o tópico como resolvido.
    Valeu.


    .................................................................................
    Meu Programa / OS:
    Access 2010 - Windows 10.

    Conteúdo patrocinado


    sorteio - [Resolvido]Ordenação de dados de sorteio diferente em consulta e relatório Empty Re: [Resolvido]Ordenação de dados de sorteio diferente em consulta e relatório

    Mensagem  Conteúdo patrocinado


      Data/hora atual: 25/11/2024, 08:41