Entrar com a conta da Microsoft
Entrar ou criar uma conta.
Olá,
Selecionar uma conta diferente.
Você tem várias contas
Escolha a conta com a qual você deseja entrar.

Ao criar um novo banco de dados, normalmente você começa criando vários objetos de banco de dados como tabelas, formulários e relatórios. Em algum momento, você chega a um ponto em que precisa adicionar programação para automatizar certos processos e unir seus objetos de banco de dados. Este artigo ajuda a orientá-lo para as ferramentas de programação no Access.

Neste artigo

O que é programação?

Em Access, a programação é o processo de adicionar funcionalidade ao banco de dados usando macros Access ou código VBA (Visual Basic for Applications). Por exemplo, vamos supor que você tenha criado um formulário e um relatório e queira adicionar um botão de comando ao formulário, de modo que, ao ser clicado, abra o relatório. Programação, nesse caso, é o processo de criar uma macro ou um procedimento de VBA e, depois, configurar a propriedade de evento OnClick do botão de comando para que, ao clicar no botão de comando, a macro ou o procedimento seja executado. Para uma operação simples, como abrir um relatório, você pode usar o Assistente de Botão de Comando para realizar todo o trabalho, ou você pode desativar o assistente e fazer a programação por conta própria.

Observação: Muitos programas do Microsoft Office usam o termo "macro" para se referir ao código VBA. Isso pode ser confuso para Access usuários porque, em Access, o termo "macro" refere-se a uma coleção nomeada de ações de macro que você pode montar usando o Macro Builder. Access ações de macro representam apenas um subconjunto dos comandos disponíveis no VBA. O Construtor de Macros oferece uma interface mais estruturada do que o Editor do Visual Basic, permitindo que você adicione programação a controles e objetos sem precisar aprender o código VBA. Lembre-se de que, em artigos de ajuda Access, Access macros são conhecidas como macros. Por outro lado, o código VBA é chamado de VBA, código, uma função ou um procedimento. O código VBA fica dentro de módulos de classe (que fazem parte de formulários ou relatórios individuais e normalmente contêm código apenas para esses objetos) e de módulos (que não são associados a objetos específicos e normalmente contêm o código "global", que pode ser usado em todo o banco de dados).

Objetos (como formulários e relatórios) e controles (como botões de comando e caixas de texto) têm várias propriedades de evento, às quais você pode anexar macros ou procedimentos. Cada propriedade de evento está associada a um evento específico, como clicar com o mouse, abrir um formulário ou modificar dados em uma caixa de texto. Os eventos também podem ser disparados por fatores fora do Access, como eventos do sistema ou por macros ou procedimentos anexados a outros eventos. O banco de dados pode ficar complexo se você adicionar muitas macros ou procedimentos a várias propriedades de evento de vários objetos, mas, na maioria dos casos, você pode obter os resultados desejados usando pouquíssima programação.

Início da Página

Devo usar macros ou código VBA?

A decisão de usar macros, VBA ou os dois, depende principalmente de como você pretende implantar ou distribuir o banco de dados. Por exemplo, se o banco de dados for armazenado no seu computador e você for o único usuário, e se você se sentir confortável em usar o código VBA, talvez você decida usar VBA para realizar a maioria das suas tarefas de programação. No entanto, se você pretende compartilhar seu banco de dados com outras pessoas colocando-o em um servidor de arquivos, convém evitar o uso de VBA por segurança.

Tome sua decisão de usar macros ou código VBA com base em duas questões: a segurança e funcionalidade desejada. Segurança é um problema porque VBA pode ser usado para criar o código que compromete a segurança dos seus dados ou pode danificar arquivos no seu computador. Ao usar um banco de dados criado por alguém que não seja você, habilite o código VBA somente se você souber que o banco de dados é proveniente de uma fonte confiável. Ao criar um banco de dados que será usado por outras pessoas, tente evitar a inclusão de ferramentas de programação que exijam do usuário a concessão específica do status de confiável ao banco de dados. Veja mais adiante nesta seção técnicas gerais para evitar a necessidade dos usuários confiarem no seu banco de dados.

Para ajudar a garantir a segurança do seu banco de dados, tente usar macros quando for possível e use a programação em VBA apenas para operações que não possam ser realizadas usando ações de macro. Além disso, tente usar apenas as ações de macro que não exijam a concessão do status de confiável ao banco de dados para executar. Limitar o uso de ações de macro dessa maneira permite que os usuários tenham a certeza de que o banco de dados não tem qualquer programação que possa danificar os dados ou outros arquivos nos seus computadores.

Considerações sobre macro

A partir da versãoAccess 2010, Access contém muitas novas ações de macro que permitem criar macros mais poderosas do que você pode criar usando versões anteriores do Access. Por exemplo, agora você pode criar e usar variáveis temporárias globais usando ações de macro e controlar melhor os erros usando novas ações de macro de tratamento de erros. Em versões anteriores do Access, esses tipos de recursos só estão disponíveis usando o VBA. Além disso, você pode inserir uma macro diretamente na propriedade de evento de um objeto ou controle. Uma macro inserida se torna parte do objeto ou controle e permanecerá com eles se for movida ou copiada.

As macros oferecem uma maneira fácil de lidar com várias tarefas de programação, como abrir e fechar formulários e executar relatórios. Você pode unir com rapidez e facilidade os objetos de banco de dados (formulários, relatórios e assim por diante) criados, pois há pouca sintaxe para memorizar. Os argumentos de cada ação são exibidos no Construtor de Macros.

Além do aumento da segurança e da facilidade de uso oferecidos pelas macros, você deve usar macros para executar as seguintes tarefas:

  • Atribuir uma ação ou conjunto de ações a uma chave. Isso exige a criação de um grupo de macros chamado AutoKeys.

  • Executar uma ação ou uma série de ações quando um banco de dados é aberto pela primeira vez. Isso exige a criação de uma macro chamada AutoExec.

    Observação:  A macro AutoExec é executada antes de qualquer outra macro ou código VBA, mesmo se você tiver indicado um formulário de inicialização na caixa de diálogo Opções do Access e anexado uma macro ou código VBA ao evento OnOpen ou OnLoad desse formulário.

Saiba mais sobre como criar macros na seção Entender as macros.

Considerações sobre VBA

Você deverá usar a programação VBA em vez de macros se quiser realizar um destes procedimentos:

  • Use funções internas ou crie suas próprias funções    Access inclui muitas funções internas, como a função IPmt , que calcula um pagamento de juros. Use essas funções internas para executar cálculos sem precisar criar expressões complicadas. Usando o código VBA, você também pode criar suas próprias funções para executar cálculos que excedem a capacidade de uma expressão ou para substituir expressões complexas. Além disso, você pode usar as funções que criou nas expressões para aplicar uma operação comuns a mais de um objeto.

  • Criar ou manipular objetos    Na maioria dos casos, será mais fácil criar e modificar um objeto no modo de Design desse objeto. No entanto, em algumas situações, convém manipular a definição de um objeto no código. Com o VBA, você pode manipular todos os objetos em um banco de dados, além do próprio banco de dados.

  • Executar ações no nível do sistema    Você pode executar a ação RunApp em uma macro para executar outro programa (como o Microsoft Excel) de dentro de Access, mas não pode usar uma macro para fazer muito mais fora do Access. Com o VBA, você pode verificar se existe um arquivo no computador, usar a Automação ou DDE (troca dinâmica de dados) para se comunicar com outros programas baseados no Microsoft Windows, como o Excel, e chamar funções em DLLs (Bibliotecas de vínculo dinâmico) do Windows.

  • Manipular um registro por vez    Use VBA para percorrer um conjunto de registros, um registro por vez, e executar uma operação em cada registro. Por outro lado, macros trabalham com conjuntos inteiros de registros de uma só vez.

Início da Página

Usar o Assistente de Botão de Comando para executar tarefas comuns de programação

Se você estiver adicionando um botão de comando a um formulário, o Assistente de Botão de Comando poderá ajudar você a começar com a programação. O assistente ajuda a criar um botão de comando que realiza uma tarefa específica. Em um arquivo Access (.accdb), o assistente cria uma macro inserida na propriedade OnClick do botão de comando. Em um arquivo .mdb ou .adp, o assistente cria um código VBA, pois as macros inseridas não estão disponíveis nesses formatos de arquivo. Em ambos os casos, modifique ou melhore a macro ou o código VBA a fim de atender melhor às suas necessidades.

  1. No Painel de Navegação, clique com o botão direito no formulário ao qual você deseja adicionar o botão de comando e clique no Modo de Exibição Design.

  2. Na guia Design de Formulários , clique na seta para baixo para exibir a galeria Controles e, em seguida, verifique se os Assistentes de Controle de Uso estão selecionados.

  3. Na guia Design de Formulários , na galeria Controles , clique em Botão.

  4. Na grade de design de formulário, clique no local onde você quer que o botão de comando seja colocado.

    O Assistente de Botão de Comando é iniciado.

  5. Na primeira página do assistente, clique em cada categoria na lista de Categorias para ver quais ações o assistente pode programar para execução do botão de comando. Na lista Ações, selecione a ação desejada e clique em Avançar.

  6. Clique na opção Texto ou na opção Imagem, dependendo se você deseja exibir texto ou imagem no botão de comando.

    • Se quiser exibir texto, edite o texto na caixa ao lado da opção Texto.

    • Se quiser exibir imagem, o assistente sugerirá uma imagem na lista. Se você quiser selecionar uma imagem diferente, selecione a caixa Mostrar Todas as Imagens marcar para exibir uma lista de todas as imagens de botão de comando que Access fornece ou clique em Procurar para selecionar uma imagem armazenada em outro lugar.

      Clique em Avançar.

  7. Insira um nome significativo para o botão de comando. Esta é uma etapa opcional e esse nome não é exibido no botão de comando. No entanto, é uma boa ideia inserir um nome significativo para que, quando você precisar se referir ao botão de comando mais tarde (por exemplo, se você estiver definindo a ordem de guia para controles em seu formulário), será muito mais fácil diferenciar entre os botões de comando. Se o botão de comando fechar o formulário, por exemplo, você poderá nomeá-lo cmdClose ou CommandClose.

  8. Clique em Concluir.

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

  9. Se você quiser ver o que o assistente "programou" para você, execute estas etapas opcionais:

    1. Se a Folha de Propriedades não for exibida, pressione F4 para exibi-la.

    2. Clique na guia Evento na folha de propriedades.

    3. Na caixa de propriedade Clicar , clique no botão Criar Imagem do botão.

      Access inicia o Macro Builder e exibe a macro criada pelo assistente. Você pode editar a macro se quiser (para saber mais sobre como editar uma macro, confira a seção Entender as macros). Quando terminar, na guia Design de Macro , no grupo Fechar , clique em Fechar para fechar o Construtor de Macros. Se Access solicitar que você salve as alterações e atualize a propriedade, clique em Sim para salvar as alterações ou Não para rejeitar as alterações.

  10. Na guia Design de Formulários , no grupo Exibições , clique em Exibir e clique em Modo de Exibição. Clique no novo botão de comando para confirmar o funcionamento esperado.

Início da Página

Entender as macros

Uma macro é uma ferramenta que permite automatizar tarefas e adicionar funcionalidade a formulários, relatórios e controles. Por exemplo, se você adicionar um botão de comando a um formulário, associará o evento OnClick do botão a uma macro que conterá os comandos para execução do botão sempre que ele for clicado.

É útil pensar em Access macros como uma linguagem de programação simplificada na qual você cria código criando uma lista de ações a serem executadas. Ao criar uma macro, você seleciona cada ação em uma lista suspensa e, depois, preenche as informações necessárias para cada ação. As macros permitem adicionar funcionalidade a formulários, relatórios e controles sem escrever códigos em um módulo do VBA. As macros oferecem um subconjunto dos comandos disponíveis no VBA, e a maioria das pessoas considera mais fácil criar uma macro do que escrever código VBA.

Crie uma macro usando o Construtor de Macros, mostrado na ilustração a seguir.

O Construtor de Macros do Access 2010

Para exibir o Construtor de Macros:

  • Na guia Criar, no grupo Macros e Código, clique em Macro.

Início da Página

Entender o código VBA

Como macros, o VBA permite adicionar automação e outras funcionalidades ao seu aplicativo Access. Você pode estender o VBA usando controles de terceiros e gravar suas próprias funções e procedimentos de acordo com suas necessidades específicas.

Uma maneira rápida de começar a programar VBA é primeiro criar uma macro Access e convertê-la em código VBA. As instruções para fazer isso estão incluídas na seção Converter macros em código VBA. Esse recurso cria um novo módulo de VBA que executa as operações equivalentes na macro. Também abre o Editor do Visual Basic para que você possa começar modificando o procedimento. Quando estiver trabalhando no Visual Basic Editor, você pode clicar em palavras-chave e pressionar F1 para iniciar Access Ajuda do Desenvolvedor e saber mais sobre cada palavra-chave. Em seguida, você pode explorar Access Ajuda do Desenvolvedor e descobrir novos comandos para ajudá-lo a executar as tarefas de programação desejadas.

Início da Página

Converter macros em código VBA

Você pode usar Access para converter automaticamente macros em módulos VBA ou módulos de classe. Você pode converter as macros associadas a um formulário ou relatório, quer elas existam como objetos separados ou macros inseridas. Você também pode converter as macros globais que não estão anexadas a um formulário ou relatório específico.

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

Esse processo converte em VBA todas as macros referenciadas por (ou inseridas em) um formulário ou relatório (ou qualquer um de seus controles) e adiciona o código VBA ao formulário ou módulo de classe do relatório. O módulo de classe se torna parte do formulário ou relatório e acompanha o formulário ou relatório se ela for movido ou copiado.

  1. No Painel de Navegação, clique com o botão direito do mouse no formulário ou relatório e clique em Modo Design.

  2. Na guia Design de Formulários , no grupo Ferramentas , clique em Converter Macros do Formulário em Visual Basic ou Converter Macros do Relatório no Visual Basic.

  3. Na caixa de diálogo Converter macros de formulário ou Converter macros de relatório , selecione se você deseja Access para adicionar código de tratamento de erros às funções geradas. Além disso, se você tiver qualquer comentário em suas macros, selecione se deseja incluí-los como comentários nas funções. Clique em Converter para continuar.

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

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

    1. Com o formulário ou relatório ainda aberto no modo Design, se a folha de propriedades ainda não estiver sendo exibida, pressione F4 para exibi-la.

    2. Na guia Evento da folha de propriedades, clique em qualquer caixa de propriedade que exibe [Procedimento de Evento], e clique no botão de compilação Imagem do botão. Para exibir as propriedades de evento de um controle específico, clique no controle para selecioná-lo. Para exibir as propriedades de evento de todo o formulário ou relatório, selecione Formulário ou Relatório na lista suspensa na parte superior da folha de propriedades.

      Access abre a Editor do Visual Basic e exibe o procedimento de evento em seu módulo de classe. Você pode rolar para cima ou para baixo a fim de ver outros procedimentos que estão no mesmo módulo de classe.

Converter macros globais

  1. No Painel de Navegação, clique com o botão direito do mouse na macro que você deseja converter e clique em Modo Design.

  2. Na guia Design de Macro , no grupo Ferramentas , clique em Converter Macros em Visual Basic.

  3. Na caixa de diálogo Converter Macro, selecione as opções desejadas e clique em Converter.

    Access converte a macro e abre a Editor do Visual Basic.

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

    1. No Editor do Visual Basic, se o painel do Explorador de Projetos não for exibido, no menu Exibir, clique em Explorador de Projetos.

    2. Expanda a árvore sob o nome do banco de dados no qual você está trabalhando.

    3. Em Módulos, clique duas vezes no módulo Macro Convertida– nome da macro.

      O Editor do Visual Basic abre o módulo.

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

Ao converter uma macro global em VBA, código VBA é colocado em um módulo padrão. Diferentemente de um módulo de classe, um módulo padrão não faz parte de um formulário ou relatório. Provavelmente você vai querer associar a função a uma propriedade de evento em um formulário, relatório ou controle para que o código seja executado exatamente quando e onde você quiser. Para fazer isso, você pode copiar o código VBA para um módulo de classe e associá-lo a uma propriedade de evento, ou pode fazer uma chamada especial da propriedade de evento para o módulo padrão usando o procedimento a seguir.

  1. No Editor do Visual Basic, anote o nome da função. Por exemplo, se você converteu uma macro chamada MyMacro, o nome da função será MyMacro().

  2. Feche o Editor do Visual Basic.

  3. No Painel de Navegação, clique com o botão direito do mouse no formulário ou relatório com o qual você deseja associar a função e clique em Modo Design.

  4. Clique no controle ou seção com o qual você deseja associar a função.

  5. Se a Folha de Propriedades não for exibida, pressione F4 para exibi-la.

  6. Na guia Evento da folha de propriedades, clique na caixa da propriedade de evento com a qual você deseja associar a função.

  7. Na caixa da propriedade, digite um sinal de igual (=) seguido pelo nome da função, por exemplo, =MyMacro(). Inclua os parênteses.

  8. Salve o formulário ou relatório clicando em Salvar na Barra de Ferramentas de Acesso Rápido.

  9. No Painel de Navegação, clique duas vezes no formulário ou relatório e teste para ver se o código é executado como deveria.

Agora você conhece as etapas básicas para adicionar o código VBA ao seu banco de dados. Este artigo descreve somente as noções básicas para começar; há muitos livros de referência e recursos online excelentes que podem ajudar você a desenvolver suas qualificações em programação.

Confira também

Criar uma macro de interface do usuário

Executar uma macro do Access usando um atalho de teclado

Automatizar eventos de inicialização com uma macro

Criar uma macro que é executada quando você abre um banco de dados

Ordem de eventos para objetos de banco de dados

Início da Página

Precisa de mais ajuda?

Quer mais opções

Explore os benefícios da assinatura, procure cursos de treinamento, saiba como proteger seu dispositivo e muito mais.

As comunidades ajudam você a fazer e responder perguntas, fazer comentários e ouvir especialistas com conhecimento avançado.

Essas informações foram úteis?

Qual é o seu grau de satisfação com a qualidade do idioma?
O que afetou sua experiência?
Ao pressionar enviar, seus comentários serão usados para aprimorar os produtos e serviços da Microsoft. Seu administrador de TI poderá coletar esses dados. Política de Privacidade.

Agradecemos seus comentários!

×