Desenvolvimento - Office
Tutorial de Programação VBA - Access - Parte 5
Neste tutorial falarei sobre o tipo de dados e sobre declaração de variáveis no VBA.
por Júlio Cesar Fabris BattistiEsta é a Parte 5 do Tutorial de Programação VBA no Access. Neste tutorial falarei sobre o tipo de dados e sobre declaração de variáveis no VBA. O objetivo desta série de tutoriais é mostrar como utilizar a programação VBA para solucionar problemas complexos no Access, problemas que muitas vezes não tem como ser resolvidos sem o uso de programação.
Nota: Este tutorial foi retirado da apostila da Semana 2, do Curso de Access Avançado e VBA. Você pode adquirir os três arquivos, com todo o conteúdo deste curso, em um total de 550 páginas de conteúdo, com exemplos detalhados, passo-a-passo, por apenas R$ 10,00 para envio através de Download ou por R$ 15,00 para envio através de CD. Para saber como adquirir este curso, Clique Aqui.
Tipos de dados - Declaração e "tipo" de variável:
Uma variável é um espaço na memória do computador, reservado para armazenar um ou mais valores. Fazemos referência a este espaço utilizando nomes. Como o valor armazenado pode variar, a medida que o código VBA é executado e cálculos são efetuados, estas estruturas são chamadas de variáveis.
No VBA, a declaração de variáveis não é obrigatória. Porém é recomendável que declaremos todas as variáveis, de tal forma que o código fique mais claro e de fácil compreensão. Para declararmos uma variável, utilizamos o comando Dim, conforem exemplificado abaixo:
Dim x
Dim nome
Dim teste
Neste caso estamos apenas declarando o nome da variável, sem declarar de que tipo (texto, inteiro, data, etc) é a variável. Uma variável declarada sem tipo é considerada do tipo Variant, o que na prática significa que a variável pode conter qualquer tipo de valor. Pode parecer uma prática interessante a não declaração do tipo da variável, porém isso é altamente desaconselhável. Se não declararmos o tipo, conforme descrito anteriormente, a variável poderá conter qualquer valor. Neste caso o que impede de um campo numérico conter valores de texto ou vice-versa??
Nota: Para exemplificar os diversos comandos básicos da linguagem VBA, vamos utilizar o um formulário de Teste. Para cada comando que será exemplificado, crie um novo botão de comando e atribua, ao evento Ao clicar do botão, o código do Exemplo. Para facilitar o estudo, nomeie o botão com um nome relacionado com o exemplo que este representa. Por exemplo, ao criar o botão para exemplificar o uso de operadores aritméticos, chame este botão de ExOperAritméticos. Para maiores informações sobre como criar código associado ao evento Ao clicar de um botão, consulte o Curso de Access Avançado e VBA.
O formato geral para o comando Dim é:
Dim nome_da_variável As tipo_da_variável
Também podemos declarar mais do que uma variável, com um único comando Dim. Para isto, basta separar as variáveis, com vírgula, conforme exemplificado abaixo:
Dim x,y,z As String
Dim nome as Double
Dim teste1, teste2 As Integer
IMPORTANTE: Observe que definimos o "tipo" de cada variável. O Tipo define quais dados podem ser armazenados em uma variável. Por exemplo, variáveis que armazenam valores numéricos, não devem aceitar caracteres de texto. Variáveis que armazenam datas, não devem aceitar datas inválidas, como por exemplo 30/02/2001. Toda variável no VBA, é do tipo Variant, isto significa que a variável pode ser de qualquer tipo. O que define o tipo da variável é o valor que está armazenado no momento. Existem funções que conversão de tipo, conforme veremos mais adiante.
Também podemos utilizar variáveis que não foram, explicitamente, declaradas com o comando Dim. Com isso, a variável é criada na memória, no momento da sua utilização. Para fazer com que toda variável tenha que ser, explicitamente, declarada, antes de ser utilizada, devemos utilizar o seguinte comando na seção de declarações do módulo:
Option Explicit
Ao colocarmos este comando na seção de declarações do módulo, estamos definindo que toda variável deve ser declarada, antes de ser utilizada em uma expressão. Se tentarmos utilizar uma variável não declarada, será gerado um erro de compilação. Falaremos mais sobre erros e o tratamento de erros, em uma das próximas partes deste tutorial
Na Listagem 1, temos um exemplo simples de utilização de variáveis não declaradas explicitamente.
Listagem 1 - Utilização de variáveis não declaradas.
Dim a As Integer Dim b As Integer a=5 b=2 c=a+b Msgbox "A variável C vale: " & c
Ao tentarmos executar este código, tendo sido definida a opção "Option Explicit", obteremos a mensagem de erro indicada na próxima figura. Este erro acontece porque tentamos utilizar uma variável c, variável esta que não foi declarada.
O tipo Variant é formado de pequenas unidades, chamadas subtipos. Cada subtipo, identifica de que maneira os dados são armazenados em uma variável do tipo Variant Por exemplo, variáveis do subtipo Integer são armazenadas de uma maneira diferente de variáveis do subtipo Long. Na Tabela a seguir temos uma descrição dos principais subtipos.
Tabela - Subtipos do tipo Variant
Subtipo | Descrição |
Empty | O Valor é zero para variáveis numéricas ou uma String de tamanho zero (" "), para variáveis de texto. |
Null | A variável não contém dados válidos. |
Boolean | Contém variáveis que somente podem assumir dois valores:Verdadeiro ou Falso (True ou False). |
Byte | Valor inteiro, na faixa de 0 até 255. |
Integer | Valor inteiro, na faixa de -32768 até 32767. |
Currency | Valores na faixa de -923.337.203.685.447,5808 até 922.337.203.685.447,5807 |
Long | Valor inteiro, na faixa de -2.147.483.648 até 2.147.483.647. |
Date(Time) | É um número que representa a data entre 01 de Janeiro do ano 100, até 31 de Dezembro de 9999 (Olha o bug do ano 10000 chegando). |
String | Texto de tamanho variável, pode conter, aproximadamente, 2 bilhões de caracteres. |
Object | Pode conter um objeto qualquer, como um Controle Activex, ou um Objeto COM+ |
Error | Pode conter um número de erro. |
Conclusão:
Nessa quinta parte do tutorial, falei sobre o conceito de variáveis, declaração de variáveis e o uso do comando Dim. Também falei sobre tipos de variáveis e subtipos do tipo Variant. Você também aprendeu que a declaração Option Explicit, pode ser utilizada na seção de declarações do módulo, para fazer com que seja obrigatória a declaração das variáveis.
Nota: Este tutorial foi retirado da apostila da Semana 2, do Curso de Access Avançado e VBA. Você pode adquirir os três arquivos, com todo o conteúdo deste curso, em um total de 550 páginas de conteúdo, com exemplos detalhados, passo-a-passo, por apenas R$ 10,00 para envio através de Download ou por R$ 15,00 para envio através de CD. Para saber como adquirir este curso, Clique Aqui.
- Data Bars para MS-AccessAccess
- Funcionalidades do Office usando Visual Studio for Office – Parte 3C#
- Funcionalidades do Office usando Visual Studio for Office - Parte 2C#
- Estenda as funcionalidades do Office com o Visual Studio for OfficeC#
- Como evitar processos pendurados na automação do ExcelOffice