Você está na página 1de 2

Tutorial de Programao VBA - Access - Parte 1

Publicado em: 09/08/2004 Compartilhe

Objetivos: Este o primeiro de uma srie de tutoriais sobre a Programao VBA - Visual Basic for Application, no Access. O objetivo mostrar como utilizar a programao VBA para solucionar problemas complexos no Access, problemas que muitas vezes no tem como ser resolvidos sem o uso de programao. Programao com o Microsoft Access - Por que utilizar? O VBA nos oferece possibilidades de controle e personalizao para criar aplicativos que vo alm do que possvel de ser feito usando apenas Macros. O VBA uma linguagem de programao interna do Microsoft Access (na prtica a linguagem de programao 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, formulrios, relatrios, folhas de dados, macros e mdulos). No entanto, o VBA oferece maior poder e controle mais detalhado do que as aes de macro. Na prtica as aes de macro duplicam as operaes que podemos realizar manualmente, usando menus e teclas de atalho. O VBA vai alm da simples automao de seqncias de aes de teclado e menus de comandos. O VBA oferece um conjunto de ferramentas que lhe permite criar aplicaes personalizadas com base nos elementos do Access 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 alm de acessar os dados pode fazer clculos, consolidaes, gerar os resultados no formato de uma planilha do Excel e salvar a planilha na rede ou em uma pgina da Intrante da empresa, no formato HTML. Este apenas um pequeno exemplo do que pode ser feito como o VBA. Vantagens em utilizarmos o VBA: No Curso de Access Avanado e VBA, voc aprende a utilizar macros para automatizar algumas tarefas como a aplicao de filtros em formulrios, sincronizao de formulrios, etc. O VBA apresenta, em relao s macros, as seguintes vantagens: Acessando um ou mais conjuntos de registros: Com aes de macros estamos limitados a operar com o registro ou com o conjunto de registros atualmente sendo exibido em um formulrio, relatrio 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 e, inclusive, com vrios conjuntos de registros ao mesmo tempo. Por exemplo, voc pode montar uma rotina VBA, associada a um formulrio de entrade de pedidos, a qual faz a baixa dos produtos vendidos, automaticamente, na tabela de estoque. Manipulao de objetos: O VBA oferece mtodos de criao e modificao dos objetos de um banco de dados do Microsoft Access. Chamamos de objeto qualquer elemento do Microsoft Access, por exemplo: uma tabela, uma consulta, um formulrio, relatrio, etc. Por exemplo, poderamos usar o VBA para acessar um conjunto determinado de registros, atravs da execuo de um comando SQL (Veja o Tutorial de SQL no Access) para a gerao de um objeto do tipo RecordSet. Aprenderemos o objeto RecordSet, em detalhes, nas prximas partes deste tutorial. Criao de funes definidas pelo usurio: Este um dos maiores benefcios do VBA. Podemos criar funes que executam clculos repetitivos ou clculos para os quais o Access no dispem de uma funo pronta. Por exemplo, vrios formulrios podem conter um campo CPF ou CNPJ. Poderamos criar, em cada formulrio, o cdigo necessrio para a validao do DV do CPF ou CNPJ. Porm este procedimento no o mais indicado, pois alm da duplicao do cdigo necessrio validao do CPF ou CNPJ, teramos dificuldades para fazer atualizaes neste cdigo, pois cada alterao teria que ser feita em vrios locais. O ideal criarmos uma funo para validao do DV (uma funo deve ser criada dentro de um mdulo. Trataremos disso nas prximas partes deste tutorial.). Em cada formulrio, onde for necessrio, chamamos a funo, passando o valor do campo CPF ou CNPJ como parmetro. A funo calcula o DV e retorna o resultado para o furmulrio. Desta maneira precisamos criar uma nica funo. Quando forem necessrias alteraes, basta alterar a funo (em um nico local, ou seja, no mdulo onde a funo foi criada)e todos os formulrios passaro a utilizar a verso atualizada da funo. Definio de condies e controle de fluxo: O VBA oferece uma variedade de comandos e estruturas para a realizao de testes condicionais e para a repetio de um conjunto de comandos. Aprenderemos a utilizar todas as estruturas de controle de fluxo e testes condicionais, mais adiante. Realizao de clculos complexos e soluo de problemas que envolvem uma lgica complexa: Com macros impossvel a realizao de clculos mais complexos. Com Macros no possvel a resoluo de problemas que envolvem uma lgica complexa, como por exemplo clculo do imposto de

y y

renda, recolhimentos de tributos, etc. Introduo a linguagem VBA - Visual Basic For Applications O VBA teve origem no Visual Basic. O Visual Basic um ambiente de desenvolvimento completo, onde podemos criar programas para o ambiente Windows. Um programa como o Programa Para Declarao de Imposto de Renda da Pessoa Fsica, pode ser criado utilizando-se o Visual Basic. Um aplicativo como o Winzip ou como um sistema para controle de clientes e de vendas, tambm poderia ser criado utilizando o Visual Basic. J o VBA uma linguagem bastante poderosa, embora no seja to poderosa quanto o Visual Basic, para criao de aplicativos e automao de tarefas, baseados nos aplicativos do Microsoft Office: Access, Word, Excel, PowerPoint e Outlook. importante entender que existe uma diferena fundamental entre o Visual Basic e o VBA: Com o Visual Basic possvel criar os programas executveis, ou seja, voc cria o programa e gera os arquivos de instalao. Nos arquivos de instalao esto todos os recursos necessrios instalao e ao funcionamento do programa. J com o VBA no possvel criar programas escutveis. As rotinas de programao criadas com o VBA tem que ser executadas dentro de um dos aplicativos do Office, como por exemplo o Access, Excel, Word, PowerPoint ou Outlook. Onde podemos utilizar o VBA? Existem, basicamente, duas situaes/locais diferentes onde podemos utilizar o VBA: Como resposta a um evento: Conforme descrito no Curso de Access Avanado e VBA, o modelo de programao do ambiente Windows baseado em Eventos. Um Evento uma ao do usurio ao utilizar o teclado ou o mouse. Por exemplo, quando o usurio clica em um boto de comando gerado o evento "Ao clicar" associado com este boto. Quando o usurio altera o valor em um campo de dados e pressiona a tecla TAB para ir para o prximo campo so gerados dois eventos associados com o campo que foi atualizado: "Aps atualizar" e "Ao perder o foco". Ah, tambm ser gerado o evento "Ao receber o foco", associado com o capo para o qual foi posicionado o cursor. Quando o usurio d um clique duplo em um determinado elemento de uma tela do Windows, disparado o evento "Ao clicar duas vezes", e assim por diante. Por padro nenhuma ao programada para responder aos eventos que so disparados. Conforme j vimos no Curso de Access Avanado e VBA, possvel criar macros que sero executadas em resposta a um determinado evento. Podemos utilizar o VBA para criar um procedimento (um procedimento formado por um ou mais comandos e pode ser do tipo Sub-procedimento ou Funo, conforme descreverei em uma das prximas partes deste tutorial) que ser executado em resposta ao evento. Por exemplo, podemos criar um procedimento para validar um nmero de CPF (calcular o DV do CPF). Este procedimento pode ser configurado para ser executado em resposta ao evento Aps atualizar do campo CPF. O cdigo criado para ser executado em resposta a um evento, gravada juntamente com o formulrio (ou relatrio), onde est o elemento que dispara o evento. Criao de funes e procedimentos em mdulos separados: Se quisermos criar procedimentos ou funes que no estejam ligados a um evento especfico em um formulrio ou relatrio (podendo, porm serem chamados em diversos eventos diferentes, conforme visto no Curso de Access Avanado e VBA), podemos criar funes gravadas em Mdulos do Access. Um Mdulo um objeto do Access cuja nica finalidade armazenar cdigo de procedimentos e funes do VBA. Quando um procedimento ou funo definido e armazenado em um mdulo, podemos us-lo em qualquer expresso, como se fosse uma funo interna do Microsoft Access ou cham-lo em resposta a um evento. Nas prximas partes deste tutorial, criaremos, a ttulo de exemplo, uma funo chamada MsPorExtenso. Esta funo receber um valor numrico entre 1 e 12 e ir retornar o nome do ms correspondente, por extenso.

Agora que j falei bastante e fiz uma boa propaganda das vantagens em se utilizar o VBA para programao no Microsoft Access, hora de aprendermos os fundamentos bsicos desta linguagem de programao. Bem, isso j fica para a Parte 2 deste tutorial. Concluso: Nesta primeira parte fiz apenas uma apresentao do que a linguagem VBA e quando podemos utiliz-lo, bem como dos tipos de problemas que podem ser solucionados, usando o VBA. A partir da prxima parte deste tutorial, voc comear a aprender os fundamentos da programao VBA no Access.

Você também pode gostar