AS EMPRESAS ESTÃO "DESESPERADAS" POR ESTE TIPO DE PROFISSIONAL... - VOCÊ É UM DELES?

MEGA FORMAÇÃO EM INFRAESTRUTURA DE TI - O Conhecimento que Vira Dinheiro - CLIQUE AQUI

Você está em: PrincipalArtigosAccess 2007 Avançado › Capítulo 1 : 15
Quer receber novidades e e-books gratuitos?
« Anterior Δ Página principal ¤ Índice Próxima »

Curso Grátis - Access 2007 Avançado, Macros e Programação VBA
Autor: Júlio Battisti
Lição 15 - Capítulo 01 - Visual Basic for Applications - VBA - Parte 2

A utilização de Macros em conjunto com Formulários e Relatórios nos oferece um grande número de opções na busca por soluções para os problemas mais comuns, no uso do Microsoft Access 2007. Porém existem situações em que, por mais que saibamos utilizar todos os recursos, a utilização de macros não é capaz de solucionar o problema proposto. Nestas situações temos que utilizar programação.

A linguagem de programação utilizada pelo Microsoft Access 2007 é o VBA - Visual Basic for Applications. Conforme veremos a partir de agora esta é uma linguagem, ao mesmo tempo, extremamente simples e poderosa. Com o VBA temos acesso completo a todos os elementos de todos os objetos de um banco de dados. Com código VBA podemos criar uma rotina para validação do dígito verificador de um campo CPF, CNPJ ou de um campo NúmeroDoProcesso; podemos criar código que percorre todas as linhas de uma tabela, alterando os valores de um ou mais campos, com base em uma ou mais condições, podemos automatizar rotinas para importação e exportação de dados e, inclusive executar macros.

No decorrer deste tópico você aprederá os fundamentos básicos da linguagem VBA. Também será resolvido alguns problemas práticos para ver o código VBA em funcionamento.Você também aprenderá a utilizar o ambiente de desenvilvimento do Microsoft Access 2007. Verá sobre Objetos, Propriedades, Métodos e Coleções.

Nesta introdução a linguagem VBA, trataremos dos seguintes assuntos:

1. Programação com o Microsoft Access 2007.
2. Introdução a linguagem VBA - Visual Basic For Applications.
3. Aprendendo VBA:

  • Uma visão geral.
  • O Ambiente de Programação.
  • Anatomia dos Módulos do VBA.
  • Tipos de dados.
  • Variáveis.
  • Escopo de Variáveis.
  • Estruturas de controle, etc.

4. Exercícios e Exemplos.
5. Funções e procedimentos.
6. O exemplo do cálculo do DV do CPF e do CNPJ.
7. Funções de Data e Hora.
 8. O Exemplo da função MêsPorExtenso().

Programação com o Microsoft Access 2007 - Por que utilizar?

O VBA nos oferece possibilidades de controle e personalização para criar aplicativos que vão além das ações de macro.
O VBA é uma linguagem de programação interna do Microsoft Access 2007 (na prática é a linguagem de programação para todos os aplicativos do Office: Access, Word, Excel e Power Point). Usamos o VBA pelo mesmo motivo que utilizamos macros - para automatizar tarefas e rotinas repetitivas, envolvendo os diversos elementos do banco de dados (tabelas, consultas, formulários, relatórios, folhas de dados, macros e módulos). No entanto, o VBA oferece maior poder e controle mais detalhado do que as ações de macro.

Na prática as ações de macro duplicam as operações que podemos realizar manualmente, usando menus e teclas de atalho. O VBA vai além da simples automação de seqüências de ações. Ele oferece um conjunto de ferramentas que lhe permite criar aplicações personalizadas com base nos elementos do Microsoft Access 2007 e nos objetos dos bancos de dados do Access. Por exemplo, podemos criar uma rotina em VBA em um banco de dados chamado local.mdb. Esta rotina pode acessar dados em um segundo banco de dados que está na rede, por exemplo, pagamentos.mdb. A mesma rotina além de acessar os dados pode fazer cálculos, consolidações, gerar os resultados no formato de uma planilha do Excel e salvar a planilha na rede. Este é apenas um pequeno exemplo do que pode ser feito como o VBA.

Vantagens em utilizarmos o VBA:

Já utilizamos macros e aprendemos a automatizar algumas tarefas como a aplicação de filtros em formulários, sincronização de formulários, etc. O VBA apresenta, em relação as macros, as seguintes vantagens:

  • Acessando um ou mais conjuntos de registros: Com ações de macros estamos limitados a operar com o registro ou com o conjunto de registros atualmente sendo exibido em um formulário, relatório ou consulta. O VBA lhe permite trabalhar com qualquer conjunto de registros no banco de dados ativo (arquivo .mdb que você está trabalhando) ou em outras banco de dados.
  • Manipulação de objetos: O VBA oferece métodos de criação e modificação dos objetos de um banco de dados do Microsoft Access 2007. Chamamos de objeto qualquer elemento do Microsoft Access 2007, por exemplo: uma tabela, uma consulta, um formulário, relatório, etc. Por exemplo, poderíamos usar o VBA para acessar um conjunto determinado de registros, através da execução de um comando SQL para a geração de um objeto do tipo RecordSet. Você aprenderá o objeto RecordSet detalhadamente no decorrer deste curso.
  • Criação de funções definidas pelo usuário: Este é um dos maiores benefícios do VBA. Podemos criar funções que executam cálculos repetitivos. Por exemplo, vários formulários podem conter um campo CPF ou CNPJ. Poderíamos criar, em cada formulário, o código necessário para a validação do DV do CPF ou CNPJ. Porém este procedimento não é o mais indicado, pois além da duplicação do código necessário a validação, teríamos dificuldades para fazer atualizações neste código, pois cada alteração necessária terá que ser feita em vários locais. O ideal é criarmos uma função para validação do DV (uma função deve ser criada dentro de um módulo. Trataremos disso mais adiante.). Em cada formulário, onde for necessário, chamamos a função, passando o valor do campo CPF como parâmetro. A função calcula o DV e retorna o resultado para o formulário. Desta maneira precisamos criar uma única função. Quando forem necessárias alterações, basta alterar a função (em um único local, ou seja, no módulo onde a função foi criada) e todos os formulários passarão a utilizar a versão atualizada da função.
  • Definição de condições e controle de fluxo: O VBA oferece uma variedade de comandos e estruturas para a realização de testes condicionais e para a repetição de um conjunto de comandos. Aprenderemos a utilizar todas as estruturas de controle de fluxo e testes condicionais, mais adiante.
  • Realização de cálculos complexos e solução de problemas que envolvem uma lógica complexa: Com macros é impossível a realização de cálculas mais complexos. Também não é possível a resolução de problemas que envolvem uma lógica complexa, como por exemplo cálculo do imposto de renda, recolhimentos de tributos, etc.

Introdução a linguagem VBA - Visual Basic For Applications.

O VBA é derivado do Visual Basic. O Visual Basic é um ambiente de desenvolvimento completo, onde podemos criar programas para o ambiente Windows. Um programa como o Programa Gerador - Pessoa Física pode ser criado utilizando-se o Visual Basic. Um aplicativo como o SIEF também poderia ser criado utilizando o Visual Basic. Já o VBA é uma linguagem bastante poderosa, embora não seja tão poderosa quanto o Visual Basic, para criação de aplicativos e automação de tarefas, baseados nos aplicativos do Microsoft Office 2007: Access, Word, Excel, Power Point e Outlook.

Onde podemos utilizar o VBA?

Existem, basicamente, duas situações/locais diferentes onde podemos utilizar o VBA:

  • Como resposta a um evento: Conforme descrito anteriormente, o modelo de programação do ambiente Windows é baseado em Eventos. Um Evento é uma ação do usuário ao utilizar o teclado ou o mouse. Por exemplo, quando o usuário clica em um botão de comando é gerado o evento "Ao clicar" associado com este botão. Quando o usuário altera o valor em um campo de dados e pressiona a tecla TAB para ir para o próximo campo são gerados dois eventos associados com o campo que foi atualizado: "Após atualizar" e "Ao perder o foco". Quando o usuário dá um clique duplo em um determinado elemento, é disparado o evento "Ao clicar duas vezes", e assim por diante. Por padrão nenhuma ação é programada para responder aos eventos que são disparados. Conforme já vimos anteriormente é possível criar macros que serão executadas em resposta a um determinado evento. Podemos utilizar o VBA para criar um procedimento (um procedimento é formado por um ou mais comandos) que será executado em resposta ao evento. Por exemplo, podemos criar um procedimento para validar um número de CPF (calcular o DV do CPF). Este procedimento pode ser configurado para ser executado em resposta ao evento Após atualizar do campo CPF. O código criado para ser executado em resposta a um evento, é gravada juntamente com o formulário (ou relatório), onde está o elemento que dispara o evento.
  • Criação de funções e procedimentos em módulos separados: Se quisermos criar procedimentos ou funções que não estejam ligados a um evento específico em um formulário ou relatório (podendo, porém serem chamados em diversos eventos diferentes, conforme aprenderemos mais adiante), podemos criar funções gravadas em Módulos do Access. Um Módulo é um objeto do Access cuja única finalidade é armazenar código de procedimentos e funções do VBA. Quando um procedimento ou função é definido e armazenado em um módulo, podemos usá-lo em qualquer expressão, como se fosse uma função interna do Microsoft Access 2007. Nós criaremos, mais adiante, a título de exemplo, uma função chamada MêsPorExtenso. Esta função receberá um valor numérico entre 1 e 12 e irá retornar o nome do mês correspondente, por extenso.

Agora que já falei bastante e fiz uma boa prapaganda das vantagens em se utilizar o VBA, é hora de aprendermos os fundamentos básicos desta linguagem de programação.

Aprendendo VBA:

Um procedimento, função ou módulo do VBA é uma seqüência de comandos que são executados para a realização de uma ou mais tarefas. Por exemplo, posso escrever um grupo de comandos que acessa os dados da tabela pedidos e aumenta o valor de um determinado campo de acordo com determinadas condições.Observe o comando a seguir:

Me![NúmeroDoPedido].SetFocus

Este é um comando que, simplesmente, coloca o cursor no campo NúmeroDoPedido, no formulário atual. Não se preocupe em entender este comando, agora.Todo comando em VBA deve seguir algumas regras de sintaxe. A sintaxe tem a ver com a maneira como o comando é escrito. Por exemplo, se você for utilizar a função Day() em um comando e ao invés de Day(), utilizar Dai(), você terá cometido um erro de sintaxe e o comando não poderá ser executado. Os erros de sintaxe são os mais fáceis de serem identificados e corrigidos.

Os comandos do VBA são divididos, basicamente, em três tipos:

Comandos básicos do VBA: São aqueles comandos que estão presentes em toda e qualquer lingüagem que se preze. São comandos para declaração de variáveis, operadores aritméticos e lógicos, estruturas de controle e operadores para a realização de testes condicionais. Por exemplo, qual a linguagem que não possui uma função IF para a realização de testes condicionais?
Funções internas do Microsoft Access 2007: Existem centenas de funções prontas, fornecidas pelo Microsoft Access 2007 e que podem ser utilizadas em qualquer comando do VBA. Por exemplo, para armazenarmos em uma variável x, o valor numérico do ano da data do sistema, poderíamos utilizar o seguinte comando: 

x = Year (Date()).

Durante a primeira semana utilizamos uma série destas funções, tais como: Esquerda(), Direita(), Meio(), Ano(), Dia(), Mês, etc.

IMPORTANTE: Ao utilizar funções em comandos do VBA devemos, sempre, utilizar a função em inglês. Por exemplo, ao invés de Ano() devemos utilizar Year(); ao invés de Mês() devemos utilizar Month() e assim por diante.

Objetos da hierarquia de objetos do Microsoft Office: Um objeto é uma entidade que possui propriedades (que descrevem as características do objeto) e métodos (que descrevem os comportamentos do objeto). Cada aplicativo do Microsoft Office 2007 disponibiliza uma hierarquia de objetos bem definida. Estes objetos podem ser acessados através de programação. Podemos utilizar os métodos dos objetos para realizar determinadas ações sobre o objeto e suas propriedades para obter informações sobre suas características. Esta hierarquia de objetos é que torna o VBA tão poderoso. É graças a hierarquia de objetos do Office que, de dentro de um banco de dados do Access, por exemplo, podemos acessar dados de uma planilha do Excel, gravada em um drive de rede e combinar tais dados com dados obtidos a partir de um banco de dados, por exemplo, do Dbase (.dbf), gravado na máquina local. Falaremos mais sobre objetos adiante. Agora, apenas a título de exemplo, alguns comandos do VBA que utilizam um objeto do tipo RecordSet para descobrir o número de registros da tabela Pedidos:

Quando o Microsoft Access 2007 executa estes comandos é emitida a seguinte mensagem:
NÚMERO DE REGISTROS DA TABELA PEDIDOS: 1079Importante: Não se preocupe em entender os comandos utilizados no exemplo anterior. Vamos estudar em detalhes, uma série de objetos, inclusive os objetos Database e RecordSet, utilizados no exemplo anterior.

« Anterior Δ Página principal ¤ Índice Próxima »


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

Quer receber novidades e e-books gratuitos?

MEGA FORMAÇÃO EM INFRAESTRUTURA DE TI

(Online, Vitalício, Prático e Atualizado)!

  • Chega de ser Ignorado pelo Mercado!

  • A vida não vai Melhorar Sozinha!

  • Quem domina infraestrutura, domina o Mercado.

  • Com esta Formação você vai Dominar o Conhecimento e torne-se o Profissional que as Empresas estão Buscando, "desesperadamente", mas não estão encontrando.

NÃO PROCURE VAGAS, SEJA PROCURADO!

 

Curso Completo de Excel - Curso Online com Certificado - 925 Vídeo Aulas - 22 Cursos - 120:42 horas

 

Para Todos os Detalhes, Acesse:

Curso Completo de Excel - Curso Online com Certificado - 925 Vídeo Aulas - 22 Cursos - 120:42 horas

 

https://juliobattisti.com.br/curso-infra-ti.asp

 

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

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