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

    [Resolvido]Editar registro específico

    Celso Roberto
    Celso Roberto
    VIP
    VIP


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1076
    Registrado : 01/03/2014

    [Resolvido]Editar registro específico Empty [Resolvido]Editar registro específico

    Mensagem  Celso Roberto 5/10/2017, 22:23

    Olá a todos,

    Estou com mais uma dificuldade e precisando de ajuda.

    Tenho um formulário clientes que no evento do campo CPF_CNPJ verifica após atualizar, se já existe na tabela clientes para evitar duplicidade.

    Quando abre o frmClientes direto e cadastra ou edita um CNPJ igual a um existente, ele verifica corretamento e ai é que vem a dificuldade.

    Este form vai ser chamado através do frmClientesLista no botão Novo ou Editar.

    Quando cria novo cadastro ele verifica corretamente se já existe.
    Agora quando seleciona um cliente na lista e clicar no botão editar ele abre no cliente especifico, mas se eu alterar o CNPJ por um já existente diferente do atual ele não verifica a duplicidade, mas se eu digitar o próprio ele verifica.

    Este é o problema, ele só verifica o do próprio cadastro, se for de outro cadastro exitente ele nã verifica.

    OBS: Já tentei com varios códigos de verificação de duplicidade e também de várias formas de abrir em cliente específico, mas sem resultado.

    Alguém teria alguma sugestão

    Abraços
    Anexos
    [Resolvido]Editar registro específico AttachmentEditarRegistroEspecifico.zip
    Você não tem permissão para fazer download dos arquivos anexados.
    (60 Kb) Baixado 16 vez(es)


    .................................................................................


    Você fica satisfeito ao ter sua dúvida solucionada?.
    Quem te ajuda também fica quando você da o tópico por "Resolvido".
    Veja como neste Link: https://www.maximoaccess.com/t860-resolucao-de-topicos



    A Única coisa que sei é que ainda nada sei, Mas em breve Saberei.....
    JPaulo
    JPaulo
    Moderador
    Moderador


    Respeito às regras : Respeito às Regras 100%

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

    [Resolvido]Editar registro específico Empty Re: [Resolvido]Editar registro específico

    Mensagem  JPaulo 6/10/2017, 16:28

    O que você está a fazer, não está correto.

    As validações de duplicação devem ser sempre no Antes de Atualizar "BeforeUpdate", além disso tem um problema ma mascara;

    Seu Exemplo Aqui

    Código:
    Private Sub CPF_CNPJ_BeforeUpdate(Cancel As Integer)
    Dim rst As DAO.Recordset
    Dim intExiste%
        On Error GoTo TrataErro

        Select Case Len(Me.CPF_CNPJ)
            Case 14  ' É CNPJ
                Me.CPF_CNPJ.InputMask = "00\.000\.000\/0000\-00"
            Case 11  ' É CPF
                Me.CPF_CNPJ.InputMask = "000\.000\.000\-00"
            Case Else ' Não é CNPJ nem CPF
                Me.CPF_CNPJ.InputMask = ""
        End Select

    intExiste = DCount("*", "tblClientes", "[CPF_CNPJ] = '" & Format(Me!CPF_CNPJ, "00\.000\.000\/0000\-00") & "'")

        If intExiste > 0 Then
            'avisa
            If MsgBox("Este documento já esta cadastrado no Cliente de código" & Space(2) & "" _
                & DLookup("[CodCliente]", "tblClientes", "[CPF_CNPJ] = '" & Format(Me!CPF_CNPJ, "00\.000\.000\/0000\-00") & "' And [CPF_CNPJ] = '" & Format(Me!CPF_CNPJ, "00\.000\.000\/0000\-00") & "'") & vbCrLf & "" _
                & "Cadastrado com o nome de" & vbCrLf & "" _
                & DLookup("[NomeCliente]", "tblClientes", "[CPF_CNPJ] = '" & Format(Me!CPF_CNPJ, "00\.000\.000\/0000\-00") & "'") & vbCrLf & "" _
                & "Documento nº" & Space(2) & "" _
                & DLookup("[CPF_CNPJ]", "tblClientes", "[CPF_CNPJ] = '" & Format(Me!CPF_CNPJ, "00\.000\.000\/0000\-00") & "'") & vbCrLf & "" _
                & "Deseja excluir este cadastro e ir para cadastro informado para Conferir ou atualizar dados?", vbYesNo + vbExclamation + vbDefaultButton2, "Confirmação") = vbYes Then
                   
                DoCmd.SetWarnings False
                DoCmd.RunCommand acCmdDeleteRecord
                DoCmd.SetWarnings True
                Me.Refresh
                'Me.Undo
                Me.Bookmark = rst.Bookmark
                Me.CPF_CNPJ.SetFocus
            Else
              Me.Undo
              Me.NomeCliente.SetFocus
            End If
        End If
          ' rst.Close
          ' Set rst = Nothing
    Exit_Trataerro:
            Exit Sub
    TrataErro:
            MsgBox "Erro número: " & Err.Number & " - " & Err.Description & " (" & Me.Name & " - " & Me.ActiveControl.Name & " - BeforeUpdate).", vbCritical, "Titulo"
            Resume Next


    .................................................................................
    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]Editar registro específico Folder_announce_new Utilize o Sistema de Busca do Fórum...
    [Resolvido]Editar registro específico Folder_announce_new 102 Códigos VBA Gratuitos...
    [Resolvido]Editar registro específico Folder_announce_new Instruções SQL como utilizar...
    Celso Roberto
    Celso Roberto
    VIP
    VIP


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1076
    Registrado : 01/03/2014

    [Resolvido]Editar registro específico Empty Re: [Resolvido]Editar registro específico

    Mensagem  Celso Roberto 6/10/2017, 17:55

    Olá JPaulo,
    Obrigado pela atenção

    Este exemplo que anexei é só para teste, por isso deixei só máscara de CNPJ para não dificultar,  no projeto original existe um módulo de validação de CPF/CNPJ e também as formatações de máscara.

    No teu exemplo quan do ele verifica a duplicidade e clicar em não na mensagem, apresenta esta erro

    [Resolvido]Editar registro específico Quando10

    Quando clicar em sim, apresenta este

    [Resolvido]Editar registro específico Quando13

    O que pode ser estes erros?
    Abraços


    .................................................................................


    Você fica satisfeito ao ter sua dúvida solucionada?.
    Quem te ajuda também fica quando você da o tópico por "Resolvido".
    Veja como neste Link: https://www.maximoaccess.com/t860-resolucao-de-topicos



    A Única coisa que sei é que ainda nada sei, Mas em breve Saberei.....
    JPaulo
    JPaulo
    Moderador
    Moderador


    Respeito às regras : Respeito às Regras 100%

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

    [Resolvido]Editar registro específico Empty Re: [Resolvido]Editar registro específico

    Mensagem  JPaulo 6/10/2017, 18:04

    No exemplo, basta você comentar Me.NomeCliente.SetFocus

    Código:
            Else
              Me.Undo
              'Me.NomeCliente.SetFocus
            End If


    .................................................................................
    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]Editar registro específico Folder_announce_new Utilize o Sistema de Busca do Fórum...
    [Resolvido]Editar registro específico Folder_announce_new 102 Códigos VBA Gratuitos...
    [Resolvido]Editar registro específico Folder_announce_new Instruções SQL como utilizar...
    Celso Roberto
    Celso Roberto
    VIP
    VIP


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1076
    Registrado : 01/03/2014

    [Resolvido]Editar registro específico Empty Re: [Resolvido]Editar registro específico

    Mensagem  Celso Roberto 6/10/2017, 19:03

    Olá JPaulo,

    Funcionou na perfeição.

    Outra maneira que encontrei e também funcionou na perfeição com qualquer outro código de verificação de duplicidade, foi o método de abertura do segundo formulário.

    Alterei a chamada do botão Editar para este método

    Código:
    DoCmd.OpenForm "frmClientes"
        DoCmd.GoToControl "CodCliente"
        DoCmd.FindRecord Me!frmClientesSubfrm!CodCliente, , False, , True

    Abraços e obrigado pela sua atenção



    .................................................................................


    Você fica satisfeito ao ter sua dúvida solucionada?.
    Quem te ajuda também fica quando você da o tópico por "Resolvido".
    Veja como neste Link: https://www.maximoaccess.com/t860-resolucao-de-topicos



    A Única coisa que sei é que ainda nada sei, Mas em breve Saberei.....
    JPaulo
    JPaulo
    Moderador
    Moderador


    Respeito às regras : Respeito às Regras 100%

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

    [Resolvido]Editar registro específico Empty Re: [Resolvido]Editar registro específico

    Mensagem  JPaulo 6/10/2017, 21:59

    Fico feliz
    Obrigado pelo retorno o fórum agradece.


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

    Conteúdo patrocinado


    [Resolvido]Editar registro específico Empty Re: [Resolvido]Editar registro específico

    Mensagem  Conteúdo patrocinado


      Data/hora atual: 26/4/2024, 13:44