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 Battisti



Objetivos:

Esta é 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

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.
Neste exemplo utilizamos os operadores aritméticos, para realizar uma série de operações com os valores atribuídos às variáveis "a" e "b". Depois utilizamos a função MsgBox, para exibir os resultados obtidos. O uso da função MsgBox, merece alguns comentários. Primeiro, utilizamos a função MsgBox, para exibir mensagens em uma pequena janela, chamada de Janela Pop-Up. Podemos exibir texto e também valores de variáveis. Quando temos que exibir diversos componentes, como um pouco de texto, em seguida o valor de uma variável, depois mais texto, e assim por diante, devemos utilizar o operador de concatenação &. Este operador permite que as diversas partes sejam exibidas como uma única mensagem. Considere o exemplo da seguinte linha de código:

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.

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.

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.

Júlio Cesar Fabris Battisti

Júlio Cesar Fabris Battisti