MaximoAccess

Caro Usuário, não tire as suas duvidas nas Salas de Repositório, abra sempre um novo tópico relacionado, nas salas destinadas para o efeito, como Sala de Tabelas, Consultas, Formulários, Relatórios, Macros, Módulos e VBA.

Obrigado

Administração do MaximoAccess

Dicas Ms Access, Exemplos Ms Access, Codigos VBA Ms Access, SQL Ms Access

    [Resolvido]Código para validar valores em um campo de formulario

    Compartilhe

    eduarte
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 31
    Registrado : 27/09/2013

    [Resolvido]Código para validar valores em um campo de formulario

    Mensagem  eduarte em Sab 30 Jan 2016, 13:14

    Bom dia, amigos

    Tenho um BD no qual no campo [Disciplina] devo inserir apenas 0 ou 1. Fiz uma regra de validação direto na tabela e quando tento entrar com outro valor diferente de 0 ou 1 a mensagem é exibida, "Digite apenas 0 ou 1 para este campo". Porém quando abro o formulário através de um MenuControle que criei para facilitar a navegação entre os objetos do banco, simplesmente a caixa com o texto de validação não aparece. Gostaria de criar um código para colocar na propriedade do campo [Disciplina] no evento/Ao Sair para validar esses valores.

    Grato, desde já.

    formiga10x
    Super Avançado
    Super Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 731
    Registrado : 10/09/2013

    Re: [Resolvido]Código para validar valores em um campo de formulario

    Mensagem  formiga10x em Sab 30 Jan 2016, 13:52

    Coloque:
    if me.minhaTextbox <> 0 or me.minhaTextbox <> 1 then
    msgbox("Digite apenas 0 ou 1 para este campo"), vbCritical, "***Título***"
    me.minhaTextox =""
    exit sub
    end if


    .................................................................................
    Abraço
    Formiga10x

    Sempre que possível poste o bd ou parte dele, com uma explicação bem clara e objetiva do que quer.
    “Um homem não está acabado quando enfrenta a derrota. Ele está acabado quando desiste - Richard Nixon”
    Formiga10x

    "Lembro do exato momento em que me dei conta que boa parte de minha vida foi dedicada a localizar erros em meus próprios programas."
    - Maurice Vicent Wilkes

    eduarte
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 31
    Registrado : 27/09/2013

    Código para validar valores em um campo de formulario

    Mensagem  eduarte em Seg 01 Fev 2016, 15:43

    Amigo, obrigado pela resposta, porém como sou leigo em VB não entendi a parte "***Título***" e me.minhaTextox ="".
    Baseado em um código que já utilizo para não deixar o campo data em branco, tentei adaptá-lo para esta situação nova para aceitar apenas 0 ou 1 no campo [Indisciplina], só que quando entro com o nº 1 ou com o nº 0 a mensagem continua aparecendo, ou seja não funcionou.
    Exemplo:
    If (Me.ActiveControl) <> 0 Or (Me.ActiveControl) <> 1 Then
    DoCmd.CancelEvent
    MsgBox "Digite apenas 0 ou 1 para este campo...", vbCritical
    End If
    End Sub

    Quero testar o seu exemplo, porém preciso saber o que devo digitar dentro das haspas e o Título se refere ao título de que?
    Obg.

    formiga10x
    Super Avançado
    Super Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 731
    Registrado : 10/09/2013

    Re: [Resolvido]Código para validar valores em um campo de formulario

    Mensagem  formiga10x em Ter 02 Fev 2016, 00:02

    Olá.
    ***Titulo*** é anda mais que o título da msgbox.
    minhaTextbox é o nome da sua caixa de texto.

    Código:
    Private Sub minhaTextbox_GotFocus()
    If Me.minhaTextbox = 0 Or Me.minhaTextbox = 1 Then

    MsgBox ("Número Aceito!"), vbInformation, "***Título***"

    Else

    MsgBox ("Digite apenas 0 ou 1 para este campo"), vbCritical, "***Título***"
    Me.minhaTextbox = ""
    Exit Sub
    End If

    End Sub
    Anexos
    exemplo.zip
    Você não tem permissão para fazer download dos arquivos anexados.
    (22 Kb) Baixado 8 vez(es)


    .................................................................................
    Abraço
    Formiga10x

    Sempre que possível poste o bd ou parte dele, com uma explicação bem clara e objetiva do que quer.
    “Um homem não está acabado quando enfrenta a derrota. Ele está acabado quando desiste - Richard Nixon”
    Formiga10x

    "Lembro do exato momento em que me dei conta que boa parte de minha vida foi dedicada a localizar erros em meus próprios programas."
    - Maurice Vicent Wilkes

    eduarte
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 31
    Registrado : 27/09/2013

    Código para validar valores em um campo de formulario

    Mensagem  eduarte em Qua 03 Fev 2016, 16:52

    Olá, gente
    formiga10x,

    Fiz umas alterações no código e ficou assim:

    Private Sub Indisciplina_Exit(Cancel As Integer)
    If Indisciplina = 0 Or Indisciplina = 1 Then
    MsgBox ("Número Aceito!"), vbInformation, "ATENÇÃO!"
    Else
    DoCmd.CancelEvent
    MsgBox ("Digite apenas 0 ou 1 para este campo"), vbCritical, "ATENÇÃO!"
    End If
    End Sub

    Agora está funcionando, porém gostaria de fazer uma pequena alteração:
    Em vez de mostrar a mensagem MsgBox ("Número Aceito!"), vbInformation, "ATENÇÃO!" toda vez que digitar o número certo gostaria de ir direto para a próxima Textbox que é [Nao_Tarefas].

    Tentei fazer o código abaixo, substituindo a msg de 'Numero Aceito' por GoTo Nao_Tarefas (Nao_Tarefas é a textbox seguinte), porém deu erro de compilação, Rótulo não definido.

    Private Sub Indisciplina_Exit(Cancel As Integer)
    If Indisciplina = 0 Or Indisciplina = 1 Then
    GoTo Nao_Tarefas
    Else
    DoCmd.CancelEvent
    MsgBox ("Digite apenas 0 ou 1 para este campo"), vbCritical, "ATENÇÃO!"
    End If
    End Sub

    Poderia me dizer onde estou errando?
    Valeu!

    formiga10x
    Super Avançado
    Super Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 731
    Registrado : 10/09/2013

    Re: [Resolvido]Código para validar valores em um campo de formulario

    Mensagem  formiga10x em Qua 03 Fev 2016, 20:38

    Altere para "Ao Alterar" a propriedade do evento e:

    Código:
    Private Sub minhaTextbox_Change()
    If Indisciplina.Text = 0 Or Indisciplina.Text = 1 Then
    Nao_Tarefas.SetFocus
    Else
    MsgBox ("Digite apenas 0 ou 1 para este campo"), vbCritical, "ATENÇÃO!"
    End If
    End Sub


    .................................................................................
    Abraço
    Formiga10x

    Sempre que possível poste o bd ou parte dele, com uma explicação bem clara e objetiva do que quer.
    “Um homem não está acabado quando enfrenta a derrota. Ele está acabado quando desiste - Richard Nixon”
    Formiga10x

    "Lembro do exato momento em que me dei conta que boa parte de minha vida foi dedicada a localizar erros em meus próprios programas."
    - Maurice Vicent Wilkes

    eduarte
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 31
    Registrado : 27/09/2013

    Código para validar valores em um campo de formulario

    Mensagem  eduarte em Qui 04 Fev 2016, 11:41

    Ok.
    Deu certo.
    Muito obrigado.

    Um abraço.

      Data/hora atual: Seg 05 Dez 2016, 01:21