MaximoAccess

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

Obrigado

Administração do MaximoAccess

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


    [Resolvido]Registros Duplicados

    HARYSOHN
    HARYSOHN
    Maximo VIP
    Maximo VIP

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 12227
    Registrado : 01/03/2011

    [Resolvido]Registros Duplicados Empty Registros Duplicados

    Mensagem  HARYSOHN em 1/4/2011, 18:20

    O Seguinte código do repositório sobre registros duplicados"

    Alerta e Mostra Registo Duplicado no Ms Access

    Private Sub SeuCampoNoForm_BeforeUpdate(Cancel As Integer)
    Dim Busca As String
    Dim stLinkCriteria As String
    Dim rsc As DAO.Recordset
    Set rsc = Me.RecordsetClone
    Busca = Me.SeuCampoNoForm.Value
    stLinkCriteria = "SeuCampoNaTabela= '" & Busca & "'"
    If DCount("SeuCampoNaTabela", "NomeDaTabela", stLinkCriteria) > 0 Then
    Me.Undo
    MsgBox "Atenção " _
    & Busca & " registo já existe." _
    & vbCr & vbCr & "Irá ser mostrado o Registo.", vbInformation _
    , "Duplicado"
    rsc.FindFirst stLinkCriteria
    Me.Bookmark = rsc.Bookmark
    End If
    Set rsc = Nothing
    End Sub



    Poderiam me falar onde eu o aplico e como fazer o uso correto do mesmo?

    Fico Grato..
    Obrigado
    Haryson
    Jungli
    Jungli
    Developer
    Developer

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 659
    Registrado : 07/05/2010

    [Resolvido]Registros Duplicados Empty Re: [Resolvido]Registros Duplicados

    Mensagem  Jungli em 1/4/2011, 20:00

    Veja este exemplo ... ele verifica se o registro é duplicado se sim mostra o registro no form.

    Public Sub ProcDuplicado()
    'Exemplo do mestre JPaulo
    'última modificação: Glicerio Junior (Jungli) ... 01.04.2011
    Dim r As DAO.Recordset
    Dim sCriterio As String
    Dim cancel As Integer
    'pNome = campo no formulário e na tabela
    sCriterio = "([pNome] = '" & Me![pNome] & "') "

    Set r = Me.RecordsetClone
    r.FindFirst sCriterio
    '...
    If r.NoMatch Then
    Exit Sub
    Else
    If MsgBox("Existe um Cliente cadastrado com este Nome!" & vbCrLf & _
    "Deseja encontra-lo?" _
    , vbYesNo + vbInformation, "Atenção") = vbYes Then
    cancel = True
    Me.Undo
    Me.Bookmark = r.Bookmark
    End If
    End If
    Set r = Nothing
    End Sub

    Private Sub pNome_AfterUpdate()
    ProcDuplicado
    End Sub
    vieirasoft
    vieirasoft
    Developer
    Developer

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 7305
    Registrado : 11/05/2010

    [Resolvido]Registros Duplicados Empty Re: [Resolvido]Registros Duplicados

    Mensagem  vieirasoft em 1/4/2011, 21:26

    Movi o tópico porque o mesmo foi colocado no sitio indevido
    HARYSOHN
    HARYSOHN
    Maximo VIP
    Maximo VIP

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 12227
    Registrado : 01/03/2011

    [Resolvido]Registros Duplicados Empty Boa noite Jungli.. cumprimentando...

    Mensagem  HARYSOHN em 1/4/2011, 23:13

    Tem como voce me enviar um BD com o form e o uso do código?

    se tiver como eu agradeço

    Harysohn@hotmail.com
    vieirasoft
    vieirasoft
    Developer
    Developer

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 7305
    Registrado : 11/05/2010

    [Resolvido]Registros Duplicados Empty Re: [Resolvido]Registros Duplicados

    Mensagem  vieirasoft em 1/4/2011, 23:50

    Amigo:

    Abra um módulo na secção módulos e cole esse código. Para ser mais fácil chame a função com uma macro.
    vieirasoft
    vieirasoft
    Developer
    Developer

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 7305
    Registrado : 11/05/2010

    [Resolvido]Registros Duplicados Empty Re: [Resolvido]Registros Duplicados

    Mensagem  vieirasoft em 6/4/2011, 10:58

    Resolveu o problema? Agradecemos feedback
    HARYSOHN
    HARYSOHN
    Maximo VIP
    Maximo VIP

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 12227
    Registrado : 01/03/2011

    [Resolvido]Registros Duplicados Empty Amigo Vieira, cumprimentando-lhe....

    Mensagem  HARYSOHN em 6/4/2011, 13:30

    Pergunto:

    Veja este código aqui do site:

    Public Sub DetetaDuplicidade()
    'By JPaulo ® Maximo Access
    Dim rst As DAO.Recordset
    Dim strCriteria As String

    strCriteria = "([Campo1] = '" & Me.Campo1 & "') OR ([Campo2] = '" & Me.Campo2 & "')"

    Set rst = Me.RecordsetClone
    rst.FindFirst strCriteria

    If rst.NoMatch Then
    Exit Sub
    Else
    If MsgBox("Existe cliente cadastrado com este Nome!" & Chr(10) + Chr(13) & "Deseja encontra-lo?", vbYesNo + vbInformation, "Atenção") = vbYes Then
    Cancel = True
    Me.Undo
    Me.Bookmark = rst.Bookmark
    End If
    End If
    Set rst = Nothing
    End Sub


    Private Sub Campo1_BeforeUpdate(Cancel As Integer)
    Call DetetaDuplicidade
    End Sub


    Private Sub Campo2_BeforeUpdate(Cancel As Integer)
    Call DetetaDuplicidade
    End Sub


    Não seria melhor eu usar esse ao invés do outro?

    poderia me explicar quais as diferenças?

    Eu coloquei esse código mas não retornou nenhuma msg em um registro duplicado

    Aguardo...

    Obrigado
    JPaulo
    JPaulo
    Moderador
    Moderador

    Respeito às Regras 100%

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

    [Resolvido]Registros Duplicados Empty Re: [Resolvido]Registros Duplicados

    Mensagem  JPaulo em 6/4/2011, 13:49

    Qual a sua duvida nesses codigos ?

    Não funcionam ?

    Quais os nomes corretos da tabela, dos campos e quais as suas formatações ?


    .................................................................................
    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]Registros Duplicados Folder_announce_new Utilize o Sistema de Busca do Fórum...
    [Resolvido]Registros Duplicados Folder_announce_new 102 Códigos VBA Gratuitos...
    [Resolvido]Registros Duplicados Folder_announce_new Instruções SQL como utilizar...
    HARYSOHN
    HARYSOHN
    Maximo VIP
    Maximo VIP

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 12227
    Registrado : 01/03/2011

    [Resolvido]Registros Duplicados Empty Formatacao...

    Mensagem  HARYSOHN em 6/4/2011, 13:54

    o Campo que é o principal da tabela é o campo StrNome (nome do Cliente)

    Como faço pra inserir o comando De encontrar e deletar Duplicidade?

    Obrigado....

    Em tempo João Paulo... tenho uma outra questão no forum sobre Atualização de tabelas que inclusive o Qriquio enviou uma instrução.. se puder me ajudar naquela questão tambem eu ficarei grato. Obrigado...
    JPaulo
    JPaulo
    Moderador
    Moderador

    Respeito às Regras 100%

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

    [Resolvido]Registros Duplicados Empty Re: [Resolvido]Registros Duplicados

    Mensagem  JPaulo em 6/4/2011, 14:01

    Então é só um campo e é texto.

    Certo ?


    .................................................................................
    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]Registros Duplicados Folder_announce_new Utilize o Sistema de Busca do Fórum...
    [Resolvido]Registros Duplicados Folder_announce_new 102 Códigos VBA Gratuitos...
    [Resolvido]Registros Duplicados Folder_announce_new Instruções SQL como utilizar...
    HARYSOHN
    HARYSOHN
    Maximo VIP
    Maximo VIP

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 12227
    Registrado : 01/03/2011

    [Resolvido]Registros Duplicados Empty Exato

    Mensagem  HARYSOHN em 6/4/2011, 14:02

    é o Campo onde fica o nome do cliente....

    Pode ser até dois campos, ficaria melhor pra confirmar realmente a duplicicade

    Obrigado
    JPaulo
    JPaulo
    Moderador
    Moderador

    Respeito às Regras 100%

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

    [Resolvido]Registros Duplicados Empty Re: [Resolvido]Registros Duplicados

    Mensagem  JPaulo em 6/4/2011, 14:09

    Diga-me para finalizar, quais os nomes corretos desses dois campos na Tabela e o nome dos mesmos no formulario e se são os dois Texto.


    .................................................................................
    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]Registros Duplicados Folder_announce_new Utilize o Sistema de Busca do Fórum...
    [Resolvido]Registros Duplicados Folder_announce_new 102 Códigos VBA Gratuitos...
    [Resolvido]Registros Duplicados Folder_announce_new Instruções SQL como utilizar...
    HARYSOHN
    HARYSOHN
    Maximo VIP
    Maximo VIP

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 12227
    Registrado : 01/03/2011

    [Resolvido]Registros Duplicados Empty Retornando

    Mensagem  HARYSOHN em 6/4/2011, 14:16

    Na Tabela: Campo1 = StrNome, Campo2 = strEndereco

    No form Campo1 Caixa Texto = StrNome, Campo2 = Endereco
    JPaulo
    JPaulo
    Moderador
    Moderador

    Respeito às Regras 100%

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

    [Resolvido]Registros Duplicados Empty Re: [Resolvido]Registros Duplicados

    Mensagem  JPaulo em 6/4/2011, 14:26

    Tente assim como está, se não der tem de colocar aqui parte do seu bd para analise.


    Public Sub DetetaDuplicidade()
    'By JPaulo ® Maximo Access
    Dim rst As DAO.Recordset
    Dim strCriteria As String

    strCriteria = "([StrNome] = '" & Me.StrNome & "') OR ([strEndereco] = '" & Me.Endereco & "')"

    Set rst = Me.RecordsetClone
    rst.FindFirst strCriteria

    If rst.NoMatch Then
    Exit Sub
    Else
    If MsgBox("Existe cliente cadastrado com este Nome!" & Chr(10) + Chr(13) & "Deseja encontra-lo?", vbYesNo + vbInformation, "Atenção") = vbYes Then
    Cancel = True
    Me.Undo
    Me.Bookmark = rst.Bookmark
    End If
    End If
    Set rst = Nothing
    End Sub


    Private Sub StrNome_BeforeUpdate(Cancel As Integer)
    Call DetetaDuplicidade
    End Sub


    Private Sub Endereco_BeforeUpdate(Cancel As Integer)
    Call DetetaDuplicidade
    End Sub



    .................................................................................
    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]Registros Duplicados Folder_announce_new Utilize o Sistema de Busca do Fórum...
    [Resolvido]Registros Duplicados Folder_announce_new 102 Códigos VBA Gratuitos...
    [Resolvido]Registros Duplicados Folder_announce_new Instruções SQL como utilizar...
    HARYSOHN
    HARYSOHN
    Maximo VIP
    Maximo VIP

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 12227
    Registrado : 01/03/2011

    [Resolvido]Registros Duplicados Empty Onde Coloco?

    Mensagem  HARYSOHN em 6/4/2011, 14:28

    Coloco toda a instrucão no form?

    ou a funcao Deleta em um módulo?

    Qual a funcção esperada desse comando?

    Quando abre o form ele encontra e deleta automaticamente?
    emitindo a MSG?
    JPaulo
    JPaulo
    Moderador
    Moderador

    Respeito às Regras 100%

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

    [Resolvido]Registros Duplicados Empty Re: [Resolvido]Registros Duplicados

    Mensagem  JPaulo em 6/4/2011, 14:38



    .................................................................................
    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]Registros Duplicados Folder_announce_new Utilize o Sistema de Busca do Fórum...
    [Resolvido]Registros Duplicados Folder_announce_new 102 Códigos VBA Gratuitos...
    [Resolvido]Registros Duplicados Folder_announce_new Instruções SQL como utilizar...
    HARYSOHN
    HARYSOHN
    Maximo VIP
    Maximo VIP

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 12227
    Registrado : 01/03/2011

    [Resolvido]Registros Duplicados Empty Em tempo

    Mensagem  HARYSOHN em 6/4/2011, 14:49

    O meu sistema cadastra detentos e gera um Numero de prontuário FIXo para cada detento...
    Estou usando atualmente a numeracão automatica pra isso.. o incoveniente é que se deletar um registro duplicado...
    não posso mais usar aquela numeracão... Tem como me enviar um exemplo de auto numercao que não seja a do Campo Chave?

    Obrigado
    JPaulo
    JPaulo
    Moderador
    Moderador

    Respeito às Regras 100%

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

    [Resolvido]Registros Duplicados Empty Re: [Resolvido]Registros Duplicados

    Mensagem  JPaulo em 6/4/2011, 14:53

    Amigão, não leve a mal, mas a questão deste tópico está Resolvida, ou seja deteta a duplicidade.

    Nova duvida novo tópico e antes disso dar uma procurada neste fórum, aqui tem muita coisa.


    .................................................................................
    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]Registros Duplicados Folder_announce_new Utilize o Sistema de Busca do Fórum...
    [Resolvido]Registros Duplicados Folder_announce_new 102 Códigos VBA Gratuitos...
    [Resolvido]Registros Duplicados Folder_announce_new Instruções SQL como utilizar...
    HARYSOHN
    HARYSOHN
    Maximo VIP
    Maximo VIP

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 12227
    Registrado : 01/03/2011

    [Resolvido]Registros Duplicados Empty Ok

    Mensagem  HARYSOHN em 6/4/2011, 15:03

    Ok e agradeço pela atenção. mas ainda com relação a esse tópico...
    tem como ele procurar a duplicidade juntos? com os dois campos

    pois como está ele acusa pra um ou (or) para o outro...

    tem como especificar a duplicidade para os dois campos juntos?

    pois pode ocorrer que eu tenha duas pessoas do mesmo nome, mas com endereços diferentes...

    Se puder agradeço
    JPaulo
    JPaulo
    Moderador
    Moderador

    Respeito às Regras 100%

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

    [Resolvido]Registros Duplicados Empty Re: [Resolvido]Registros Duplicados

    Mensagem  JPaulo em 6/4/2011, 15:42

    Claro que sim amigão.

    Mude o OR por AND

    strCriteria = "([StrNome] = '" & Me.strNome & "') OR ([strEndereco] = '" & Me.Endereco & "')"

    strCriteria = "([StrNome] = '" & Me.strNome & "') AND ([strEndereco] = '" & Me.Endereco & "')"


    .................................................................................
    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]Registros Duplicados Folder_announce_new Utilize o Sistema de Busca do Fórum...
    [Resolvido]Registros Duplicados Folder_announce_new 102 Códigos VBA Gratuitos...
    [Resolvido]Registros Duplicados Folder_announce_new Instruções SQL como utilizar...
    HARYSOHN
    HARYSOHN
    Maximo VIP
    Maximo VIP

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 12227
    Registrado : 01/03/2011

    [Resolvido]Registros Duplicados Empty Obrigado

    Mensagem  HARYSOHN em 6/4/2011, 15:44

    Ja tinha feito isto, obrigado pela atencão e ajuda..
    perdoe-me qualquer rata...
    Obrigado e tenha um bom dia

    Harysohn
    JPaulo
    JPaulo
    Moderador
    Moderador

    Respeito às Regras 100%

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

    [Resolvido]Registros Duplicados Empty Re: [Resolvido]Registros Duplicados

    Mensagem  JPaulo em 6/4/2011, 15:45

    Tranquilo, precisando de novo dê um grito.


    .................................................................................
    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]Registros Duplicados Folder_announce_new Utilize o Sistema de Busca do Fórum...
    [Resolvido]Registros Duplicados Folder_announce_new 102 Códigos VBA Gratuitos...
    [Resolvido]Registros Duplicados Folder_announce_new Instruções SQL como utilizar...

    Conteúdo patrocinado

    [Resolvido]Registros Duplicados Empty Re: [Resolvido]Registros Duplicados

    Mensagem  Conteúdo patrocinado


      Data/hora atual: 16/10/2019, 20:48