Universidade do Access - Curso Completo - Do Básico Até a Criação de Sistemas Profissionais Completos - Passo a Passo
FORMAÇÃO ONLINE COM CERTIFICADO - 13 CURSOS - 574 VÍDEO-AULAS - 63:32 HORAS - CLIQUE AQUI
Você está em: PrincipalArtigosOffice : Vba_access_p8
Quer receber novidades e e-books gratuitos?

Tutorial de Programação VBA – Access – Parte 8 - Estruturas para controle de fluxo em VBA

Objetivos:

Esta é a Parte 8 do Tutorial de Programação VBA no Access. Neste tutorial falarei sobre as estruturas de decisão, utilizadas na programação 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.

Pré-requisitos: Para acompanhar esta lição você deve dominar os conceitos apresentados no seguintes treinamento: "Curso Básico de Access" e no tutorial "Consultas Avançadas no Microsoft Access".

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$ 20,00 para envio através de Download. Para saber como adquirir este curso, Clique Aqui.

Estruturas para controle de fluxo em VBA

Para que possamos criar aplicações com utilidade prática, aplicadas na solução de problemas reais, precisamos poder controlar o fluxo de execução do código VBA. Controlar o fluxa significa sermos capazes de realizar testes e, com base no valor do teste – Verdadeir ou Falso , executar um conjunto diferente de comandos . No VBA, temos diversas “estruturas” que permitem um controle bastante eficaz do fluxo de execução. Nesta parte do tutorial, você aprenderá a utilizar diversas destas estruturas.

Estruturas de decisão

Em um primeiro grupo, temos as chamadas estruturas de decisão. São estruturas que realizam um teste lógico, e executam determinados comandos quando o teste resultar Verdadeiro, ou um conjunto diferente de comandos, quando o teste resultar Falso. Agora passaremos a analisar as estruturas de decisão, disponíveis no VBA.

A estrutura If ... Then

A estrutura If...Then, é uma das estruturas de decisão mais conhecidas. Toda linguagem de programação implementa esta estrutura. É utilizada para executar determinados comandos, caso uma condição seja verdadeira. A forma geral desta estrutura é a seguinte:
If condição/teste Then
Comando1
Comando2
...
Comandon
End IF.
Uma condição é testada, caso a condição seja verdadeira, um ou mais comandos podem ser executados. Considere o exemplo a seguir:

Dim x, y

x=10
y=15

If x<y Then
     MsgBox “x é menor do que y”
End If

Neste exemplo, a mensagem “x é menor do que y”, será exibida, uma vez que o teste x<y é verdadeiro, conforme podemos constatar pelos valores atribuídos as variáveis x e y.

A estrutura If ... Then...Else

A estrutura If...Then...Else, acrescenta mais uma possibilidade a estrutura If...Then. Esta estrutura é utilizada para executar determinados comandos, caso uma condição seja verdadeira, ou um conjunto diferente de comandos, caso a condição seja falsa. A forma geral desta estrutura é a seguinte:

     If condição Then
          Comando1
          Comando2
          ...
          Comandon
     Else
          Comando1
          Comando2
          ...
          Comandon
     End IF


Uma condição é testada, caso a condição seja verdadeira, um determinado comando, ou conjunto de comandos será executado; caso a condição seja falsa, um comando, ou conjunto de comandos diferentes, será executado. Considere o exemplo a seguir:

Dim x, y

x=15
y=10

If x<y Then
     MsgBox “x é menor do que y”
Else
     MsgBox “x é maior do que y”
End If



Neste exemplo, a mensagem “x é maior do que y”, será exibida, uma vez que o teste x<y é falso, conforme podemos constatar pelos valores atribuídos as variáveis x e y.

A estrutura If ... Then...ElseIf...Else

A estrutura If...Then...ElseIf, nos dá uma poder maior, para testarmos diversas possibilidades. É utilizada quando precisamos realizar mais do que um teste lógico. Neste caso, para cada novo teste que se faça necessário, utilizamos um ElseIf adicional. A forma geral desta estrutura é a seguinte:

If condição Then
     Comandos a serem executados, caso a condição seja verdadeira.
          Comando1
          Comando2
          ...
          Comandon
ElseIf condição-2

     Comandos a serem executados, caso a condição2 seja verdadeira.
          Comando1
          Comando2
          ...
          Comandon
ElseIf condição-3

     Comandos a serem executados, caso a condição3 seja verdadeira.
          Comando1
          Comando2
          ...
          Comandon
...

ElseIf condição-n

     Comandos a serem executados, caso a condição n seja verdadeira.
          Comando1
          Comando2
          ...
          Comandon
Else

     Comandos a serem executados, caso nenhuma das condições anteriores seja verdadeira.
          Comando1
          Comando2
          ...
          Comandon
End IF


Uma condição é testada, caso a condição seja verdadeira, um determinado comando, ou conjunto de comandos será executado; caso a condição seja falsa, podemos fazer um segundo teste (condição-2). Caso a segunda condição seja verdadeira, um determinado comando, ou conjunto de comandos será executado, a assim por diante, para n condições. Caso nenhuma das condições seja verdadeira, os comandos após a cláusula Else, serão executados.

Importante: Quando uma das condições for verdadeira, os comandos associados a esta condição serão executados e a estrutura será encerrada, ou seja, as demais condições, não serão mais testadas. Após o encerramento da estrutura, a execução continua com o primeiro comando após o End If.

Considere o exemplo a seguir:

Dim x, y
Dim z, k
Dim w, p

x=35
y=30
z=25
k=20
w=15
p=10

     If x<y Then
          MsgBox “x é menor do que y”
     ElseIf x<z Then
          MsgBox “x é menor do que z”
     ElseIf x<k Then
          MsgBox “x é menor do que k”
     ElseIf x<w Then
          MsgBox “x é menor do que w”
     ElseIf x<p Then
          MsgBox “x é menor do que p”
     Else
          MsgBox “x é o maior dos números”
     End If

Neste exemplo, a mensagem “x é maior dos números”, será exibida, uma vez que todos os testes anteriores falham (pois x é o maior número), com isso somente será executado o último MsgBox, que faz parte do Else.

Mas o que acontece, quando um dos ElseIf é verdadeiro ?

Os teste vão sendo feitos. Quando o teste de um dos ElseIf for verdadeiro, os comandos abaixo do ElseIf verdadeiro, serão executados e o laço será encerrado. Em resumo, quando um dos ElseIf apresentar um teste verdadeiros, os comandos relacionados serão executados, e os demais não serão avaliados, seguindo a execução para o primeiro comando, após o End If.

A estrutura Select...Case

Quando precisamos realizar uma série de testes, é mais eficiente utilizarmos uma única estrutura Select...Case, do que utilizarmos uma série de testes utilizando a estrutura If...Then...ElseIf.

O funcionamento da estrutura Select...Case, é bastante intuitivo.

Considere o exemplo a seguir:

Dim x
x=10

Select Case x
     Case 2
          MsgBox “X vale 2 !”
     Case 4
          MsgBox “X vale 4 !”
     Case 6
          MsgBox “X vale 6 !”
     Case 8
          MsgBox “X vale 8 !”
     Case 10
          MsgBox “X vale 10 !”
     Case Else
          MsgBox “X não é um número par, menor do que 12 ”
End Select



A estrutura Select Case x, vai testar o valor de x. Em cada um dos Case, o valor de x está sendo testado. Quando for encontrado um valor coincidente com o de x, os comandos abaixo deste Case serão executados. No nosso exemplo, o comando MsgBox “X vale 10 !”, abaixo de Case 10, será executado. O comando abaixo do Case Else somente será executado, se todos os testes anteriores falharem.

O uso da estrutura Select...Case, torna o código mais eficiente e de mais fácil leitura.

Conclusão:

Nesta parte do tutorial, falei sobre as estruturas de decisão no código VBA. Você aprendeu sobre a estrutura If...Then e suas variações e também sobre a estrutura Select Case. Na Parte 9, você aprenderá sobre as Estruturas de Repetição.

Nota: Este tutorial foi retirado da apostila da Semana 2, do Curso de Excel 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$ 20,00 para envio através de Download. Para saber como adquirir este curso, Clique Aqui.


você conhece a universidade do access?

Universidade do Access - Curso Completo de Access
com tudo para você dominar o Access - do Básico ao
Avançado - até a Criação de Sistemas Profissionais
Completos - Passo a Passo - Tela a Tela

Capa da Universidade do Access

Aplica-se ao Access 2019, 2016, 2013 e 2010!

13 Cursos - 574 Vídeo-Aulas - 63:32 horas

Para todos os detalhes, acesse:

https://juliobattisti.com.br/universidade-do-access.asp


Outras partes do Tutorial
Parte 1 - Programação com o Microsoft Access - Por que utilizar?
Parte 2 - Aprendendo VBA
Parte 3 - O Ambiente de Programação
Parte 4 - Anatomia dos Módulos do VBA
Parte 5 - Tipos de dados - Declaração e “tipo” de variável
Parte 6 - Fazendo cálculos e comparações com o VBA – Uso de Operadores
Parte 7 - O Escopo das variáveis, no VBA
Parte 8 - Estruturas para controle de fluxo em VBA
Parte 9 - Estruturas de repetição
Parte 10 - Funções, procedimentos e eventos com VBA
Parte 11 - Funções para conversão de tipos
Parte 12 - Funções para tratamento de String
Parte 13 - Funções para tratamento de Data e Hora
Parte 14 - Criando suas próprias funções e procedimentos
Parte 15 - Criando e utilizando Funções Personalizadas
Quer receber novidades e e-books gratuitos?

 
 

Contato: Telefone: (51) 3717-3796 | E-mail: webmaster@juliobattisti.com.br | Whatsapp: (51) 99627-3434

Júlio Battisti Livros e Cursos Ltda | CNPJ: 08.916.484/0001-25 | Rua Vereador Ivo Cláudio Weigel, 537 - Universitário, Santa Cruz do Sul/RS, CEP: 96816-208

Todos os direitos reservados, Júlio Battisti 2001-2025 ®

LIVRO: MACROS E PROGRAMAÇÃO VBA NO EXCEL 2016 - CURSO COMPLETO E PRÁTICO

DOMINE A PROGRAMAÇÃO VBA NO EXCEL - 878 PÁGINAS - CLIQUE AQUI