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_p7
Quer receber novidades e e-books gratuitos?

Tutorial de Programação VBA – Access – Parte 7 - O Escopo das variáveis, no VBA

Objetivos:

Esta é a Parte 7 do Tutorial de Programação VBA no Access. Neste tutorial falarei sobre o conceito de Escopo 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.

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.

O Escopo das variáveis, no VBA

O escopo de uma variável, define em que partes do código a variável pode ser utilizada. Em VBA, podemos ter os seguintes escopos para as variáveis:
  • Escopo de Módulo: Uma variável declarada dentro de um Múdulo de código VBA, mas fora de qualquer Procedimento (ou seja, na seção Geral do módulo). Com isso a variável pode ser utilizada dentro de qualquer bloco de código do Módulo, inclusive dentro dos Procedimentos e funções do módulo. Uma variável declarada em nível de Módulo, existe enquanto o Módulo estiver sendo executado. São as variáveis declaradas na seção de Declarações do Módulo. Uma variável declarada em nível de Módulo, poderá ser utilizada em todos os procedimentos/funções do módulo.


  • Escopo de procedimento: A variável somente pode ser utilizada, dentro do procedimento onde esta é declarada. Se tentarmos utilizar a variável fora do procedimento, onde a ela foi declarada, não teremos acesso a ela. Uma variável declarada em nível de procedimento, existe enquanto o procedimento estiver sendo executado.
  • NOTA= Um procedimento é um bloco de código que pode ser chamado em qualquer ponto do Módulo. Ao chamarmos um procedimento, a execução é deslocada para dentro do procedimento. Após concluído o procedimento, a execução segue com a linha seguinte à que chamou o procedimento. Veremos maiores detalhes sobre procedimentos e funções nas próximas partes deste tutorial.

    Vamos a um exemplo prático, para entendermos melhor este conceito de escopo de uma variável.

    Exemplo: Vamos ir para o modo Estrutura do formulário Teste, do banco de dados Nwind.mdb e criar um botão chamado ExEscopo. Lembre-se de que você pode utilizar qualquer formulário, de qualquer banco de dados disponível, para acompanhar este exemplo. Vamos criar um procedimento associado a esse botão, onde exemplificamos o conceito de escopo de variáveis.

    Para criar o exemplo proposto siga os passos indicados a seguir:
  • Abra o banco de dados nwind.mdb que está na pasta Semana2.

  • Vá para o modo estrutura do formulário Teste.

  • Crie um botão de comando com o nome de ExEscopo.

  • Associe o seguinte código ao evento Ao Clicar, deste botão de comando:


  • Dim a,b As Integer

    x=10
    x=20

    Call proc1
    ' Agora vamos tentar utilizar os valores de a e b
    ' Fora do procedimento proc1.
    ' Observe que a variável aux1 não é calculada
    ' corretamente, uma vez que os valores de a e b
    ' não estão disponíveis, fora do procedimento proc1

    Aux1 = a + b
    MsgBox "aux1= " & Aux1

  • O comando Call faz o chamado ao procedimento proc1. Este procedimento deve ser definido no mesmo módulo, caso contrário um erro será gerado. Ao encontrar esse comando o Access desloca a execução para o procedimento proc1, executa os comandos deste procedimento e após encerrar continua a execução a partir do comando seguinte ao comando Call.

  • Vá para a seção de Declarações do módulo e declare as seguintes variávies:


  • Dim x, y,aux1 As Integer

  • Para deslocar-se, rapidamente para a seção de Declarações, utilize a lista indicada na figura a seguir. Nesta lista selecione a opção (Geral).




  • Agora vamos criar o procedimento proc1, procedimento este que é chamado no evento Ao clicar do botão ExEscopo.

  • Vá para o final do módulo e digite o seguinte código:


  • ' Agora vamos criar um procedimento
    ' E declarar duas variáveis dentro deste procedimento.
    ' Estas variáveis somente serão visíveis somente,
    ' dentro deste procedimento.

    Sub proc1()
        Dim a, b
        a=5
        b=7
        MsgBox "x= " & x & " y= " & y & " a= " & a & " b= " & b
    End Sub

  • Feche o Ambiente de Desenvolvimento.

  • Vá para o modo formulário.

  • Dê um clique no botão ExEscopo.

  • Será exibida a janela indicada na Figura a seguir:




  • Dê um clique no botão OK. Será exibida a janela indicada na figura a seguir:




  • Observe que o valor da variável aux1 (foi calculado incorretamente), pois a variável aux1 depende dos valores de "a" e "b". Como as variáveis a e b foram declaradas dentro do procedimento proc1, elas não podem ser acessadas fora do procedimento proc1, ou seja, após a execução do procedimento ter sido encerrada.

  • Dê um clique no botão OK.

  • Mantenha o formulário Teste aberto.

  • Vá para o modo Estrutura do formulário Teste.
  • Com esse exemplo, foi possível verificar, na prática, o conceito de escopo (algumas vezes chamado de visibilidade) das variáveis. Nas próximas partes do tutorial, tratarei das Estruturas e laços de controle, que são elementos muito importantes na criação de rotinas em VBA.

    Conclusão:

    Nessa sétima parte do tutorial, falei sobre o conceito de Escopo de Variáveis. Você aprendeu que existe o Escopo de Módulo e o Escopo de Procedimento. Também apresentei um exemplo prático, para ilustrar o conceito de Escopo de Variáveis.

    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-2024 ®

    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