Access inicio | | | | | |
Olá,
Seja Bem Vindo ao Blog.

Conecte-se ou registre-se e utilize gratuitamente este equipamento, temos exemplos referente a criação de banco de dados e desenvolvimento de softwares e programas utilizando o Microsoft Access.


Administração do Blog AccessDoProgramador.

Validação de campo de preenchimento obrigatório no formulário access

Ver o tópico anterior Ver o tópico seguinte Ir em baixo

12042011

Mensagem 

Validação de campo de preenchimento obrigatório no formulário access






AccessDoProgramador > Validação



Pessoal,

Imagine que você faz um formulário de cadastro e você sente a necessidade de tornar alguns campos de preenchimento obrigatório. Ora, isso sempre foi e sempre será necessário. Veja que é inadmissível um usuário efetuar um cadastro de um cliente em um determinado sistema e este cadastro passar não contendo o nome do cliente. Daí vem a necessidade de minimamente tornar o nome do cliente como campo obrigatório, ou seja, só valida e conclui se este campo estiver preenchido.

Então vamos lá:

Digamos que nosso formulário tenha apenas 3 campos, são eles:

- txtNomeDoCliente
- txtEndereco
- txtTelefone

Agora, desses 3 campos você fala:

"O cadastro só pode ser efetuado se o nome do cliente estiver preenchido!"

Então:

- txtNomeDoCliente (Preenchimento obrigatório)
- txtEndereco (Preenchimento opcional)
- txtTelefone (Preenchimento opcional)

Para isso, podemos aplicar um código em um botão. Vamos chamá-lo de "Salvar"

Assim sendo, quando o usuário apertar o botão Salvar, o código verificará o preenchimento do campo NomeDoCliente. Se o campo estiver preenchido, o sistema emitirá a mensagem "Cadastro salvo com sucesso". Se não estiver preenchido focará o campo e emitirá a mensagem "Nome do cliente é de preenchimento obrigatório"

Abaixo o código, coloque-o no evento ao clicar do botão Salvar
Lembre-se que o que está escrito de verde são comentários, indicado para auxiliar o programador no entendimento do código.
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
If IsNull(Me.txtNomeDoCliente) = True Then

'Caso o nome do cliente não esteja preenchido emite a mensagem abaixo
MsgBox "Nome do cliente é de preenchimento obrigatório", vbInformation, "Atenção"

'Em seguida direciona o foco para o campo que precisa do preenchimento
Me.txtNomeDoCliente.SetFocus

Else

'Se lá acima tudo foi verificado e tudo está conforme o programado, então salva o registro
DoCmd.DoMenuItem acFormBar, acRecordsMenu, acSaveRecord, , acMenuVer70

'Mensagem confirmando o cadastro
MsgBox "Cadastro salvo com sucesso!", vbInformation, "Atenção"

'Fecha o formulário
DoCmd.Close

End If
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Agora você me pergunta:

Digamos que eu queira o telefone como uma informação obrigatória no cadastro?

Eu te respondo:

Simples, basta acrescentar também no código o campo txtTelefone como campo obrigatório.

Usaremos um ElseIf para acrescentar no escopo, veja:

+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
If IsNull(Me.txtNomeDoCliente) = True Then

'Caso o nome do cliente não esteja preenchido emite a mensagem abaixo
MsgBox "Nome do cliente é de preenchimento obrigatório", vbInformation, "Atenção"

'Em seguida direciona o foco para o campo que precisa do preenchimento
Me.txtNomeDoCliente.SetFocus

ElseIf IsNull(Me.txtTelefone) = True Then

'Caso o Telefone não esteja preenchido emite a mensagem abaixo
MsgBox "Telefone é de preenchimento obrigatório", vbInformation, "Atenção"

'Em seguida direciona o foco para o campo que precisa do preenchimento
Me.txtTelefone.SetFocus


Else

'Se lá acima tudo foi verificado e tudo está conforme o programado, então salva o registro
DoCmd.DoMenuItem acFormBar, acRecordsMenu, acSaveRecord, , acMenuVer70

'Mensagem confirmando o cadastro
MsgBox "Cadastro salvo com sucesso!", vbInformation, "Atenção"

'Fecha o formulário
DoCmd.Close

End If
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Galera é isso.

Abaixo dois exemplos, mostrando as duas formas acima descritas:

Download Nome do cliente obrigatório

Download Nome do cliente e Telefone obrigatório

Convidado, você perceberá que não utilizei tabela nestes exemplos, isso porque fizemos validação a nível de campo e não a nível de fonte de registro. Isso é um detalhe que trataremos em futuros, pequenos e breves artigos.

Um forte abraço!


Última edição por Dilson Marcos em Sex 1 Jul 2011 - 19:56, editado 1 vez(es)


avatar
Dilson
Facilitador
Facilitador

Brasil


http://www.dadosweb.com

Voltar ao Topo Ir em baixo

- Tópicos similares
Compartilhar este artigo em: diggdeliciousredditstumbleuponslashdotyahoogooglelive

Validação de campo de preenchimento obrigatório no formulário access :: Comentários

Mensagem em Qua 18 Maio 2011 - 22:00 por ac.mendes

Amigo. no meu formulário tem duas caixas de combinação, seria possível valida-las também?

Voltar ao Topo Ir em baixo

avatar

Mensagem em Qua 18 Maio 2011 - 22:16 por Dilson

Olá ac.mendes, seja bem vindo a esta casa!

Sim é perfeitamente possível.

Veja, funciona da mesma forma, basta que coloque a identificação (nome) da sua caixa de combinação (combobox):

No exemplo acima está assim:
'+++++++++++++++++++++++++++++++++++++++++
ElseIf IsNull(Me.txtTelefone) = True Then

MsgBox "Telefone é de preenchimento obrigatório", vbInformation, "Atenção"

Me.txtTelefone.SetFocus
'+++++++++++++++++++++++++++++++++++++++++

Observe, estude o código e coloque assim:

'+++++++++++++++++++++++++++++++++++++++++++
ElseIf IsNull(Me.SuaCaixaDeCombinação) = True Then

MsgBox "Caro usuário, essa Caixa de combinação é de preenchimento obrigatório", vbInformation, "Atenção"

Me.SuaCaixaDeCombinação.SetFocus
'+++++++++++++++++++++++++++++++++++++++++++

Espero ter ajudado, mas, se ainda restar dúvida referente a esta validação descrita no artigo acima, não hesite em perguntar.

Obrigado por participar do blog!

Voltar ao Topo Ir em baixo

Mensagem em Sex 19 Ago 2011 - 13:46 por wagnerleopoldes

Prezado;

Tentei usar teu codigo com um campo listbox, mas não dá certo tem como incrementar o codigo para que além de campos textos e caixas de combinação, funcione a validação em listas?

Voltar ao Topo Ir em baixo

avatar

Mensagem em Sex 19 Ago 2011 - 17:16 por Dilson

Olá wagnerleopoldes, sinta-se muito bem vindo ao Blog

Amigo, alguma coisa deve estar fazendo mal, pois testei com listbox aqui e funcionou.

Veja como fiz:

ElseIf IsNull(Me.NomeDaSuaListBox) Then
MsgBox "Sua ListBox precisar conter algum valor", vbCritical, "Atenção"
Me.NomeDaSuaListBox.SetFocus

Verifique. Deve colocar o nome da ListBox. Tire a prova qual nome aplicou ao seu código.

A disposição.

Voltar ao Topo Ir em baixo

Mensagem em Seg 22 Ago 2011 - 12:53 por wagnerleopoldes

Prezado;

Funciona em um listbox "não vinculado" que coloquei na tabela as condições, no meu caso os meus listbox são vinculdados a outras tabelas, e acho que por isso esta dando erro ou melhor o codigo ignora os else if que possuem listbox vinculados e vai direto para o fim do codigo.

Voltar ao Topo Ir em baixo

Mensagem em Sex 14 Out 2011 - 16:22 por Alexandre

Amigos, tudo bem!

Sou novo na utilização do Access com VBA.

Preciso de vossa ajuda. Tenho um botão que consolida as informação de determinada cadastro diaáriamente.

Preciso que quando consolidar a data de hoje por exemplo, quando clicar novamente ele não permita me informando que a data já foi consolidada.

Agradeço a todos e aguardo!Very Happy

Voltar ao Topo Ir em baixo

Mensagem em Sex 14 Out 2011 - 16:29 por book

amigo aqui provavelmente não obterá respostas sobre esse seu caso porque sua duvida não tem a ver com o assunto em questão, tá no regulamento do blog. visite um fórum de access e escreva essa sua dúvida: http://www.maximoaccess.maisforum.com

espero ter ajudado

Voltar ao Topo Ir em baixo

Mensagem  por Conteúdo patrocinado

Voltar ao Topo Ir em baixo

Ver o tópico anterior Ver o tópico seguinte Voltar ao Topo


 
Permissão deste fórum:
Você não pode responder aos tópicos neste fórum