As seções a seguir fornecem informações úteis sobre o VBA. Os nomes de objeto são fornecidos para que você possa examiná-los facilmente no banco de dados Northwind 2.0 Starter Edition.
O VBA (Visual Basic for Applications) é a linguagem de programação usada em todos os produtos do Microsoft 365, não apenas no Access. Ele está documentado principalmente aqui: acessar a documentação do desenvolvedor.Para começar, confira Introdução à programação do Access.
Ao pesquisar informações, procure exemplos específicos do Access e inclua o Microsoft Access no termo de pesquisa. Muitas vezes, as soluções para os outros produtos do Microsoft 365 funcionarão, mas podem exigir alterações.
O Microsoft Access é um produto maduro. Isso significa que há muitos exemplos por aí, o que é ótimo para você. Isso também significa que os livros mais antigos sobre programação do Access ainda são viáveis para você examinar. Muitos dos livros mais antigos ainda estão disponíveis em sites de livros usados a uma fração de seu custo original.
Os arquivos do Microsoft Access são arquivos do Microsoft 365. Os arquivos do Microsoft 365 devem estar em um Local confiável ou ter seu conteúdo habilitado. Esses itens são considerados seguros porque você os criou ou eles vieram de uma fonte confiável. Essa verificação ocorre sempre que você abre qualquer arquivo do Microsoft 365. Vamos nos referir a isso como confiável/habilitado daqui em diante. Se uma nova versão do aplicativo for lançada e aberta de um local não confiável, o processo de habilitação do conteúdo será repetido. Para obter mais informações, confira Locais Confiáveis para arquivos do Microsoft 365, Decida se confia em um banco de dados e Adicione, remova ou altere um local confiável no Microsoft 365.
Macros, funções e sub procedimentos são como você implementa a lógica de negócios no banco de dados access.
Controles em um formulário (como botões, caixas de texto, rótulos e assim por diante) podem usar seus eventos (como clicar no controle) para disparar outros processos, como adicionar, excluir registros ou abrir formulários. Esses processos podem ser implementados usando macros ou VBA. Northwind usa principalmente macros e alguns VBA. Para obter mais informações, consulte RunCode Macro Action.
Alguns tipos de controle têm assistentes internos que criam automaticamente uma macro. Por exemplo, adicionar um botão de comando a um formulário abrirá um assistente que oferecerá várias opções de funcionalidade para o botão. Adicionar uma caixa de combinação abrirá um assistente que pode ser configurado para encontrar um registro específico no formulário.
O Painel de Navegação é a principal maneira de exibir e acessar todos os objetos de banco de dados e ele é exibido no lado esquerdo da janela de acesso por padrão. O Painel de Navegação do Northwind 2.0 Starter Edition foi personalizado. Criamos uma categoria personalizada chamada Northwind Starter 2.0. Isso nos permite organizar os objetos por área funcional. Para obter mais informações, consulte Personalizar o Painel de Navegação.
É importante que você aprenda sobre escopo e visibilidade no Access e no Microsoft 365. Escopo refere-se à disponibilidade de uma variável, constante ou procedimento para uso por outro procedimento. Há três níveis de escopo: nível de procedimento, nível de módulo privado e nível de módulo público. Você determina o escopo de uma variável ao declará-la. É uma boa ideia declarar todas as variáveis explicitamente para evitar erros de nomenclatura de conflito entre variáveis com escopos diferentes. Todos os módulos têm duas instruções de diretiva: Opção Comparar Banco de Dados e Opção Explícita. Para obter mais informações, consulte Noções básicas sobre escopo e visibilidade, instrução pública, instrução privada, instrução estática e Compreensão do tempo de vida das variáveis.
Às vezes, você precisa de uma variável para existir após o objeto que o criou sair do escopo. Há três maneiras primárias de fazer isso: Variáveis Públicas, TempVars e armazenar os valores em uma tabela local. Cada um deles tem prós e contras. Muitos desenvolvedores usam uma combinação desses.
Variáveis públicas e TempVars existem para a sessão atual e saem do escopo quando o aplicativo é fechado. E se você quiser manter variáveis específicas do usuário em suas sessões? Você pode armazenar esses tipos de valores em uma tabela local. No Northwind 2.0 Starter Edition, temos esses valores em uma tabela chamada SystemSettings. Por exemplo, um valor na tabela é "ShowWelcome". Esse valor nos informa se você deseja ver a tela de boas-vindas sempre que fizer logon ou não.
Se você usou todos os assistentes de controle integrados ao Access, sabe que, se uma macro for criada, muitas vezes não haverá nenhum tratamento de erro e, se o VBA for criado, ele poderá ser limitado a uma Função MsgBox, estilo Err.Description.
No Northwind 2.0 Starter Edition, implementamos o que é chamado de manipulador de erros global. Erros que ocorrem em qualquer procedimento chamam uma função no nível global para mostrar o erro. A grande vantagem é que o código é consistente e, se a mensagem precisar ser alterada, por exemplo, mostrando o número de erro ou registrando o erro em um arquivo, ele só pode ser feito em um só lugar.
clsErrorHandler é o módulo de classe que implementa o código de tratamento de erros. Um módulo de classe mantém todas as suas funções principais e auxiliares juntas em uma unidade, tornando o código mais encapsulado. A macro AutoExec eventualmente chama a função de inicialização no modStartup, cria uma instância do clsErrorHandler e a salva como uma variável global para que possa ser usada em todo o aplicativo.
Na verdade, o código de tratamento de erros nos procedimentos é tão consistente que fomos capazes de criar tudo isso em menos de cinco minutos usando algum código VBA chique que equipava cada procedimento com o manipulador de erros adequado. Esse código não está incluído no modelo.