Desenvolvimento - Office
Tutorial de Programação VBA – Access – Parte 6
Esta é a Parte 6 do Tutorial de Programação VBA no Access. Neste tutorial falarei sobre operadores aritméticos e de comparação.
por Júlio Cesar Fabris BattistiEsta é a Parte 6 do Tutorial de Programação VBA no Access. Neste tutorial falarei sobre operadores aritméticos e de comparação. Durante o tutorial eu peço para você abrir um banco de dados, abrir um formulário no modo estrutura e criar o código do exemplo. Você pode utilizar qualquer banco de dados disponível Eu sugiro que você utilize o banco de dados de Exemplo - Northwind.mdb, o qual é fornecido juntamente com o Microsoft Access. Dentro do Northwind.mdb, você pode utilizar qualquer formulário, como por exemplo Clientes, Fornecedores ou Produtos.
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.
Fazendo cálculos e comparações com o VBA - Uso de Operadores:
Para realizarmos cálculos e comparações entre variáveis, utilizamos operadores. Neste item trataremos sobre operadores aritméticos e operadores de comparação.
Fazendo cálculos com os Operadores aritméticos:
Podemos realizar cálculos no VBA, utilizamos operadores aritméticos. Na Tabela a seguir, temos uma descrição dos operadores aritméticos utilizados no VBA:
TABELA - Operadores Aritméticos do VBA
Operador | Símbolo | Descrição |
Adição | + | Soma o valor de duas ou mais variáveis. |
Subtração | - | Subtração entre duas ou mais variáveis. |
Multiplicação | * | Multiplica os valores de duas ou mais variáveis. |
Divisão | / | Divide o valor de duas ou mais variáveis. |
Inteiro da Divisão entre dois números | \ | Retorna a parte inteira, da divisão entre dois números. |
Exponenciação | ^ | x^y -> É o valor do número x, elevado na potência y |
Modulo | Mod | Retorna o resto de uma divisão de 2 números. |
Exemplo: Vamos abrir o formulário Teste, do banco de dados Nwind.mdb e criar um botão chamado ExOperadores. Lembre-se, você pode utilizar qualquer formulário, de qualquer banco de dados disponível. Depois vamos criar um procedimento associado ao evento Ao Clicar deste botão, onde exemplificarei o uso dos diversos operadores aritméticos.
Para criar o exemplo proposto, siga os passos indicados a seguir:
- Abra o banco de dados nwind.mdb que está na pasta Semana2.
- Abra, o formulário Teste no modo Estrutura.
- Crie um botão de comando com o nome de ExOperadores.
- Associe o seguinte código ao evento Ao abrir, deste botão de comando:
Dim a As Integer Dim b As Integer Dim som, subtr, divis, mult, intdivs, expo, modul As Double a=25 b=3 som=a+b subtr=a-b divis=a/b mult=a*b intdivs=a\b expo=a^b modul= a mod b "Uso de MsgBox para exibir os resultados. MsgBox "Os números são: " & a & " e " & b & Chr(13) MsgBox "Soma: " & som & Chr(13)& "Subtração: " & subtr & Chr(13) MsgBox "Divisão: " & divis & Chr(13)& "Multiplicação: " & mult & Chr(13) MsgBox "Divisão inteira: " & intdivs & Chr(13)& "Exponenciação: " & expo & Chr(13) MsgBox "Resto da divisão: " & modul
- Após digitar o código Feche o Ambiente de Desenvolvimento.
- Salve o Formulário.
- Vá para o modo Formulário e dê um clique no botão "ExOperadores".
- Será exibida a seguinte mensagem:
- Dê um clique no botão OK.
- Será exibida a seguinte mensagem:
- Dê um clique no botão OK.
- Será exibida a seguinte mensagem:
- Dê um clique no botão OK.
- Será exibida a seguinte mensagem:
- Dê um clique no botão OK.
- Será exibida a seguinte mensagem:
- Dê um clique no botão OK.
- Você estará de volta ao formulário Teste.
- Mantenha este formulário carregado. Iremos utilizá-lo nos próximos exemplos.
MsgBox "Os números são: " & a & " e " & b & Chr(13)
Neste exemplo, primeiro é exibido o texto: "Os números são:" , logo em seguida o valor da variável a. Observe que as duas partes são concatenadas com o operador &. Depois concatenamos o valor da variável b, e finalmente utilizamos a função Chr(13). A função Chr(número), envia o caracter correspondente ao número digitado entre parênteses. Este número, é o número do caracter no padrão ASCII (American Standard Caracter Interchange Information). No código ASCII, cada caracter possui um número associado. No caso o número 13, é associado ao <ENTER>. Com isso estamos enviando um <ENTER>, para a caixa de mensagem, o que equivale a uma troca de linha. Com isso, utilizamos o Chr(13), para simular um <ENTER>, de tal maneira que os dados não saiam todos "emendados", na mesma linha.
Com o uso de operadores, podemos realizar uma série de operações sobre as variáveis existentes em módulo de código do VBA.
Comparando valores com os Operadores de comparação:
Em determinadas situações, existe a necessidade de efetuarmos comparações entre os valores de duas ou mais variáveis ou expressões. Com base no resultado da comparação - Verdadeiro ou Falso -, a execução do código VBA pode seguir caminhos diferentes. Normalmente utilizamos comparações, nas estruturas de controle do código, também conhecidas como laços de controle (laçoes estes que serão estudados, em detalhes, em uma das próximas partes deste tutorial). Para que possamos estudar os operadores de comparação, vamos apresentar uma das estruturas de controle mais simples que existem no VBA, a estrutura If Then Else. Abaixo temos um exemplo do funcionamento da estrutura If Then Else:
If x>y Then " Comandos a serem executados quando x for maior do que y Comando 1 Comando 2 ... Comando n Else " Comandos a serem executados quando x for menor ou igual a y Comando 1 Comando 2 ... Comando n End If
Conforme podemos ver, a estrutura If Then Else, é bastante simples. Fazemos um teste no início da estrutura. Se o valor do teste for verdadeiro, executamos os comandos na seqüência, caso contrário, executamos os comandos após o Else. Note que utilizamos o operador de comparação "maior do que: >", no caso x>y, estamos testando se x é maior do que y.
Podemos utilizar laços If Then Else mais complexos, como os do exemplo:
If x>y Then " Comandos a serem executados quando x for maior do que y Comando 1 Comando 2 ... Comando n ElseIf x=y Then " Comandos a serem executados quando x for igual a y Comando 1 Comando 2 ... Comando n Else " Comandos a serem executados quando x for menor do que y Comando 1 Comando 2 ... Comando n End If
Podemos utilizar tantos ElseIf, quantos forem necessários.
Na Tabela a seguir temos uma descrição dos operadores de comparação do VBA.
Tabela - Operadores de comparação do VBA.
Operador | Símbolo | Descrição |
Igualdade | = | É igual à. |
Diferente | <> | É diferente de. |
Maior que | > | É maior do que. |
Menor que | < | É menor do que. |
Maior ou igual a | >= | É maior ou igual a. |
Menor ou igual a | <= | É menor ou igual a. |
Exemplo: Vamos ir para o modo Estrutura do formulário Teste, do banco de dados Nwind.mdb e criar um botão chamado ExOperadoresComparação. Lembre-se que você pode utilizazar qualquer formulário, de qualquer banco de dados disponível. Vamos criar um procedimento associado ao evento Ao Clicar deste botão, onde exemplificamos o uso dos diversos operadores de comparação do VBA. Para criar o exemplo proposto, siga os passos indicados a seguir:
- Vá para o modo estrutura do formulário Teste.
- Crie um botão de comando com o nome de ExOperadoresComparação.
- Associe o seguinte código ao evento Ao abrir, deste botão de comando:
Dim x,y,z,k As Integer x=12 y=15 z=20 k=15 If x<y Then MsgBox "x é menor do que y." Else MsgBox "x é maior do que y." End If If y<x Then MsgBox "Y é menor do que x" Else MsgBox "Y é maior do que x" End If If y<=k Then MsgBox "y é menor ou igual à k" Else MsgBox "Y é maior do que k" End If If x<>y Then MsgBox "x e y são diferentes" End If
- Após digitar o código Feche o Ambiente de Desenvolvimento.
- Salve o Formulário.
- Vá para o modo Formulário e dê um clique no botão "ExOperadoresAritméticos".
- Será exibida a seguinte mensagem:
- Dê um clique no botão OK.
- Será exibida a seguinte mensagem:
- Dê um clique no botão OK.
- Será exibida a seguinte mensagem:
- Dê um clique no botão OK.
- Será exibida a seguinte mensagem:
- Dê um clique no botão OK.
- Você estará de volta ao formulário teste.
O uso de Operadores de comparação, amplia o leque de possibilidades para nossos programas em VBA. Devemos ter alguns cuidados quando comparamos variáveis que possuem valores de tipos diferentes, como por exemplo, número e texto. A Tabela a seguir descreve o que acontece, quando comparamos variáveis com valores de tipos diferentes.
Tabela - Comparando valores de tipos diferentes.
Comparação | Resultado |
Entre duas variáveis com valores numéricos. | Comparação normal. |
Entre duas variáveis com valors do tipo texto. | É efetuada uma comparação entre valores de texto. Por exemplo Xuxa é maior do que Abel (X vem depois do A). |
Uma das variáveis possui um valor numérico e outra possui um valor de texto | O valor numérico será sempre considerado menor do que o valor de texto. |
Uma das variáveis possui um valor numérico e a outra está vazia. | Efetua uma comparação numérica, atribuindo 0 (zero) para a variável vazia. |
Uma variável possui um valor de texto e a outra está vazia, sem valor. | Efetua uma comparação de texto, atribuindo texto de comprimento zero (" ")para a variável vazia. |
As duas variáveis possuem um valor vazio. | São consideradas iguais. |
Com a utilização dos operadores aritméticos e de comparação, ampliamos bastante o leque de opções, na criação de códigos com o VBA. No Parte 7, veremos alguns detalhes sobre "Escopo" de variáveis.
Conclusão:
Nessa sexta parte do tutorial, falei sobre elementos fundamentais da linguagem VBA - Operadores. Tratei sobre operadores aritméticos e operadores de comparação. Os operadores são utilizados em qualquer exemplo de código VBA. Não é possível fazer cálculos e testes de comparação entre variáveis, sem o uso de operadores.
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