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]limpar campo após erro

    MarceloF
    MarceloF
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 28
    Registrado : 23/09/2014

    [Resolvido]limpar campo após erro Empty [Resolvido]limpar campo após erro

    Mensagem  MarceloF 23/6/2016, 14:23

    Caros
    Tenho o seguinte código no final da validação do CPF

    ----

    If DVCPF = strDigVer Then
    MsgBox "CPF válido"
    Else
    MsgBox "-----CPF inválido-----", vbCritical
    DoCmd.CancelEvent
    End If
    End Function

    ----
    Gostaria de, ao detectar o CPF como inválido, voltasse para o campo CPF e limpasse o mesmo...
    Já tentei com
    Me.[CPF] = ""

    Com
    CPF.Value=Null

    Não encontrei uma solução.
    Avelino Sampaio
    Avelino Sampaio
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 3900
    Registrado : 04/04/2010

    [Resolvido]limpar campo após erro Empty Re: [Resolvido]limpar campo após erro

    Mensagem  Avelino Sampaio 23/6/2016, 15:17

    Marcelo,

    utilize o evento "antes de atualizar" do campo CPF.  Exemplo:

    Private Sub CPF_BeforeUpdate(Cancel As Integer)
    ...
    ...
    If DVCPF = strDigVer Then
       MsgBox "CPF Inválido..."
       Cancel = True
       CreateObject("Wscript.shell").SendKeys "{esc}"
    End If
    End Sub


    Veja também este meu artigo sobre validação de CPF e CNPJ

    http://www.usandoaccess.com.br/tutoriais/verificar-cpf-e-cnpj.asp?id=1#inicio

    Aguardamos


    .................................................................................
    Vídeos, livros, kit MontaRibbons e acesso vitalício ao site UsandoAcces  
    Clique AQUI e analise o custo beneficio do material oferecido.
    MarceloF
    MarceloF
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 28
    Registrado : 23/09/2014

    [Resolvido]limpar campo após erro Empty Re: [Resolvido]limpar campo após erro

    Mensagem  MarceloF 24/6/2016, 17:12

    Olá Avelino...
    O código que me passou funciona, mas aí cancela o formulário todo.
    Minha situação é a seguinte:
    Tenho os campos mais ou menos assim:
    - Id
    - Contratante
    - DataNasc
    - Endereco
    - ...
    - ...
    - CPF  (aqui valida o cpf)
    - RG
    - ...
    - ...
    - RespContratante
    - RespCPF (aqui também valida o cpf)
    - RespEndereco

    Então, se uso a função que passou, cancela tudo o que já foi preenchido. Eu preciso só que volte ao campo CPF e limpe o CPF que está errado, mas permaneça no mesmo formulário já preenchido com diversos outros dados.
    Hoje tenho isso, mas só avisa que há erro e segue normalmente para o próximo campo.

    If DVCPF = strDigVer Then
    MsgBox "CPF válido"
    Else
    MsgBox "-----CPF inválido-----", vbCritical
    DoCmd.CancelEvent
    End If
    End Function
    (aqui acaba a função de verificação do CPF)
    Silvio
    Silvio
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 5120
    Registrado : 20/04/2011

    [Resolvido]limpar campo após erro Empty Re: [Resolvido]limpar campo após erro

    Mensagem  Silvio 24/6/2016, 17:24

    Se me permitem...

    If DVCPF = strDigVer Then
    MsgBox "CPF válido"
    Else
    MsgBox "-----CPF inválido-----", vbCritical
    DoCmd.CancelEvent
    me.dvcpf.setfocus
    me.dvcfp = ""

    End If
    End Function
    Avelino Sampaio
    Avelino Sampaio
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 3900
    Registrado : 04/04/2010

    [Resolvido]limpar campo após erro Empty Re: [Resolvido]limpar campo após erro

    Mensagem  Avelino Sampaio 24/6/2016, 17:30

    Ok, tente desta forma

    Private Sub CPF_BeforeUpdate(Cancel As Integer)
    ...
    ...
    If DVCPF = strDigVer Then
    MsgBox "CPF Inválido..."
    Cancel = True
    CreateObject("Wscript.shell").SendKeys "{f2}"
    CreateObject("Wscript.shell").SendKeys "{DELETE}"
    End If
    End Sub


    Aguardamos


    .................................................................................
    Vídeos, livros, kit MontaRibbons e acesso vitalício ao site UsandoAcces  
    Clique AQUI e analise o custo beneficio do material oferecido.
    MarceloF
    MarceloF
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 28
    Registrado : 23/09/2014

    [Resolvido]limpar campo após erro Empty Re: [Resolvido]limpar campo após erro

    Mensagem  MarceloF 24/6/2016, 17:33

    Caro Silvio.
    se o nome do campo é CPF
    eu não deveria usar?

    me.cpf.setfocus
    me.cfp = ""


    mas aí não deu certo quanto coloquei ontem.
    Silvio
    Silvio
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 5120
    Registrado : 20/04/2011

    [Resolvido]limpar campo após erro Empty Re: [Resolvido]limpar campo após erro

    Mensagem  Silvio 24/6/2016, 18:05

    Depende do nome que está na folha de propriedades aba outros, campo nome..... do referido campo, pode ser que esteja com outro nome lá.
    Avelino Sampaio
    Avelino Sampaio
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 3900
    Registrado : 04/04/2010

    [Resolvido]limpar campo após erro Empty Re: [Resolvido]limpar campo após erro

    Mensagem  Avelino Sampaio 24/6/2016, 19:12

    Mais uma opção. Use o UNDO para limpar o campo.

    Private Sub CPF_BeforeUpdate(Cancel As Integer)
    ...
    ...
    If DVCPF = strDigVer Then
    MsgBox "CPF Inválido..."
    Cancel = True
    me!Cpf.Undo
    End If
    End Sub


    Sucesso!


    .................................................................................
    Vídeos, livros, kit MontaRibbons e acesso vitalício ao site UsandoAcces  
    Clique AQUI e analise o custo beneficio do material oferecido.
    MarceloF
    MarceloF
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 28
    Registrado : 23/09/2014

    [Resolvido]limpar campo após erro Empty Re: [Resolvido]limpar campo após erro

    Mensagem  MarceloF 27/6/2016, 17:09

    boa tarde, Avelino / Silvio
    Tentei as opções sugeridas.... e nada feito.
    Parece algo simples... e não entendo porque da erro na função Me.
    Hoje à noite vou postar o parte do banco (a tabela e o formulário) para ver se conseguimos chegar a uma solução.
    Grato
    marcelo3092
    marcelo3092
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 298
    Registrado : 19/08/2010

    [Resolvido]limpar campo após erro Empty Limpar campo após erro

    Mensagem  marcelo3092 27/6/2016, 17:48

    Este código funciona certim pasta colocar o código do mestre avelino no modulo que calcula o CPF ou CNPJ no final do código

    CreateObject("Wscript.shell").SendKeys "{f2}"
    CreateObject("Wscript.shell").SendKeys "{DELETE}"

    If DVCPF = strDigVer Then
    MsgBox "CPF válido!", vbInformation, "Sistema Vendas."
    Else
    MsgBox "CPF inválido", vbCritical, "Sistema Vendas."
    DoCmd.CancelEvent
    CreateObject("Wscript.shell").SendKeys "{f2}"
    CreateObject("Wscript.shell").SendKeys "{DELETE}"

    End If

    End Function





    If DVCGC = strDigVer Then
    MsgBox "CNPJ Válido", vbInformation, "Sistema Vendas."
    Else
    MsgBox "CNPJ inválido", vbCritical, "Sistema Vendas."
    DoCmd.CancelEvent
    CreateObject("Wscript.shell").SendKeys "{f2}"
    CreateObject("Wscript.shell").SendKeys "{DELETE}"

    End If
    End Function
    MarceloF
    MarceloF
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 28
    Registrado : 23/09/2014

    [Resolvido]limpar campo após erro Empty Re: [Resolvido]limpar campo após erro

    Mensagem  MarceloF 28/6/2016, 17:38

    Obrigado a todos que me ajudaram.
    Não estou usando o validador de CPF/CNPJ do Avelino, mas consegui adaptar ao código que estou usando.

    Obrigado xará.
    MarceloF
    MarceloF
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 28
    Registrado : 23/09/2014

    [Resolvido]limpar campo após erro Empty Re: [Resolvido]limpar campo após erro

    Mensagem  MarceloF 28/6/2016, 17:39

    Resolvido.

    Conteúdo patrocinado


    [Resolvido]limpar campo após erro Empty Re: [Resolvido]limpar campo após erro

    Mensagem  Conteúdo patrocinado


      Data/hora atual: 8/11/2024, 03:40