MaximoAccess

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

Obrigado

Administração do MaximoAccess

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

    [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 : 11
    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 : 372
    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 : 11
    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 : 11
    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 : 189
    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 : 11
    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 : 189
    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

      Data/hora atual: 25/9/2020, 10:47