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

3 participantes

    Impedir registros duplicados

    avatar
    BeneJr
    Novato
    Novato

    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 15
    Registrado : 04/06/2018

    Impedir registros duplicados Empty Impedir registros duplicados

    Mensagem  BeneJr 26/9/2018, 16:07

    Boa tarde!

    Tenho uma tabela que armazena Tempo, Volta, Categoria e outros dados:

    Impedir registros duplicados Captur14

    Preciso filtrar essas informações para mostrar apenas registros não duplicados em que o valor armazenado em VOLTA seja o maior, como na anotação abaixo:

    Impedir registros duplicados Captur15

    Os outros registros, com o valor contido em VOLTA menores, precisam ser ignorados.

    Para chegar na filtragem da segunda imagem eu fiz:

    SELECT tempos.num_atleta, tempos.nome, tempos.categoria, tempos.volta, Sum(tempos.tempo) AS Tempo
    FROM tempos
    WHERE categoria='PÉ DE AÇO' AND tempo <> null AND volta < 7
    GROUP BY tempos.num_atleta, tempos.nome, tempos.categoria, tempos.volta
    ORDER BY Sum(tempos.tempo)

    Como faço para eliminar os registros duplicados?
    good guy
    good guy
    Developer
    Developer

    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1305
    Registrado : 05/02/2010

    Impedir registros duplicados Empty Ipedir registros duplicados

    Mensagem  good guy 26/9/2018, 17:20

    Olá Bene,

    Já tentou usar DISTINCTROW ou DISTINCT na sua select?

    Código:
    SELECT DISTINCTROW tempos.num_atleta, tempos.nome, tempos.categoria, tempos.volta, Sum(tempos.tempo) AS Tempo
    FROM tempos
    WHERE categoria='PÉ DE AÇO' AND tempo <> null AND volta < 7
    GROUP BY tempos.num_atleta, tempos.nome, tempos.categoria, tempos.volta
    ORDER BY Sum(tempos.tempo)
    avatar
    BeneJr
    Novato
    Novato

    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 15
    Registrado : 04/06/2018

    Impedir registros duplicados Empty Re: Impedir registros duplicados

    Mensagem  BeneJr 26/9/2018, 17:29

    Olá!

    Já tentei sim, mas não deu certo.
    good guy
    good guy
    Developer
    Developer

    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1305
    Registrado : 05/02/2010

    Impedir registros duplicados Empty Impedir registros duplicados

    Mensagem  good guy 26/9/2018, 17:52

    Olá Bene,

    Posta por favor uma amostra do bd para realizarmos alguns testes.
    avatar
    BeneJr
    Novato
    Novato

    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 15
    Registrado : 04/06/2018

    Impedir registros duplicados Empty Re: Impedir registros duplicados

    Mensagem  BeneJr 26/9/2018, 18:00

    Boa tarde!

    Segue o link para baixar o arquivo de banco de dados:

    https://1drv.ms/u/s!AlLF8N2kfhg1hSmppdDpSe6c4IsH
    good guy
    good guy
    Developer
    Developer

    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1305
    Registrado : 05/02/2010

    Impedir registros duplicados Empty Impedir registros duplicados

    Mensagem  good guy 26/9/2018, 20:47

    Olá Bene,

    Não entendi direito aqui. Baseado em qual campo não deve vir duplicado? num_atleta?

    Código:
    Preciso filtrar essas informações para mostrar apenas registros não duplicados em que o valor armazenado em VOLTA seja o maior, como na anotação abaixo:
    avatar
    BeneJr
    Novato
    Novato

    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 15
    Registrado : 04/06/2018

    Impedir registros duplicados Empty Re: Impedir registros duplicados

    Mensagem  BeneJr 26/9/2018, 21:11

    Correto.
    good guy
    good guy
    Developer
    Developer

    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1305
    Registrado : 05/02/2010

    Impedir registros duplicados Empty Impedir registros duplicados

    Mensagem  good guy 27/9/2018, 18:48

    Olá Bene,

    Veja se te atende:
    Anexos
    Impedir registros duplicados Attachmentatletas.zip
    Você não tem permissão para fazer download dos arquivos anexados.
    (28 Kb) Baixado 11 vez(es)
    avatar
    BeneJr
    Novato
    Novato

    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 15
    Registrado : 04/06/2018

    Impedir registros duplicados Empty Re: Impedir registros duplicados

    Mensagem  BeneJr 27/9/2018, 19:18

    Olá!

    Os resultados até que são mostrados corretamente mas eu preciso de uma string SQL que mostre apenas os atletas desclassificados, ou seja, aqueles que não completaram todas as voltas da corrida. Essa string SQL eu preciso usar dentro do meu sistema, feito em C#.

    Se a string SQL mostrasse os resultados organizados desta forma, seria o ideal:

    544 ANA PAULA 308s
    200 JOSÉ PEREIRA 414s
    100 ARMANDO NOGUEIRA 215s
    666 MARCOS SANTOS 240s

    Ordenados de acordo com a quantidade de voltas e o tempo total das voltas, nessa ordem.
    avatar
    LeoStar
    Intermediário
    Intermediário

    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 104
    Registrado : 18/05/2010

    Impedir registros duplicados Empty Impedir registos duplicados

    Mensagem  LeoStar 27/9/2018, 23:13

    Olá BeneJr,

    Veja o último campo da consulta final. Tem a String construída. Basta agora ordenar como deseja utilizando os outros campos pois não entendi a ordenação que pretende. Mas a string está lá. Espero ter ajudado.
    avatar
    LeoStar
    Intermediário
    Intermediário

    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 104
    Registrado : 18/05/2010

    Impedir registros duplicados Empty Impedir registos duplicados

    Mensagem  LeoStar 27/9/2018, 23:15

    Desculpe que não tinha anexado a base. Segue agora.
    Anexos
    Impedir registros duplicados Attachmentatletas.zip
    Você não tem permissão para fazer download dos arquivos anexados.
    (39 Kb) Baixado 9 vez(es)
    avatar
    BeneJr
    Novato
    Novato

    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 15
    Registrado : 04/06/2018

    Impedir registros duplicados Empty Re: Impedir registros duplicados

    Mensagem  BeneJr 28/9/2018, 12:30

    Muito obrigado!
    good guy
    good guy
    Developer
    Developer

    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1305
    Registrado : 05/02/2010

    Impedir registros duplicados Empty Impedir registros duplicados

    Mensagem  good guy 28/9/2018, 17:38

    Olá Bene,

    O fórum todo agradece. Se a sua dúvida já foi sanada, dê o tópico por RESOLVIDO por favor.

    Aprenda mais sobre consultas e Access VBA:

    Editora Livrorama:

    https://www.maximoaccess.com/t32310-segundo-livro-publicado-do-good-guy-domine-o-access-vba-para-iniciantes-na-programacao

    Editora Ciência Moderna:

    https://www.maximoaccess.com/t29536-livro-publicado-tecnicas-especiais-de-access-vba-da-autoria-de-good-guy

      Data/hora atual: 22/9/2021, 06:03