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]Limpar Campos de um Formulário Setados Com Comprimento Zero: Não

    avatar
    byFonseca
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 8
    Registrado : 27/02/2018

    [Resolvido]Limpar Campos de um Formulário Setados Com Comprimento Zero: Não Empty [Resolvido]Limpar Campos de um Formulário Setados Com Comprimento Zero: Não

    Mensagem  byFonseca em 20/11/2019, 15:18

    Colegas, Bom dia.

    Pesquisei no fórum e em outros locais, mas infelizmente não consegui solucionar esse meu problema.

    Tenho uma tabela para cadastro de usuários com campos definidos para não permitir valores nulos. Logo, o atributo "Permitir Comprimento Zero = Não".

    No formulário estou tentando usar um comando para limpar os campos e a seguinte mensagem é exibida:

    Erro em tempo de execução '-2147352567 (80020009)'
    O campo 'tbl.usuario.CPF' não pode ser uma cadeia de comprimento nulo


    Comando utilizado:
    Me.txt_cpf = ""

    Alguém teria uma possível solução?

    Desde já agradeço,
    FranklinJSP
    FranklinJSP
    Avançado
    Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Anónimo
    Mensagens : 312
    Registrado : 25/02/2016

    [Resolvido]Limpar Campos de um Formulário Setados Com Comprimento Zero: Não Empty Re: [Resolvido]Limpar Campos de um Formulário Setados Com Comprimento Zero: Não

    Mensagem  FranklinJSP em 20/11/2019, 16:32

    Bom día

    Tenta assim:

    Código:
    Me.txt_cpf = Null

    Saludos


    .................................................................................
    Meu Português não é muito bom,
    mas eu gosto de colaborar... em qualquer idioma
    Smile "Access... minha paixão"
    avatar
    byFonseca
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 8
    Registrado : 27/02/2018

    [Resolvido]Limpar Campos de um Formulário Setados Com Comprimento Zero: Não Empty Re: [Resolvido]Limpar Campos de um Formulário Setados Com Comprimento Zero: Não

    Mensagem  byFonseca em 20/11/2019, 16:53

    Olá, FranklinJSP. Boa tarde.

    Já tentei também esta opção.
    A únida diferença é que ele muda a mensagem de erro

    Erro em tempo de execução '-2147352567 (80020009)'
    Você deve digitar um valor no campo 'tbl.usuario.CPF'





    avatar
    byFonseca
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 8
    Registrado : 27/02/2018

    [Resolvido]Limpar Campos de um Formulário Setados Com Comprimento Zero: Não Empty Re: [Resolvido]Limpar Campos de um Formulário Setados Com Comprimento Zero: Não

    Mensagem  byFonseca em 20/11/2019, 19:38

    Meu objetivo na verdade é não permitir que valores vazios sejam gravados na tabela.

    Tentei agora realizar a validação pelo código: (código inserido no botão [SALVAR])

    Código:

    If Me.txt_cpf = "" Then
       MsgBox "O campo CPF está vazio. Favor Verifique!!!", vbInformation, "Checar Campos"
       Cancel = True
       Me.txt_cpf.SetFocus
    Exit Sub
    End If

    If Me.txt_nome = "" Then
    MsgBox "O campo NOME está vazio. Favor Verifique!!!", vbInformation, "Checar Campos"
        Cancel = True
        Me.txt_nome.SetFocus
    Exit Sub
    End If

    If Me.txt_perfil = "" Then
       MsgBox "O campo PERFIL está vazio. Favor Verifique!!!", vbInformation, "Checar Campos"
       Cancel = True
       Me.txt_perfil.SetFocus
    Exit Sub
    End If

    If Me.txt_unidade = "" Then
      MsgBox "O campo UNIDADE está vazio. Favor Verifique!!!", vbInformation, "Checar Campos"
      Cancel = True
      Me.txt_unidade.SetFocus
    Exit Sub
    End If

    If Me.txt_senha = "" Then
       MsgBox "O campo SENHA está vazio. Favor Verifique!!!", vbInformation, "Checar Campos"
       Cancel = True
       Me.txt_senha.SetFocus
    Exit Sub
    End If

    If (Not IsNull(DLookup("[txt_cpf]", "tbl_usuario", "[CPF] ='" & Me!txt_cpf & "'"))) Then
       MsgBox "O CPF já está cadastrado no sistema. Favor Verificar!!", vbExclamation, "Mensagem"
       Cancel = True
       txt_cpf.SetFocus
    Else
        
    'salvar dados na tabela
       DoCmd.RunCommand acCmdSaveRecord
       msg = MsgBox("Registro salvo com Sucesso!", vbExclamation + vbOKOnly + vbDefaultButton2, "Mensagem")
        
       'Desativar campos após salvar
         Me.txt_cpf.Enabled = False
         Me.txt_nome.Enabled = False
         Me.txt_perfil.Enabled = False
         Me.txt_unidade.Enabled = False
         Me.txt_senha.Enabled = False

    End If

    Quando digito na sequência (um campo após o outro) e vou fazendo a validação, ele faz os devidos alertas. Porém, se digitar e apagar o CPF (por exemplo) e clicar em salvar, ele permite a gravação na tabela.

    Podem verificar se encontram algum erro no código?
    Já tentei também com a função "isNull" e também não deu certo
    avatar
    delsonk
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 163
    Registrado : 26/11/2013

    [Resolvido]Limpar Campos de um Formulário Setados Com Comprimento Zero: Não Empty Re: [Resolvido]Limpar Campos de um Formulário Setados Com Comprimento Zero: Não

    Mensagem  delsonk em 20/11/2019, 19:55

    Boa tarde!

    Veja bem: um campo Null é diferente de um campo vazio.
    Exemplo
    MyVar = ""
    MyCheck = IsNull(MyVar)   ' Retorna False.

    Abraço, Delson
    avatar
    byFonseca
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 8
    Registrado : 27/02/2018

    [Resolvido]Limpar Campos de um Formulário Setados Com Comprimento Zero: Não Empty Re: [Resolvido]Limpar Campos de um Formulário Setados Com Comprimento Zero: Não

    Mensagem  byFonseca em 20/11/2019, 20:08

    Olá, delsonk. Boa tarde.

    Valeu pela dica. Realmente não tinha me atentado a essa diferença.

    Realizei algumas modificações no código e consegui realizar a validação dos campos em branco!
    avatar
    delsonk
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 163
    Registrado : 26/11/2013

    [Resolvido]Limpar Campos de um Formulário Setados Com Comprimento Zero: Não Empty Re: [Resolvido]Limpar Campos de um Formulário Setados Com Comprimento Zero: Não

    Mensagem  delsonk em 21/11/2019, 13:57

    O fórum agradece o retorno.

    Delson

    Conteúdo patrocinado

    [Resolvido]Limpar Campos de um Formulário Setados Com Comprimento Zero: Não Empty Re: [Resolvido]Limpar Campos de um Formulário Setados Com Comprimento Zero: Não

    Mensagem  Conteúdo patrocinado


      Data/hora atual: 7/12/2019, 21:40