Como Criar Menu Personalizado No Access

un menu customizado no vba do access

Como Criar um Menu Customizado no Vba do Access

como criar menu personalizado no access

Curso Access Online

Access – Sistema Financeiro

Curso de Access 2016 – Básico e Avançado

Curso Microsoft Access 2016 Básico| Para Iniciantes

Neste tutorial, mostraremos como criar um menu de acesso personalizado usando o VBA. 
Se você quiser um curso access online, confira nossos links acima deste 
artigo.

Neste artigo, vamos explicar como construir um menu simples utilizando o Microsoft Access e seus formulários. Um menu de navegação apropriado é essencial para qualquer solução de software para desktops. Os usuários finais devem ter um ponto central que eles podem utilizar para se direcionarem para a janela de trabalho desejada. Existem várias abordagens possíveis, utilizando a Faixa de Opções do Microsoft Office, ou se estiver desenvolvendo com o Visual Studio, criando uma solução MDI apropriada. Saber utilizar a programação VBA é essencial. Iremos apresentar uma série de formulários que irão interagir umas com as outras e uma forma de menu principal para ser seu evento de abertura. Iremos passo a passo, mostrando como criar um menu customizado no VBA do Access.

Para criar um menu simples de acesso utilizando o VBA, vamos começar criando três formulários e as seguintes tabelas:

  1. i) frmMainMenu
  2. ii) frmClient

iii) frmSupplier

  1. iv) tblClient
  2. v) tblSupplier

Uma observação: por favor, prestar atenção à padronização dos nomes. Todos utilizam os sufixos frm e tbl. As padronizações dos nomes são importantes quando estiver desenvolvendo qualquer linguagem de programação. Não há um dogma aqui, apenas defina um nome e continue com ele durante todo o desenvolvimento. Se você não tiver imaginação, procure exemplos no Google.

Estes três formulários irão requerer duas tabelas, para que possamos ter controles de formulários condicionados a dados. Estamos assumindo que os leitores já possuem um conhecimento básico de Microsoft Access. As tabelas de exemplo podem ser parecidas com aquelas apresentadas nas imagens seguintes (não são necessários muitos campos para a amostra deste tutorial, então apresentamos apenas alguns mais básicos).

O próximo passo será a criação do formulário. A abordagem mais fácil e rápida é o assistente do Microsoft Access. Então o usuário deve apertar no botão do assistente de criação de formulários, como mostra a figura seguinte.

Depois, o usuário deve selecionar a tabela desejada (nexte exemplo, a tblClient) e pressionar no botão ‘próximo’. Depois, selecione o layout justificado.

Pressione o botão ‘próximo”, mude o prefixo do formulário para frm e selecione finalizar. O formulário de usuário desejado será apresentado com os padrões do Microsoft Access.

O leitor deve repetir os passos anteriores e criar um segundo formulário para gerenciar os dados dos Fornecedores. O layout final do formulário deve ser parecido com o que está sendo mostrado abaixo.

Cada um dos formulários anteriores possui seu próprio botão, para que o usuário possa navegar pela janela do menu de distribuição principal. O objetivo, no fim das contas, é criar um menu customizado de acesso com vba para organizar nossa base de dados.

Vamos adicionar um botão no formulário frmClient: Para este

tutorial acadêmico, qualquer posição funciona, mas se o leitor estiver procurando por layouts de aspecto mais profissional, a posição, dimensão, nomes e layouts são detalhes importantes a serem considerados.

Para adicionar um botão, o leitor deve colocar o formulário no modo de design (clique nele com o botão direito e selecione “design” no menu).

Quando estiver no modo de design, na faixa de opções superior, clique no botão “control” e então clique na posição desejada (neste caso, vamos colocar no cabeçalho do formulário).

Uma vez que o assistente de botões iniciar, clique no botão cancelar. A partir deste ponto, as propriedades serão definidas manualmente. Em relação ao botão criado, por favor, defina suas propriedades como mostrado a seguir. Primeiro, configure o nome do botão para cmdBack.

O layout final deve ficar como a seguir

O leitor pode executar uma sequência parecida para o formulário de Fornecedores. Os passos são: coloque o formulário no modo de design, selecione o botão “control”, clique no cabeçalho do formulário para posicioná-lo, cancele o assistente e configure manualmente as propriedades de Nome e Legenda. Depois, os eventos de clique dos botões serão ajustados apropriadamente.

O formulário do Fornecedor deve ficar assim

Agora, vamos criar o menu de início. Para criar um novo formulário em branco, vá em “criar menu” e selecione “formulário em branco”.

A seguir, coloque o formulário no modo de design e adicione três botões, Clientes, Fornecedores e Sair.

Ao adicionar cada botão, cancele o assistente de botões e configure manualmente os nomes e legendas dos botões. Você deve ter um botão chamado cmdClient com a legenda Clientes, um botão chamado cmdSupplier com a legenda Fornecedores e um botão chamado cmdExit com a legenda Sair.

Clique no botão de salvar e nomeie o formulário como frmMenu.

Nos próximos passos, estaremos lidando com os eventos necessários para os botões e formulários que criamos. Vamos começar pelo formulário frmMenu. A lógica será: quando o usuário clicar no botão Clientes, o formulário frmMenu será escondido e a janela dos clientes será mostrada. Uma lógica parecida será aplicada à janela dos Fornecedores. Isto significa que não será possível visualizar duas janelas ao mesmo tempo. Para navegar entre os Fornecedores e Clientes, o usuário terá que passar pela janela principal.

Vamos definir o evento de clique para o botão dos Clientes. O leitor deve pressionar os três pontos na área de eventos e acessar o editor Visual Basic após selecionar o edito de código na janela de comando.

Para o evento de clique relacionado ao botão cmdClient, o seguinte código VBA deve ser inserido.

Private Sub cmdClient_Click()

On Error GoTo cmdClient_Click_err: ‘Identificação de Erro

Me.Visible = False‘Esconde o formulário do menu ao configurar a propriedade visível para falsa

DoCmd.OpenForm “frmClient”‘Abre o formulário associado ao botão clicado

Exit Sub

cmdClient_Click_err: ‘Código de erro, caso um erro aconteça, se não, a sequência terminará no Exit Sub

Select Case Err.Number

Case Else‘Erro genérico que onde é mostrado o número do erro e uma mensagem

MsgBox Err.Number & ” – ” & Err.Description, vbCritical + vbOKOnly, “System Error …”

End Select

End Sub

O código do leitor deve ser parecido com este.

Preste atenção ao código de erro apresentado. Este tutorial não entrará em detalhes sobre eles, mas lidar com os erros de forma correta é algo que todo programador deve fazer. Isto se aplica a qualquer linguagem de programação. A sequência do código é simplesmente: esconder o formulário do menu e abrir o formulário de Clientes.

Para mostrar o formulário do menu novamente, o usuário deve pressionar no botão “voltar” no formulário dos clientes. Vamos criar o evento para o botão de “voltar” dos Clientes. Outra opção para construir o evento de clique padrão é clicar com o botão direito no controle e selecionar “construir opção de evento” no menu. Por favor, veja a imagem abaixo.

Após selecionar a opção apontada, insira o seguinte código no evento de clique no botão voltar

Private Sub cmdBack_Click()

On Error GoTo cmdBack_Click_err:

DoCmd.Close //Close Method

Form_frmMenu.Visible = True

Exit Sub

cmdBack_Click_err:

Select Case Err.Number

Case Else

MsgBox Err.Number & ” – ” & Err.Description, vbCritical + vbOKOnly, “System Error …”

End Select

End Sub

O código final deve ficar parecido com este.

Este evento de clique fechará a janela dos Clientes e mostrará o formulário de Menu novamente.

Então agora temos o código VBA que abre a janela dos Clientes na janela do Menu e criamos o código VBA que fecha a janela dos Clientes e abre a janela do menu novamente. A mesma lógica deve ser aplicada ao botão dos Fornecedores na janela do menu, e para o botão de voltar na janela dos Fornecedores. O código para o botão dos Fornecedores na janela do menu é

Private Sub cmdSupplier_Click()

On Error GoTo cmdSupplier_Click_err:

Me.Visible = False

DoCmd.OpenForm “frmSupplier”

Exit Sub

cmdSupplier_Click_err:

Select Case Err.Number

Case Else

MsgBox Err.Number & ” – ” & Err.Description, vbCritical + vbOKOnly, “System Error …”

End Select

End Sub

O código para o botão de voltar no formulário dos Fornecedores é

Private Sub cmdBack_Click()

On Error GoTo cmdBack_Click_err:

DoCmd.Close

Form_frmMenu.Visible = True

Exit Sub

cmdBack_Click_err:

Select Case Err.Number

Case Else

MsgBox Err.Number & ” – ” & Err.Description, vbCritical + vbOKOnly, “System Error …”

End Select

End Sub

O código é quase o mesmo, a única mudança é o nome do formulário e do método.

A lógica é exatamente a mesma, e pode ser facilmente utilizada em mais formulários.

Para testar o fluxo da janela, o leitor deve fechar todos os formulários e abrir o formulário do menu.

Clicar no botão Clientes fechará o formulário do menu e mostrará a janela dos Clientes.

 

Pressionar o botão voltar fechará a janela dos Clientes e levará o usuário à janela do menu principal novamente.

Ao clicar no botão dos Fornecedores, isto funcionará de maneira parecida, mas abrirá a janela dos Fornecedores.

 

 

Para finalizer a lógica de navegação, vamos configurar o botão Sair do menu principal. Este botão permitirá que o usuário saia da base de dados do Access, questionando o usuário se ele realmente quer sair.

Para implementar este evento, clique com o botão direito no botão Sair localizado no frmMainMenu e selecione a opção de construção de evento -> construtor de código para acessar o editor de VBA. Você deve ver o seguinte evento.

 

O código VBA para produzir o resultado desejado é o seguinte.

Private Sub cmdExit_Click()

On Error GoTo cmdExit_Click_err:

If MsgBox(“Do you really want to quit the application?”, vbYesNo + vbQuestion, “System question …”) = vbYes Then

DoCmd.Quit

End If

Exit Sub

cmdExit_Click_err:

Select Case Err.Number

Case Else

MsgBox Err.Number & ” – ” & Err.Description, vbCritical + vbOKOnly, “System Error …”

End Select

End Sub

O código apresentado acima perguntará ao usuário se a aplicação deve mesmo ser encerrada. A amostra utiliza o método nativo MsgBox do VBA, que permite uma grande combinação de configurações e layouts, dependendo dos parâmetros.

Uma vez que o formulário do menu principal não tem controles em nenhuma das tabelas, não faz sentido ter o selecionador de registros ativo. Para desativá-lo, apenas coloque o formulário do Menu no modo de design e mude a propriedade Selecionador de Registros para Não. Assim, a seta esquerda no formulário do menu não aparecerá.

 

Por último, o formulário do menu deve abrir quando a base de dados Access for executada. Para definir o formulário de início, por favor, vá à aba de arquivos

Então clique em Opções

Na Base de Dados atual, selecione como Mostrar Formulário no formulário frmMenu e ele iniciará quando a aplicação for aberta.

Esperamos que este tutorial ajude os leitores a entenderem o Microsoft Access, já que esta é apenas uma pequena amostra do que ele pode fazer. Nós criamos um menu customizado no VBA do access! O Microsoft Access pode produzir soluções de software com aparência realmente profissional.

Leave a Reply

Your email address will not be published. Required fields are marked *