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

    Registro Duplicado

    avatar
    LUIZF
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 24
    Registrado : 13/01/2010

    Registro Duplicado Empty Registro Duplicado

    Mensagem  LUIZF 27/2/2010, 18:30

    Saudaçoes a todos.

    Tenho o codigo abaixo que me retorna registro duplicado, no telefone1. O que eu preciso, é que a pesquisa seja feita em dois campos telefone1 e telefone2 nao só no telefone1.

    Agradeço a quem possa me ajudar.

    Private Sub TELEFONE1_BeforeUpdate(Cancel As Integer)
    On Error GoTo 1
    Dim TABELA As Recordset
    Set TABELA = Me.RecordsetClone
    With TABELA
    .FindFirst "TELEFONE1='" & Me.TELEFONE1 & "'"

    If Not .NoMatch Then
    If MsgBox("Existe cliente cadastrado com este telefone!" & Chr(10) + Chr(13) & "Deseja encontra-lo?", vbYesNo + vbInformation, "Atenção") = vbYes Then
    Cancel = True
    Me.Undo
    Me.Bookmark = .Bookmark
    End If
    End If
    End With
    Set TABELA = Nothing
    1:
    Exit Sub
    End Sub
    JPaulo
    JPaulo
    Moderador
    Moderador


    Respeito às regras : Respeito às Regras 100%

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

    Registro Duplicado Empty Re: Registro Duplicado

    Mensagem  JPaulo 1/3/2010, 11:14

    Minha modesta opinião;

    Se você tem dois numeros de telefone é porque tem dois campos, então é o simples;

    Private Sub TELEFONE1_BeforeUpdate(Cancel As Integer)
    On Error GoTo 1
    Dim TABELA As Recordset
    Set TABELA = Me.RecordsetClone
    With TABELA
    .FindFirst "TELEFONE1='" & Me.TELEFONE1 & "'"

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

    Private Sub TELEFONE2_BeforeUpdate(Cancel As Integer)
    On Error GoTo 1
    Dim TABELA As Recordset
    Set TABELA = Me.RecordsetClone
    With TABELA
    .FindFirst "TELEFONE2='" & Me.TELEFONE2 & "'"

    If Not .NoMatch Then
    If MsgBox("Existe cliente cadastrado com este telefone!" & Chr(10) + Chr(13) & "Deseja encontra-lo?", vbYesNo + vbInformation, "Atenção") = vbYes Then
    Cancel = True
    Me.Undo
    Me.Bookmark = .Bookmark
    End If
    End If
    End With
    Set TABELA = Nothing
    1:
    Exit Sub
    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

    Registro Duplicado Folder_announce_new Utilize o Sistema de Busca do Fórum...
    Registro Duplicado Folder_announce_new 102 Códigos VBA Gratuitos...
    Registro Duplicado Folder_announce_new Instruções SQL como utilizar...
    avatar
    LUIZF
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 24
    Registrado : 13/01/2010

    Registro Duplicado Empty Re: Registro Duplicado

    Mensagem  LUIZF 2/3/2010, 03:51

    Grato pela atençao JPaulo.

    Desculpa mas acho que nao fui claro em minha pergunta vou tentar melhorar.

    É o seguinte tenho realmente os campos tel 1 e tel 2, o que eu preciso é quando atualizar o telefone1 ele avise caso exista telefone repetido tanto nos registros do telefone1 quanto nos registros telefone2 ou seja a pesquisa tem que ser feita em ambos os campos ao mesmo tempo.

    Private Sub TELEFONE1_BeforeUpdate(Cancel As Integer)
    On Error GoTo 1
    Dim TABELA As Recordset
    Set TABELA = Me.RecordsetClone
    With TABELA
    .FindFirst "TELEFONE1='" & Me.TELEFONE1 & "'" or Me.TELEFONE2

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

    Abraços :
    JPaulo
    JPaulo
    Moderador
    Moderador


    Respeito às regras : Respeito às Regras 100%

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

    Registro Duplicado Empty Re: Registro Duplicado

    Mensagem  JPaulo 2/3/2010, 08:43

    Entendi na perfeição o que você pretende Luiz;

    Mas diga-me:

    Na hora de você digitar o tel1, o tel2 está vazio certo ?

    Então se você está no TELEFONE1_BeforeUpdate ele cheka se o tel1 já existe, mas se não existir passa para o tel2, quando digitar o tel2, não é o TELEFONE1_BeforeUpdate que vai chekar se o tel2 existe, certo ?

    Então nunca dará para fazer como você quer, amigo.


    .................................................................................
    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

    Registro Duplicado Folder_announce_new Utilize o Sistema de Busca do Fórum...
    Registro Duplicado Folder_announce_new 102 Códigos VBA Gratuitos...
    Registro Duplicado Folder_announce_new Instruções SQL como utilizar...
    avatar
    LUIZF
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 24
    Registrado : 13/01/2010

    Registro Duplicado Empty Re: Registro Duplicado

    Mensagem  LUIZF 3/3/2010, 03:41

    ola JPaulo

    Sim o telefone2 esta vazio.

    Vou tentar encontrar alguma outra maneira onde seja feita uma pesquisa em dois campos diferentes afim que me traga registro ja lançado?

    Valeu JPaulo agradeço por sua atençao, abraço.
    JPaulo
    JPaulo
    Moderador
    Moderador


    Respeito às regras : Respeito às Regras 100%

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

    Registro Duplicado Empty Re: Registro Duplicado

    Mensagem  JPaulo 3/3/2010, 11:20

    Bom dia Luiz;

    Hoje com mais tempo, fiz-lhe estas linhas de código, veja se serve para si:

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

    strCriteria = "([TELEFONE1] = '" & Me.TELEFONE1 & "') OR ([TELEFONE2] = '" & Me.TELEFONE2 & "')"

    Set rst = Me.RecordsetClone
    rst.FindFirst strCriteria

    If rst.NoMatch Then
    Exit Sub
    Else
    If MsgBox("Existe cliente cadastrado com este telefone!" & 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 TELEFONE1_BeforeUpdate(Cancel As Integer)
    Call DetetaDuplicidade
    End Sub

    Private Sub TELEFONE2_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

    Registro Duplicado Folder_announce_new Utilize o Sistema de Busca do Fórum...
    Registro Duplicado Folder_announce_new 102 Códigos VBA Gratuitos...
    Registro Duplicado Folder_announce_new Instruções SQL como utilizar...
    avatar
    LUIZF
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 24
    Registrado : 13/01/2010

    Registro Duplicado Empty Re: Registro Duplicado

    Mensagem  LUIZF 3/3/2010, 15:46

    Ola JPaulo tudo bem.

    Tentei utilizar seu exemplo mas nao deu certo pois sempre que é inserido um telefone novo ele acusa que o mesmo ja existe.

    Estou disponibilizando parte do bd caso vc tenha tempo de dar uma olhada agradeço.

    http://www.4shared.com/file/233546575/fcb25de4/Clientes_.html

    grato.
    JPaulo
    JPaulo
    Moderador
    Moderador


    Respeito às regras : Respeito às Regras 100%

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

    Registro Duplicado Empty Re: Registro Duplicado

    Mensagem  JPaulo 3/3/2010, 16:14

    Amigão não pude testar no seu banco, porque as tabelas são vinculadas.

    No entanto teste, mas atenção que eu fiz como se fossem campos Texto na tabela e não numero;

    http://dl.dropbox.com/u/771097/Clientes_OLD.rar


    .................................................................................
    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

    Registro Duplicado Folder_announce_new Utilize o Sistema de Busca do Fórum...
    Registro Duplicado Folder_announce_new 102 Códigos VBA Gratuitos...
    Registro Duplicado Folder_announce_new Instruções SQL como utilizar...
    avatar
    LUIZF
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 24
    Registrado : 13/01/2010

    Registro Duplicado Empty Re: Registro Duplicado

    Mensagem  LUIZF 4/3/2010, 04:03

    Caro JPaulo tudo bem, realmente te mandei por descuido com as tabelas vinculada, testei o que me enviou mas ainda não deu certo.
    - Quando entro com dados no telefone1 ele apenas retorna se houver duplicado apenas no tel1 no tel2 nao.
    - Quando localiza tel duplicado, acaba por toda vez quwe insere tel1 ou tel2 a enviar mensagem de ter locazizado duplicado mesmo nao tendo duplicado.

    http://www.4shared.com/file/233897752/afd6cea1/Clientes_OLD.html

    Se tiver um tempo da uma olhada.

    Grato pela atençao.
    JPaulo
    JPaulo
    Moderador
    Moderador


    Respeito às regras : Respeito às Regras 100%

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

    Registro Duplicado Empty Re: Registro Duplicado

    Mensagem  JPaulo 4/3/2010, 08:22

    Amigão testei neste ultimo exemplo e não vejo qualquer problema, funfa na perfeição.

    Introduzi um registro novo, digitei no tel1 5555-5555 e acusou duplicidade, na mensagem eu disse que queria que mostra-se e devolveu.

    Introduzi novamente um novo, no tel1 digitei 1234-5678 e passou para o tel2, digitei 3333-3333 e acusou, eu pressionei o Ok na mensagem e devolveu.

    Tudo funcionou beleza.


    .................................................................................
    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

    Registro Duplicado Folder_announce_new Utilize o Sistema de Busca do Fórum...
    Registro Duplicado Folder_announce_new 102 Códigos VBA Gratuitos...
    Registro Duplicado Folder_announce_new Instruções SQL como utilizar...
    avatar
    LUIZF
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 24
    Registrado : 13/01/2010

    Registro Duplicado Empty Re: Registro Duplicado

    Mensagem  LUIZF 5/3/2010, 23:23

    ola JPaulo Tudo bem.

    Realmente desta forma que testou em um novo cadastro funciona perfeitamente, exceto se introduzir em um novo cadastro por exemplo no tel1 3333-3333 e este nº ja encontrar-se cadastrado no tel2 em um cadastro antigo nao me devolve nada.

    Ja a mensagem se repete quando tento alterar o telefone em um cadastro antigo.


    Muito Obrigado amigo.
    JPaulo
    JPaulo
    Moderador
    Moderador


    Respeito às regras : Respeito às Regras 100%

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

    Registro Duplicado Empty Re: Registro Duplicado

    Mensagem  JPaulo 7/3/2010, 12:43

    Bom Dia Luiz;

    Quanto ao alterar um existente, resolvido abaixo.

    Quanto ao mostrar um registro já existente no TEL2, tendo sido detetado no TEL1, não mostrará mesmo, uma vez que o código se encontrar igual devolve pelo Me.Bookmark = rst.Bookmark

    Public Sub DetetaDuplicidade()
    'By JPaulo ®️ Maximo Access
    Dim rst As DAO.Recordset
    Dim strCriteria As String
    On Error Resume Next
    strCriteria = "([TELEFONE1] = '" & Me.TELEFONE1 & "') OR ([TELEFONE2] = '" & Me.TELEFONE2 & "')"

    Set rst = Me.RecordsetClone
    rst.FindFirst strCriteria

    If Me.ActiveControl.OldValue <> Me.ActiveControl.Value Then
    If rst.NoMatch Then
    Exit Sub
    End If
    Else
    If MsgBox("Existe cliente cadastrado com este telefone!" & 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


    .................................................................................
    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

    Registro Duplicado Folder_announce_new Utilize o Sistema de Busca do Fórum...
    Registro Duplicado Folder_announce_new 102 Códigos VBA Gratuitos...
    Registro Duplicado Folder_announce_new Instruções SQL como utilizar...
    avatar
    LUIZF
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 24
    Registrado : 13/01/2010

    Registro Duplicado Empty Re: Registro Duplicado

    Mensagem  LUIZF 8/3/2010, 01:58

    Ok JPaulo entendi, agradeço por toda sua atençao.

    Um abraço.

    Conteúdo patrocinado


    Registro Duplicado Empty Re: Registro Duplicado

    Mensagem  Conteúdo patrocinado


      Data/hora atual: 23/11/2024, 18:18