As secções seguintes fornecem informações úteis sobre o VBA. Os nomes dos objetos são fornecidos para que possa examiná-los facilmente na base de dados Northwind 2.0 Starter Edition.
O VBA (Visual Basic for Applications) é a linguagem de programação utilizada em todos os produtos do Microsoft 365 e não apenas no Access. Está documentado principalmente aqui: Documentação do programador do Access.Para começar, consulte Introdução à programação do Access.
Ao procurar informações, certifique-se de que procura exemplos específicos do Access e inclui o Microsoft Access no termo de pesquisa. Muitas vezes, as soluções para os outros produtos do Microsoft 365 irão funcionar, mas podem exigir alterações.
O Microsoft Access é um produto maduro. Isso significa que há muitos exemplos lá fora, o que é ótimo para si. Isto também significa que os livros mais antigos sobre programação do Access ainda são viáveis para que possa ver. Muitos dos livros mais antigos ainda estão disponíveis em sites de livros usados a uma fração do seu custo original.
Os ficheiros do Microsoft Access são ficheiros do Microsoft 365. Os ficheiros do Microsoft 365 têm de estar numa Localização fidedigna ou ter os respetivos conteúdos ativados. Estes itens são considerados seguros porque os criou ou são provenientes de uma origem fidedigna. Este marcar ocorre sempre que abre um ficheiro do Microsoft 365. Vamos referir-nos a isto como fidedigno/ativado a partir de agora. Se uma nova versão da aplicação for lançada e aberta a partir de uma localização não fidedigna, o processo de ativação do conteúdo será repetido. Para obter mais informações, consulte Localizações Fidedignas para ficheiros do Microsoft 365, Decidir se pretende confiar numa base de dados e Adicionar, remover ou alterar uma localização fidedigna no Microsoft 365.
Macros, funções e subprodutos são a forma como implementa a lógica de negócio na sua base de dados do Access.
Os controlos num formulário (como botões, caixas de texto, etiquetas, etc.) podem utilizar os respetivos eventos (como clicar no controlo) para acionar outros processos, como adicionar, eliminar registos ou abrir formulários. Estes processos podem ser implementados com macros ou VBA. A Northwind utiliza principalmente macros e alguns VBA. Para obter mais informações, veja Ação de Macro ExecutarCódigo.
Alguns tipos de controlo têm assistentes incorporados que criam automaticamente uma macro. Por exemplo, adicionar um botão de comando a um formulário irá abrir um assistente que irá 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 localizar um registo específico no formulário.
O Painel de Navegação é a main forma como vê e acede a todos os objetos da base de dados e é apresentado no lado esquerdo da janela do Access por predefinição. O Painel de Navegação da Edição Starter northwind 2.0 foi personalizado. Criámos uma categoria personalizada denominada Northwind Starter 2.0. Isto permite-nos organizar os objetos por área funcional. Para obter mais informações, veja Personalizar o Painel de Navegação.
É importante que saiba mais sobre o âmbito e a visibilidade no Access e no Microsoft 365. Âmbito refere-se à disponibilidade de uma variável, constante ou procedimento para utilização por outro procedimento. Existem três níveis de âmbito: nível de procedimento, nível de módulo privado e nível de módulo público. Pode determinar o âmbito de uma variável ao declará-la. Recomendamos que declare explicitamente todas as variáveis para evitar erros de conflito de nomenclatura entre variáveis com âmbitos diferentes. Todos os módulos têm duas instruções de diretiva: Opção Comparar Base de Dados e Opção Explícita. Para obter mais informações, veja Compreender o âmbito e a visibilidade, Declaração pública, Declaração privada, Instrução estática e Compreender a duração das variáveis.
Por vezes, é necessário que exista uma variável após o objeto que o criou ficar fora do âmbito. Existem três formas principais de o fazer: Variáveis Públicas, TempVars e armazenar os valores numa tabela local. Cada um destes tem prós e contras. Muitos programadores utilizam uma combinação destes.
As variáveis públicas e as TempVars existem para a sessão atual e ficam fora do âmbito quando a aplicação é fechada. E se quiser manter variáveis específicas do utilizador nas respetivas sessões? Pode armazenar esses tipos de valores numa tabela local. Na Northwind 2.0 Starter Edition, temos esses valores numa tabela chamada SystemSettings. Por exemplo, um valor na tabela é "ShowWelcome". Este valor indica-nos se pretende ver o ecrã de boas-vindas sempre que iniciar sessão ou não.
Se tiver utilizado assistentes de controlo incorporados no Access, sabe que, se uma macro for criada, muitas vezes não existe qualquer processamento de erros e, se o VBA for criado, poderá estar limitado a uma Função MsgBox, estilo Err.Description.
No Northwind 2.0 Starter Edition, implementámos o que se chama um processador de erros global. Os erros que ocorrem em qualquer procedimento chamam uma função ao nível global para mostrar o erro. A grande vantagem é que o código é consistente e, se a mensagem precisar de ser alterada, por exemplo, mostrar o número de erro ou registar o erro num ficheiro, só pode ser feito num único local.
clsErrorHandler é o módulo de classe que implementa o código de processamento de erros. Um módulo de classe mantém todas as suas funções de main e auxiliares juntas numa unidade, tornando o código mais encapsulado. A macro AutoExec acaba por chamar a função de arranque no modStartup, cria uma instância de clsErrorHandler e guarda-a como uma variável global para que possa ser utilizada em toda a aplicação.
Na verdade, o código de processamento de erros nos procedimentos é tão consistente que conseguimos criar tudo em menos de cinco minutos com algum código VBA sofisticado que equipava cada procedimento com o processador de erros adequado. Este código não está incluído no modelo.