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


4 participantes

    [Resolvido.]Exclusão-excluir duplicidade-impedir dados duplicados

    avatar
    STELLAMARIS
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Feminino
    Localização : Brasil
    Mensagens : 229
    Registrado : 15/03/2010

    [Resolvido.]Exclusão-excluir duplicidade-impedir dados duplicados Empty [Resolvido.]Exclusão-excluir duplicidade-impedir dados duplicados

    Mensagem  STELLAMARIS 4/5/2010, 20:12

    Boa tarde
    Pessoal preciso mais uma vez de ajuda. Até encontrei um topico com este assunto porém não soube fazer, alguem pode me orientar?
    Tenho uma tabela que quero excluir os dados que estão duplicados ex:
    ID - NOME - OBS
    01 - Maria - Lilas
    02 - João - Azul
    03 - João - Azul

    gostaria de eliminar definitivamente o ID 02 ou 03, como faço?
    grata
    Stella


    Última edição por STELLAMARIS em 11/5/2010, 18:24, editado 2 vez(es)
    Alexandre Neves
    Alexandre Neves
    Moderador Global
    Moderador Global


    Respeito às regras : Respeito às Regras 100%

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

    [Resolvido.]Exclusão-excluir duplicidade-impedir dados duplicados Empty Re: [Resolvido.]Exclusão-excluir duplicidade-impedir dados duplicados

    Mensagem  Alexandre Neves 4/5/2010, 20:36

    Boa tarde, STELLA

    Cole o código seguinte num módulo e execute-o (F5):
    Sub ApagaDuplicados()
    Dim Rst as Dao.recordset, strId as string, strNome as string, strObs as string, PrimeiroRegisto as boolean

    PrimeiroRegisto=True
    set rst=currentdb.openrecordset ("SELECT * FROM Tabela ORDER BY ID, Nome, Obs;")

    do while not rst.eof
    if primeiroregisto then
    primeiroregisto=false
    strid=rst("id"): strnome=rst("nome"):strobs=rst("obs")
    elseif strid=rst("id") and strnome=rst("nome") and strobs=rst("obs") then
    rst.delete
    else
    strid=rst("id"): strnome=rst("nome"):strobs=rst("obs")
    end if
    rst.movenext
    loop
    set rst=nothing
    end sub
    avatar
    STELLAMARIS
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Feminino
    Localização : Brasil
    Mensagens : 229
    Registrado : 15/03/2010

    [Resolvido.]Exclusão-excluir duplicidade-impedir dados duplicados Empty Re: [Resolvido.]Exclusão-excluir duplicidade-impedir dados duplicados

    Mensagem  STELLAMARIS 4/5/2010, 20:50

    Alexandre,

    Criei o modulo e cliquei o F5, mas nada acontece onde estou errando, os dados continuam duplicados na tabela BLOCO !!!!

    Sub ApagaDuplicados()
    Dim Rst As Dao.Recordset, strCodBloco As String, strBlocoNome As String, strCodCondo As String, PrimeiroRegisto As Boolean

    PrimeiroRegisto = True
    Set Rst = CurrentDb.OpenRecordset("SELECT * FROM BLOCO ORDER BY CodBloco, BlocoNome, CodCondo;")

    Do While Not Rst.EOF
    If PrimeiroRegisto Then
    PrimeiroRegisto = False
    strCodBloco = Rst("CodBloco"): strBlocoNome = Rst("BlocoNome"): strCodCondo = Rst("CodCondo")
    ElseIf strCodBloco = Rst("CodBloco") And strBlocoNome = Rst("BlocoNome") And strCodCondo = Rst("CodCondo") Then
    Rst.Delete
    Else
    strCodBloco = Rst("CodBloco"): strBlocoNome = Rst("BlocoNome"): strCodCondo = Rst("CodCondo")
    End If
    Rst.MoveNext
    Loop
    Set Rst = Nothing
    End Sub
    JPaulo
    JPaulo
    Moderador
    Moderador


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 11016
    Registrado : 04/11/2009

    [Resolvido.]Exclusão-excluir duplicidade-impedir dados duplicados Empty Re: [Resolvido.]Exclusão-excluir duplicidade-impedir dados duplicados

    Mensagem  JPaulo 4/5/2010, 22:16

    Olá Alexandre e demais utilizadores.

    Desculpe a minha intromissão mas eu gosto do simples.

    Stella abra uma consulta nova em modo SQL e cole isto;

    DELETE *
    FROM BLOCO
    WHERE CodBloco <> (SELECT Max(CodBloco) AS MaxOfCodBloco FROM BLOCO AS Dupe
    WHERE (Dupe.BlocoNome = BLOCO.BlocoNome));

    Retorne o resultado...


    .................................................................................
    Contribua com o maximoaccess nos links abaixo, ajude a melhorar este que é o seu site na NET.

    Pay-Pal R$ Aqui
    Pay-Pal € Aqui

    Ou ainda: Aqui (Novo)

    Sucesso e Bons Estudos
    Success and Good Studies

    [Resolvido.]Exclusão-excluir duplicidade-impedir dados duplicados Folder_announce_new Utilize o Sistema de Busca do Fórum...
    [Resolvido.]Exclusão-excluir duplicidade-impedir dados duplicados Folder_announce_new 102 Códigos VBA Gratuitos...
    [Resolvido.]Exclusão-excluir duplicidade-impedir dados duplicados Folder_announce_new Instruções SQL como utilizar...
    avatar
    STELLAMARIS
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Feminino
    Localização : Brasil
    Mensagens : 229
    Registrado : 15/03/2010

    [Resolvido.]Exclusão-excluir duplicidade-impedir dados duplicados Empty Re: [Resolvido.]Exclusão-excluir duplicidade-impedir dados duplicados

    Mensagem  STELLAMARIS 4/5/2010, 22:23

    JPaulo

    Perfeito, passei a tarde toda tentando resolver isso !
    muito obrigada mesmo
    valeuuuuu


    Stella
    JPaulo
    JPaulo
    Moderador
    Moderador


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 11016
    Registrado : 04/11/2009

    [Resolvido.]Exclusão-excluir duplicidade-impedir dados duplicados Empty Re: [Resolvido.]Exclusão-excluir duplicidade-impedir dados duplicados

    Mensagem  JPaulo 4/5/2010, 22:44

    Obrigado pelo seu retorno Stella.

    Precisando de novo dê um grito aqui.


    .................................................................................
    Contribua com o maximoaccess nos links abaixo, ajude a melhorar este que é o seu site na NET.

    Pay-Pal R$ Aqui
    Pay-Pal € Aqui

    Ou ainda: Aqui (Novo)

    Sucesso e Bons Estudos
    Success and Good Studies

    [Resolvido.]Exclusão-excluir duplicidade-impedir dados duplicados Folder_announce_new Utilize o Sistema de Busca do Fórum...
    [Resolvido.]Exclusão-excluir duplicidade-impedir dados duplicados Folder_announce_new 102 Códigos VBA Gratuitos...
    [Resolvido.]Exclusão-excluir duplicidade-impedir dados duplicados Folder_announce_new Instruções SQL como utilizar...
    avatar
    STELLAMARIS
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Feminino
    Localização : Brasil
    Mensagens : 229
    Registrado : 15/03/2010

    [Resolvido.]Exclusão-excluir duplicidade-impedir dados duplicados Empty Consulta exclusão - socorro

    Mensagem  STELLAMARIS 11/5/2010, 01:02

    JPaulo,
    Estou de novo precisando de sua ajuda,
    Tenho uma tabela com os campos
    CodApt; CodBloco; Apt_Numero; Apt_NumeroLetra; Apt_Situacao; Saída_apt

    Criei uma consulta que mostram as duplicidades da tabela APARTAMENTO e o resultado está abaixo:
    SELECT APARTAMENTO.[CodBloco], APARTAMENTO.[Apt_Numero], APARTAMENTO.[Apt_Situacao], APARTAMENTO.[SAIDA_APT]
    FROM APARTAMENTO
    WHERE (((APARTAMENTO.[CodBloco]) In (SELECT [CodBloco] FROM [APARTAMENTO] As Tmp GROUP BY [CodBloco],[Apt_Numero],[Apt_Situacao] HAVING Count(*)>1 And [Apt_Numero] = [APARTAMENTO].[Apt_Numero] And [Apt_Situacao] = [APARTAMENTO].[Apt_Situacao])))
    ORDER BY APARTAMENTO.[CodBloco], APARTAMENTO.[Apt_Numero], APARTAMENTO.[Apt_Situacao];

    Então tentei passar isso para SQL , seguindo o exemplo que me mandastes , mas não consegui DELETAR os dados duplicados. Não entendo nada! de SQL !
    Você pode me ajudar?
    Grata
    Stella Maris
    JPaulo
    JPaulo
    Moderador
    Moderador


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 11016
    Registrado : 04/11/2009

    [Resolvido.]Exclusão-excluir duplicidade-impedir dados duplicados Empty Re: [Resolvido.]Exclusão-excluir duplicidade-impedir dados duplicados

    Mensagem  JPaulo 13/5/2010, 10:31

    Stella bom dia e desculpe a demora.

    Com este código, jamais irá ter duplicidade nas suas tabelas, apenas deve informar o nome da tabela, na chamada da função, assim:

    Private Sub SeuBotao_Click()
    Call DeletaRegistrosDuplicados("APARTAMENTO")
    End Function


    Cole num módulo novo e salve:

    Public Function DeletaRegistrosDuplicados(strTabela As String)
    'By JPaulo ®️ Maximo Access
    Dim rst As DAO.Recordset, rst2 As DAO.Recordset
    Dim tdf As DAO.TableDef
    Dim fld As DAO.Field
    Dim strSQL As String
    Dim varX As Variant

    Set tdf = DBEngine(0)(0).TableDefs(strTabela)
    strSQL = "SELECT * FROM " & strTabela & " ORDER BY "
    For Each fld In tdf.Fields
    If (fld.Type <> dbMemo) And (fld.Type <> dbLongBinary) Then
    strSQL = strSQL & fld.Name & ", "
    End If
    Next fld

    strSQL = Left(strSQL, Len(strSQL) - 2)
    Set tdf = Nothing

    Set rst = CurrentDb.OpenRecordset(strSQL)
    Set rst2 = rst.Clone
    rst.MoveNext
    Do Until rst.EOF
    varX = rst.Bookmark
    For Each fld In rst.Fields
    If fld.Value <> rst2.Fields(fld.Name).Value Then
    GoTo NextRecord
    End If
    Next fld
    rst.Delete
    GoTo SkipBookmark
    NextRecord:
    rst2.Bookmark = varX
    SkipBookmark:
    rst.MoveNext
    Loop
    rst.Close
    MsgBox "Registros duplicados encontrado(s) e deletados com sucesso...", vbInformation
    End Function


    .................................................................................
    Contribua com o maximoaccess nos links abaixo, ajude a melhorar este que é o seu site na NET.

    Pay-Pal R$ Aqui
    Pay-Pal € Aqui

    Ou ainda: Aqui (Novo)

    Sucesso e Bons Estudos
    Success and Good Studies

    [Resolvido.]Exclusão-excluir duplicidade-impedir dados duplicados Folder_announce_new Utilize o Sistema de Busca do Fórum...
    [Resolvido.]Exclusão-excluir duplicidade-impedir dados duplicados Folder_announce_new 102 Códigos VBA Gratuitos...
    [Resolvido.]Exclusão-excluir duplicidade-impedir dados duplicados Folder_announce_new Instruções SQL como utilizar...
    avatar
    STELLAMARIS
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Feminino
    Localização : Brasil
    Mensagens : 229
    Registrado : 15/03/2010

    [Resolvido.]Exclusão-excluir duplicidade-impedir dados duplicados Empty Re: [Resolvido.]Exclusão-excluir duplicidade-impedir dados duplicados

    Mensagem  STELLAMARIS 13/5/2010, 18:27

    JPaulo,

    Resolveu o que eu queria, aliás você é show!

    muito agradecida

    Stella
    avatar
    famuller
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 16
    Registrado : 27/02/2012

    [Resolvido.]Exclusão-excluir duplicidade-impedir dados duplicados Empty Excluir duplicados

    Mensagem  famuller 27/2/2012, 12:50

    Prezados,

    Sou leigo no assunto banco de dados e estou precisando de ajuda, testei a exclusão de duplicadas conforme as msg mas não consegui efetuar o mesmo poderiam me ajudar, os campos para verificação são DATA, XPROCESSO e XEVENTO.

    Agradeço a ajuda.
    JPaulo
    JPaulo
    Moderador
    Moderador


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 11016
    Registrado : 04/11/2009

    [Resolvido.]Exclusão-excluir duplicidade-impedir dados duplicados Empty Re: [Resolvido.]Exclusão-excluir duplicidade-impedir dados duplicados

    Mensagem  JPaulo 27/2/2012, 17:18

    Fabio seja bem vindo ao fórum.

    Antes de mais quando você tiver um tempinho, leia por favor as regras do fórum.

    Seu problema está a ser resolvido aqui;
    http://maximoaccess.forumeiros.com/t6452-excluir-dados-duplicados-sem-chave


    .................................................................................
    Contribua com o maximoaccess nos links abaixo, ajude a melhorar este que é o seu site na NET.

    Pay-Pal R$ Aqui
    Pay-Pal € Aqui

    Ou ainda: Aqui (Novo)

    Sucesso e Bons Estudos
    Success and Good Studies

    [Resolvido.]Exclusão-excluir duplicidade-impedir dados duplicados Folder_announce_new Utilize o Sistema de Busca do Fórum...
    [Resolvido.]Exclusão-excluir duplicidade-impedir dados duplicados Folder_announce_new 102 Códigos VBA Gratuitos...
    [Resolvido.]Exclusão-excluir duplicidade-impedir dados duplicados Folder_announce_new Instruções SQL como utilizar...

    Conteúdo patrocinado


    [Resolvido.]Exclusão-excluir duplicidade-impedir dados duplicados Empty Re: [Resolvido.]Exclusão-excluir duplicidade-impedir dados duplicados

    Mensagem  Conteúdo patrocinado


      Data/hora atual: 26/4/2024, 23:39