Cursos com Garantia de Aprendizado
Todos os cursos da CompuClass têm Garantia de Aprendizado
Todos os cursos da CompuClass tem Garantia de Aprendizado. Essa garantia significa que o aluno pode refazer uma aula ou o curso inteiro sem nenhum custo caso haja necessidade ...

Leia Mais

Atendimento a Empresas
Atendimento diferenciado para empresas. Oferecemos cursos de informatica personalizados incompany
A CompuClass oferece um atendimento diferenciado para as empresas. O motivo é muito simples, as empresas não procuram simplesmente um curso de informática, elas procuram ...

Leia Mais

CompuClass - Cursos de Informatica
Escola Microsoft Certified Partner
A CompuClass, há 12 anos é um Microsoft Certified Partner, um centro de treinamento certificado Microsoft.

E o que isso significa para você? Qualidade e a Garantia de estar participando de cursos desenvolvidos pelos melhores profissionais do mercado...

Leia Mais



Unidade PAULISTA
Al. Santos, 1293 - 9° andar
Jd. Paulista - São Paulo-SP
Tel: 3284-7388
 
   
VALIDANDO FORMULÁRIOS DO VBA

Muitas vezes, desejamos controlar o que o usuário digita em um formulário do VBA, para evitar que erros aconteçam mais adiante ou para assegurar que a informação armazenada pelo sistema é confiável.

Vejamos o formulário a seguir:



Podemos criar três regras para este formulário:

1. O campo “Cliente” deve estar sempre preenchido;
2. O campo “Data” deve estar preenchido com uma data válida;
3. O campo “Unidades Compradas” deve estar preenchido com valores numéricos.

A primeira forma de validar isso, seria no momento em que o usuário clicar no botão OK, antes de qualquer instrução para que esses dados sejam gravados em uma planilha ou em um banco de dados.

EVENTO CLICK



No entanto, essa solução não impede que a pessoa digite valores incorretos: ela só fica sabendo que errou e só faz a correção no final.

EVENTO BEFOREUPDATE

Outra solução é fazer a validação assim que o usuário sair do campo. Para isso, usamos o evento BeforeUpdate de cada objeto.



Este evento acontece toda vez que o usuário deixa o campo e o seu valor é alterado. Veja que esta validação não impede, por exemplo, que os usuários passem pelo campo e deixem-nos vazios. A mensagem de preenchimento obrigatório para o campo Cliente só será exibida se o campo for preenchido e, depois, o usuário voltar ao campo e apagá-lo. Assim, é melhor manter aquela validação que havíamos escrito para o botão OK.

EVENTO EXIT

Uma solução é substituir o evento BeforeUpdate pelo evento Exit, que ocorre quando o usuário sair do campo. Nesse caso, não é preciso que o valor do campo tenha sido atualizado para que o evento aconteça.



Isto, é claro, não impede o usuário de clicar diretamente no botão OK sem passar por todos campos. Mais uma vez é preciso manter a validação feita no botão OK.

EVENTO KEYPRESS

Uma outra forma de fazer a validação é impedir que o usuário digite caracteres inválidos. Podemos bloquear o campo txtData para que só aceite números e a barra “/” e o campo txtUnidadesCompradas para que aceite apenas números. Isto se faz com o evento KeyPress, que é acionado assim que uma tecla é pressionada.

O evento KeyPress informa qual o código ASCII da tecla que foi pressionada. Lembre-se de que, para cada caractere que digitamos, existe um código ASCII correspondente. Comparando esse código (dado por KeyAscii) com o código ASCII dos números e da barra (“/”), podemos descobrir que tipo de caractere foi digitado e executar as instruções necessárias.

Para que não tenhamos que saber de cor o código ASCII de cada tecla, utilizamos a função Asc, do VBA, que retorna o código ASCII. Por exemplo, em vez de utilizarmos o valor 47, que é o código ASCII da barra (“/”), escrevemos Asc(“/”) em lugar do número. Em vez de escrevermos 57, que é o código ASCII do número 9, utilizamos a função Asc: Asc(9).



Isto impede que o usuário digite valores indesejados, mas não impede que:

1. ele deixe um campo em branco e passe direto para o campo seguinte;
2. ele crie valores inválidos para a data, usando combinações equivocadas de números e barras, como “25//8/58699”.

Por isso, é interessante manter aquela validação no botão OK, de qualquer modo. Na verdade, o que fazemos é combinar as formas de validação que vimos aqui: no momento da digitação (KeyPress), na saída do campo (Exit ou BeforeUpdate) e na finalização do preenchimento (evento Click no botão OK).

É importante considerar todas as possibilidades de erro e nos assegurarmos de que todas elas são cobertas pelas validações que utilizamos, impedindo que o programa cause erros em tempo de execução, erros lógicos causados por dados inseridos de modo incorreto e que informações indevidas sejam armazenadas, comprometendo a confiabilidade do seu sistema.

Júlio -- 27/3/2008


Home A Escola Cursos Preços Promoções Calendário Endereço Contato Matricula
Copyright © 2010 by CompuClass Informática

Outros Links:

ESCOLA DE INFORMÁTICA - CURSO DE OFFICE - CURSO DE EXCEL - CURSO DE WORD - CURSO DE ACCESS
CURSO DE POWERPOINT - CURSO DE PROJECT - CURSO DE OUTLOOK - CURSO DE REDES & CABEAMENTO
CURSO DE HARDWARE - CURSO DE MATEMÁTICA FINANCEIRA - CURSO DE HTML & CSS - CURSO DE JAVASCRIPT & JQUERY
CURSO DE ASP - CURSO DE PHP - CURSO DE LÓGICA DE PROGRAMAÇÃO - CURSO DE WINDOWS SERVER
CURSO DE SQL SERVER - BÁSICOS E AVANÇADOS - GARANTIA DE APRENDIZADO - CURSOS PARA EMPRESAS
CURSOS IN-COMPANY - ESCOLA DE INFORMATICA - MICROSOFT CERTIFIED PARTNER - COMPUCLASS INFORMÁTICA