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

    [Resolvido]Remover registros duplicados

    avatar
    LeJoR
    Novato
    Novato

    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 5
    Registrado : 20/01/2021

    [Resolvido]Remover registros duplicados Empty [Resolvido]Remover registros duplicados

    Mensagem  LeJoR 20/1/2021, 19:45

    Boa tarde

    Já busquei sobre o assunto, mas as soluções que encontrei no fórum não me ajudaram haja vista sou novato nessa área(exemplo https://www.maximoaccess.com/t6452-resolvidoexcluir-dados-duplicados-sem-chave). Enfim se puderem me ajudar no meu banco de dados do acess.

    Tenho uma tabela (originária de uma consulta de um arquivo TXT o qual filtrei apenas os campos que irei utilizar) em que há diversas colunas (59 colunas), o fato é que gostaria de excluir as linhas com informações duplicadas dos campos "Carga" e "Origem", fiz uma chave em que junta ambos os campos Campo&Örigem. Gostaria de excluir todas os registros duplicados, deixando apenas 1, preferencialmente o último que aparece. Basicamente seria um remover duplicadas do excel do campo Carga&Origem. A tabela não tem numeração automática. Shocked
    Alexandre Neves
    Alexandre Neves
    Moderador Global
    Moderador Global

    Respeito às regras : Respeito às Regras 100%

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

    [Resolvido]Remover registros duplicados Empty Re: [Resolvido]Remover registros duplicados

    Mensagem  Alexandre Neves 20/1/2021, 20:47

    Boa noite bem-vindo ao fórum
    Considerando que carga e origem são campos número
    Execute este código
    Código:
    Public Sub EliminaDuplicados()
        '--------------------------------------------------------------'
        '   código criado por Alexandre Neves, do Fórum MaximoAccess   '
        '     utilize o código livremente mas mantenha os créditos     '
        '--------------------------------------------------------------'
        Dim Rst As DAO.Recordset
        Set Rst = CurrentDb.OpenRecordset("SELECT * FROM NomeTabela")
        Do Until Rst.EOF
            If DCount("*", "NomeTabela", "Carga=" & Rst("Carga") & " and Origem=" & Rst("Origem")) > 1 Then
                Rst.Delete
            End If
            Rst.MoveNext
        Loop
        Set Rst = Nothing
    End Sub


    Última edição por Alexandre Neves em 22/1/2021, 16:26, editado 2 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
    avatar
    LeJoR
    Novato
    Novato

    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 5
    Registrado : 20/01/2021

    [Resolvido]Remover registros duplicados Empty Re: [Resolvido]Remover registros duplicados

    Mensagem  LeJoR 21/1/2021, 11:19

    Obrigado Alexandre, mas ambos os campos são número, tentei ajustar aqui e não consegui. Consegue me ajudar? (Imagem em anexo)

    Link Imagem
    Alexandre Neves
    Alexandre Neves
    Moderador Global
    Moderador Global

    Respeito às regras : Respeito às Regras 100%

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

    [Resolvido]Remover registros duplicados Empty Re: [Resolvido]Remover registros duplicados

    Mensagem  Alexandre Neves 21/1/2021, 20:52

    Boa noite
    Alterei para número. Volte a copiar o procedimento


    .................................................................................
    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
    avatar
    LeJoR
    Novato
    Novato

    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 5
    Registrado : 20/01/2021

    [Resolvido]Remover registros duplicados Empty Re: [Resolvido]Remover registros duplicados

    Mensagem  LeJoR 22/1/2021, 19:39

    Obrigado Alexandre, funcionou do jeito que queria, o maior problema é que demorou umas 5 horas pra fazer todo o processo (eram mais de 170 mil linhas, reduziu para 2 mil). Será que não teria alguma maneira mais rápida, haja vista que terei que fazer toda vez que atualizar.
    Alexandre Neves
    Alexandre Neves
    Moderador Global
    Moderador Global

    Respeito às regras : Respeito às Regras 100%

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

    [Resolvido]Remover registros duplicados Empty Re: [Resolvido]Remover registros duplicados

    Mensagem  Alexandre Neves 22/1/2021, 19:58

    Boa noite,
    Uma das alternativas é não duplicar registos
    Verificar, antes de acrescentar, se já existe registo com os mesmos dados e, só caso não exista, acrescenta


    .................................................................................
    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
    avatar
    LeJoR
    Novato
    Novato

    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 5
    Registrado : 20/01/2021

    [Resolvido]Remover registros duplicados Empty Re: [Resolvido]Remover registros duplicados

    Mensagem  LeJoR 9/3/2021, 17:18

    A opção de duplicar registros não tem como, pois o relatório do sistema busca assim, haja vista que uso parte das informações apenas e as informações que uso não podem ser duplicadas.

    O VBA funcionou o problema era a demora pra atualizar. O que fiz foi seguir o passo desse link: http://ptcomputador.com/Software/database-software/116055.html não era o que queria, mas resolveu paletivamente, agora rodo o VBA de duplicada nesse nova tabela e ele é bem mais rápido.

      Data/hora atual: 16/6/2021, 15:43