Introdução à programação do Access

Nota: Queremos fornecer-lhe os conteúdos de ajuda mais recentes o mais rapidamente possível e no seu idioma. Esta página foi traduzida automaticamente e pode conter erros gramaticais ou imprecisões. O nosso objetivo é que estes conteúdos lhe sejam úteis. Pode informar-nos se as informações foram úteis no final desta página? Eis o artigo em inglês para referência.

Quando cria uma nova base de dados, normalmente começa por criar vários objetos de base de dados, como tabelas, formulários e relatórios. É possível que alcance um ponto em que tem de adicionar alguma programação para automatizar determinados processos e associar os objetos de base de dados. Este artigo ajuda a orientá-lo na utilização das ferramentas de programação no Access.

Neste artigo

O que é a programação?

Devo utilizar macros ou código VBA?

Utilizar o Assistente de Botões de Comando para efetuar tarefas de programação comuns

Compreender as macros

Compreender o código VBA

Converter macros para código VBA

O que é a programação?

No Access, a programação é o processo de adicionar funcionalidades à base de dados através de macros do Access ou código VBA (Visual Basic for Applications). Por exemplo, suponha que criou um formulário e um relatório e que pretende adicionar um botão de comando ao formulário que, ao clicar no mesmo, abre o relatório. Neste caso, programação é o processo de criar uma macro ou procedimento VBA e, em seguida, definir a propriedade do evento AoFazerClique do botão de comando, para que clicar no mesmo execute a macro ou o procedimento. Para uma operação simples, como abrir um relatório, pode utilizar o Assistente de Botões de Comando para efetuar toda a programação ou pode desativar o assistente e efetuar a programação por si próprio.

Nota: Muitos programas do Microsoft Office utilizam o termo "macro" para fazer referência ao código VBA. Isto pode ser confuso para os utilizadores do Access, uma vez que neste o termo "macro" se refere a uma coleção de ações de macro com nome que o utilizador pode criar com o Construtor de Macros. As ações de macro do Access representam apenas um subconjunto dos comandos disponíveis no VBA. O Construtor de Macros proporciona-lhe uma interface mais estruturada do que o Visual Basic Editor ao permitir-lhe adicionar programação a controlos e objetos, sem ter de saber código VBA. Deve ter em atenção que, nos artigos da Ajuda do Access, as macros do Access são denominadas macros. Por sua vez, o código VBA é referido como VBA, código, uma função ou um procedimento. O código VBA está contido em módulos de classe (que fazem parte de formulários ou relatórios individuais e que, normalmente, contêm código apenas para esses objetos) e em módulos (que não estão associados a objetos específicos e que, normalmente, contêm código "global" que pode ser utilizado em toda a base de dados).

Os objetos (como formulários e relatórios) e os controlos (como botões de comando e caixas de texto) tem várias propriedades do evento a que pode anexar macros ou procedimentos. Cada propriedade do evento está associada a um evento específico, como clicar no rato, abrir um formulário ou modificar dados numa caixa de texto. Os eventos também podem ser acionados por fatores exteriores ao Access, como eventos de sistema, ou por macros ou procedimentos anexados a outros eventos. A sua base de dados pode tornar-se complexa se adicionar muitas macros ou procedimentos a várias propriedades do evento de muitos objetos, mas na maioria dos casos pode alcançar os resultados que pretende com muito pouca programação.

Início da Página

Devo utilizar macros ou código VBA?

A decisão de utilizar macros, VBA ou ambos depende principalmente da forma como planeia implementar ou distribuir a base de dados. Por exemplo, se a base de dados estiver armazenada no seu computador e você for o único utilizador e estiver familiarizado com a utilização de código VBA, pode optar por utilizar VBA para executar a maioria das tarefas de programação. No entanto, se tenciona partilhar a sua base de dados com outras pessoas ao colocá-la num servidor de ficheiros, deverá evitar utilizar VBA por razões de segurança.

Deve basear a sua decisão de utilizar macros ou código VBA em duas questões: segurança e a funcionalidade que pretende. A segurança é um problema porque o VBA pode ser utilizado para criar código que pode comprometer a segurança dos seus dados ou danificar ficheiros no seu computador. Quando utiliza uma base de dados criada por alguém além de si próprio, só deve ativar o código VBA se souber que a base de dados provém de uma origem fidedigna. Quando cria uma base de dados que será utilizada por outras pessoas, deve tentar evitar incluir ferramentas de programação que exijam que o utilizador defina a base de dados como fidedigna. Mais à frente nesta secção, encontram-se técnicas gerais para evitar a necessidade de os utilizadores definirem a sua base de dados como fidedigna.

Para ajudar a garantir a segurança da sua base de dados, deve tentar utilizar macros sempre que possível e utilizar a programação VBA apenas para operações que não possam ser executadas com ações de macro. Além disso, deve tentar utilizar apenas ações de macro que, para serem executadas, não exijam que a base de dados seja definida como fidedigna. Limitar a utilização de ações de macro desta forma permite aos utilizadores terem a certeza de que a base de dados não possui programação que poderá danificar os dados ou outros ficheiros nos seus computadores.

Considerações sobre macros

Desde o lançamento do Access 2010 que o Access inclui várias ações de macro novas que lhe permitem criar macros mais avançadas do que nas versões anteriores do Access. Por exemplo, agora pode criar e utilizar variáveis globais temporárias através de ações de macro e pode processar erros mais facilmente com novas ações de macro de processamento de erros. Nas versões anteriores do Access, estes tipos de funcionalidades só estão disponíveis ao utilizar o VBA. Além disso, pode incorporar uma macro diretamente na propriedade do evento de um objeto ou controlo. Uma macro incorporada torna-se parte do objeto ou controlo e permanece com o mesmo se este for movido ou copiado.

As macros proporcionam uma forma fácil de processar várias tarefas de programação, como abrir e fechar formulários e executar relatórios. Pode associar, com rapidez e facilidade, objetos de base de dados (formulários, relatórios, etc.) que criou, uma vez que é necessário memorizar pouca sintaxe. Os argumentos de cada ação são apresentados no Construtor de Macros.

Além de as macros fornecerem uma maior segurança e facilidade de utilização, tem de as utilizar para executar as seguintes tarefas:

  • Atribuir uma ação ou conjunto de ações a uma chave. Neste caso, é necessário criar um grupo de macros denominado AutoKeys.

  • Executar uma ação ou uma série de ações ao abrir uma base de dados pela primeira vez. Neste caso, é necessário criar um grupo de macros denominado AutoExec.

    Nota:  A macro AutoExec é executada antes de qualquer outra macro ou código VBA, mesmo que tenha designado um formulário de arranque na caixa de diálogo Opções do Access e anexado uma macro ou um código VBA aos eventos AoAbrir ou AoCarregar desse formulário.

Para obter mais informações sobre como criar macros, consulte a secção Compreender as macros.

Considerações sobre o VBA

Deve utilizar programação VBA em vez de macros se quiser efetuar qualquer uma das seguintes ações:

  • Utilizar funções incorporadas ou criar as suas próprias funções    O Access inclui muitas funções incorporadas, tal como a função IPGTO , que calcula um pagamento de juros. Pode utilizar estas funções incorporadas para efetuar cálculos sem ter de criar expressões complicadas. Ao utilizar código VBA, também pode criar as suas próprias funções para efetuar cálculos que excedam a capacidade de uma expressão ou para substituir expressões complexas. Para além disso, pode utilizar as funções que cria em expressões para aplicar uma operação comum a mais de um objeto.

  • Criar ou manipular objetos    Na maioria dos casos, irá descobrir que é mais fácil criar e modificar um objeto na vista de estrutura desse objeto. Em algumas situações, no entanto, poderá querer manipular a definição de um objeto no código. Ao utilizar o VBA, pode manipular todos os objetos numa base de dados, para além da própria base de dados.

  • Realizar ações em nível de sistema    Pode executar a ação ExecutarAplicativo numa macro para executar outro programa (como o Microsoft Excel) a partir do Access, mas não pode utilizar uma macro para fazer muito mais fora do Access. Ao utilizar o VBA, pode verificar se um ficheiro existe no computador, utilizar a automatização ou a conversão dinâmica de dados (DDE) para comunicar com outros programas baseados no Microsoft Windows, como o Excel, e funções de chamadas em bibliotecas de ligação dinâmica (DLLs) do Windows.

  • Manipular registos um de cada vez    Pode utilizar o VBA para percorrer um conjunto de registos, um registo de cada vez e executar uma operação em cada registo. Por outro lado, as macros funcionam com conjuntos completo de registos ao mesmo tempo.

Início da Página

Utilizar o Assistente de Botões de Comando para efetuar tarefas de programação comuns

Se estiver a adicionar um botão de comando a um formulário, o Assistente de Botões de Comando pode ajudá-lo a começar a programação. O assistente ajuda-o a criar um botão de comando que executa uma tarefa específica. Num ficheiro do Access (.accdb), o assistente cria uma macro que é incorporada na propriedade AoFazerClique do botão de comando. Num ficheiro .mdb ou .adp, o assistente cria código VBA, uma vez que as macros incorporadas não estão disponíveis nesses formatos de ficheiro. Em seguida, em ambos os casos, pode modificar ou melhorar a macro ou o código VBA de acordo com as suas necessidades.

  1. No Painel de Navegação, clique com o botão direito do rato no formulário ao qual quer adicionar o botão de comando e, em seguida, clique em Vista Estrutura.

  2. No separador Estrutura, clique na seta para baixo para ver a galeria Controlos e certifique-se de que a opção Utilizar Assistentes de Controlo está selecionada.

  3. No separador Estrutura, na galeria Controlos, clique em Botão.

  4. Na grelha de estrutura de formulário, clique no local onde quer colocar o botão de comando.

    O Assistente de Botões de Comando é iniciado.

  5. Na primeira página do assistente, clique em cada categoria na lista Categorias para ver as ações que o assistente pode programar para o botão de comando executar. Na lista Ações, selecione a ação que pretende e clique em Seguinte.

  6. Clique nas opções Texto ou Imagem, consoante queira apresentar texto ou uma imagem no botão de comando.

    • Se quiser apresentar texto, pode editá-lo na caixa junto à opção Texto.

    • Se quiser apresentar uma imagem, o assistente sugere uma na lista. Se quiser escolher uma imagem diferente, selecione a caixa de verificação Mostrar Todas as Imagens para apresentar uma lista de todas as imagens de botões de comando fornecidas pelo Access ou clique em Procurar para selecionar uma imagem armazenada noutro local.

      Clique em Seguinte.

  7. Introduza um nome relevante para o botão de comando. Este passo é opcional e o nome não é apresentado no botão de comando. No entanto, é uma boa ideia introduzir um nome relevante para que, quando precisar de fazer referência ao botão de comando mais tarde (por exemplo, se estiver a definir a ordem de tabulação dos controlos no formulário), seja muito mais fácil distinguir os botões de comando. Se, por exemplo, o botão de comando fechar o formulário, pode atribuir-lhe o nome cmdFechar ou ComandoFechar.

  8. Clique em Concluir.

    O Access coloca o botão de comando no formulário.

  9. Se quiser ver o que o assistente "programou", siga estes passos opcionais:

    1. Se a folha de propriedades ainda não tiver sido apresentada, prima F4 para a apresentar.

    2. Clique no separador Evento na folha de propriedades.

    3. Na caixa de propriedade ao clicar , clique no botão criar Imagem do botão .

      O Access inicia o Construtor de Macros e apresenta a macro criada pelo assistente. Se quiser, pode editar a macro (para obter mais informações sobre como editar uma macro, consulte a secção Compreender as macros). Quando terminar, no separador Estrutura, no grupo Fechar, clique em Fechar para fechar o Construtor de Macros. Se o Access pedir para guardar as alterações e atualizar a propriedade, clique em Sim para guardar as alterações ou em Não para rejeitar as alterações.

  10. No separador Estrutura, no grupo Vistas, clique em Ver e, em seguida, clique em Vista Formulário. Clique no novo botão de comando para confirmar se funciona de acordo com o esperado.

Início da Página

Compreender as macros

Uma macro é uma ferramenta que permite automatizar tarefas e adicionar funcionalidades aos formulários, relatórios e controlos. Por exemplo, ao adicionar um botão de comando a um formulário, associa a propriedade do evento AoFazerClique do botão a uma macro que contém os comandos que pretende que o botão execute sempre que for clicado.

É útil pensar nas macros do Access como uma linguagem de programação simplificada em que cria código ao construir uma lista de ações a executar. Para criar uma macro, irá selecionar cada ação numa lista pendente e, em seguida, preencherá as informações necessárias para cada ação. As macros permitem-lhe adicionar funcionalidades a formulários, relatórios e controlos sem escrever código num módulo VBA. As macros fornecem um subconjunto dos comandos disponíveis no VBA e a maioria das pessoas considera que é mais fácil criar uma macro do que escrever código VBA.

Pode criar uma macro através do Construtor de Macros, conforme a ilustração abaixo.

O Construtor de Macros do Access 2010

Para apresentar o Construtor de Macros:

  • No separador Criar, no grupo Macros e Código, clique em Macro.

Início da Página

Compreender o código VBA

Tal como as macros, o VBA permite-lhe adicionar automatização e outras funcionalidades à sua aplicação do Access. Pode expandir o VBA ao utilizar controlos de terceiros e pode escrever as suas próprias funções e procedimentos de acordo com as suas necessidades específicas.

Uma forma rápida de começar a utilizar a programação VBA é criar primeiro uma macro do Access e, em seguida, convertê-la em código VBA. As instruções para o fazer estão incluídas na secção Converter macros em código VBA. Esta funcionalidade cria um novo módulo VBA que executa as operações equivalentes na macro. Além disso, abre também o Visual Basic Editor para que possa começar a modificar o procedimento. Ao trabalhar no Visual Basic Editor, pode clicar em palavras-chave e premir F1 para iniciar a Ajuda para Programadores do Access e saber mais sobre cada palavra-chave. Em seguida, pode explorar a Ajuda para Programadores do Access e descobrir novos comandos para o ajudar a executar as tarefas de programação pretendidas.

Início da Página

Converter macros em código VBA

Pode utilizar o Access para converter automaticamente macros em módulos VBA ou módulos de classe. Pode converter macros anexadas a um formulário ou relatório, quer existam como objetos em separado ou como macros incorporadas. Pode também converter macros globais não anexadas a um relatório ou formulário específicos.

Nota: Pode adicionar código VBA (Visual Basic for Applications) a uma base de dados Web; no entanto, não pode executar esse código enquanto a base de dados está a ser executada num browser. Se a sua base de dados Web tiver código VBA, primeiro tem de abrir a base de dados Web ao utilizar o Access antes de poder executar o código. Para efetuar tarefas de programação numa base de dados Web, utilize as macros do Access.

Converter macros anexadas a um formulário ou relatório

Este processo converte em VBA todas as macros às quais um formulário ou relatório (ou qualquer um dos respetivos controlos) faça referência (ou em que estejam incorporadas) e adiciona o código VBA ao módulo de classe do formulário ou relatório. O módulo de classe torna-se parte do formulário ou relatório e é movido juntamente com os mesmos, se forem movidos ou copiados.

  1. No Painel de Navegação, clique com o botão direito do rato no formulário ou relatório e, em seguida, clique em Vista Estrutura.

  2. No separador Estrutura, no grupo Ferramentas, clique em Converter Macros do Formulário em Visual Basic ou em Converter Macros do Relatório em Visual Basic.

  3. Na caixa de diálogo Converter macros do formulário ou Converter macros do relatório, selecione se pretende que o Access adicione código de processamento de erros às funções geradas. Além disso, se tiver comentários nas macros, selecione se quer que sejam incluídos como comentários nas funções. Clique em Converter para continuar.

    Se não existir nenhum módulo de classe para o formulário ou relatório, o Access cria um e adiciona um procedimento ao módulo para cada macro associada ao formulário ou relatório. O Access altera também as propriedades do evento do formulário ou relatório para que executem os novos procedimentos VBA em vez das macros.

  4. Para ver e editar o código VBA:

    1. Com o formulário ou relatório ainda aberto na vista Estrutura, se a folha de propriedades ainda não estiver visível, prima F4 para a apresentar.

    2. No separador evento da folha de propriedades, clique em qualquer caixa de propriedade que apresente [procedimento de evento]e, em seguida, clique no botão criar Imagem do botão . Para ver as propriedades do evento de um controlo específico, clique no controlo para o selecionar. Para ver as propriedades do evento do formulário ou relatório completos, selecione Formulário ou Relatório na lista pendente, na parte superior da folha de propriedades.

      O Access abre o Visual Basic Editor e apresenta o procedimento de evento no respetivo módulo de classe. Pode deslocar-se para cima ou para baixo para ver outros procedimentos que se encontrem no mesmo módulo de classe.

Converter macros globais

  1. No Painel de Navegação, clique com o botão direito do rato na macro que pretende converter e, em seguida, clique em Vista Estrutura.

  2. No separador Estrutura, no grupo Ferramentas, clique em Converter Macros para Visual Basic.

  3. Na caixa de diálogo Converter Macros, selecione as opções pretendidas e, em seguida, clique em Converter.

    O Access converte a macro e abre o Visual Basic Editor.

  4. Para ver e editar o código VBA:

    1. No Visual Basic Editor, se o painel Explorador de Projeto não for apresentado, no menu Vista, clique em Explorador de Projeto.

    2. Expanda a árvore sob o nome da base de dados na qual está a trabalhar.

    3. Em Módulos, faça duplo clique no módulo Macro convertida- nome da macro.

      O Visual Basic Editor abre o módulo.

Anexar uma função VBA a uma propriedade do evento

Ao converter uma macro global em VBA, o código do VBA é colocado num módulo padrão. Ao contrário de um módulo de classe, um módulo padrão não faz parte de um formulário ou relatório. Muito provavelmente, irá querer associar a função a uma propriedade do evento num formulário, relatório ou controlo para que o código seja executado exatamente quando e onde quer. Para o fazer, copie o código VBA para um módulo de classe e, em seguida, associe-o a uma propriedade do evento ou faça uma chamada especial da propriedade do evento para o módulo padrão, através do seguinte procedimento.

  1. No Visual Basic Editor, tome nota do nome da função. Por exemplo, se tiver convertido uma macro denominada AMinhaMacro, o nome da função será AMinhaMacro().

  2. Feche o Visual Basic Editor.

  3. No Painel de Navegação, clique com o botão direito do rato no formulário ou relatório ao qual quer associar a função e, em seguida, clique em Vista Estrutura.

  4. Clique na secção ou no controlo a que pretende associar a função.

  5. Se a folha de propriedades ainda não tiver sido apresentada, prima F4 para a apresentar.

  6. No separador Evento da folha de propriedades, clique na caixa de propriedade do evento à qual quer associar a função.

  7. Na caixa de propriedade, escreva um sinal de igual (=) seguido do nome da função como, por exemplo, =AMinhaMacro() . Certifique-se de que inclui os parênteses.

  8. Guarde o formulário ou relatório ao clicar em Guardar na Barra de Ferramentas de Acesso Rápido.

  9. No Painel de Navegação, faça duplo clique no formulário ou relatório e teste-o para verificar se o código é executado conforme previsto.

Agora, conhece os passos básicos para adicionar código VBA à sua base de dados. Este artigo descreve apenas as noções básicas de como começar; Existem muitos livros de referência e recursos online excelentes que podem ajudá-lo a criar as suas competências de programação.

Início da Página

Aumente os seus conhecimentos do Office
Explore as formações
Seja o primeiro a obter novas funcionalidades
Adira ao Office Insider

As informações foram úteis?

Obrigado pelos seus comentários!

Obrigado pelo seu feedback! Parece que poderá ser benéfico reencaminhá-lo para um dos nossos agentes de suporte do Office.

×