Menu Personalizado
Este é um tipo de menu que nos permite economizar tempo, linhas de código e uma melhor arrumação em termos de formulários abertos, uma vez que com este menu apenas precisamos de um formulário aberto. Além de diminuir o número de formulários abertos também diminui o número de botões num menu para abrir cada formulario.
Este tipo de menu, certamente que já existe há algum tempo e já é utilizado por muitos utilizadores do Access.
Então em que consiste este menu?
Vamos criar o menu utilizando uma caixa de combinação que contenha todos os formulários que pretendemos abrir através dele. Ao selecionar uma das opções da caixa de combinação o respectivo formulário é exibido dentro de subformulário. Então vamos começar a fazer o menu passo a passo.
1- Vamos criar uma tabela onde vamos guardar o nome que queremos dar a cada um dos formulários e o nome do formulario que vamos abrir. No exemplo criei a tabela ‘tblmenu’ com os seguintes campos:
Campo Tipo
Nomedomenu texto -> Nome que vai ser visto no menu (caixa de combinação)
formulario texto -> Nome do formulário que vai abrir
Depois introduzimos os dados que no exemplo são os seguintes:
NomedoMenu Formulario
Contas formulario1
Depósitos formulario2
Movimentos formulario3
Conta-Caixa formulario4
Conta-Conta formulario5
Extracto formulario6
2- Depois vamos criar uma consulta da tabela anterior:
Escolhemos a tabela tblmenu e depois escolhemos os dois campos em que escolhemos a ordenação ascendente para o nomedomenu para ser mais fácil de encontrar o menu que queremos quando tempos bastantes formulários para abrir. A esta consulta dei o nome de ‘CsMenu’.
3- Vamos criar o formulário ‘Menu’, ou seja escolhemos novo formulário em vista de estrutura. Depois vamos criar uma caixa de combinação e modificar as seguintes propriedades:
- Nº de colunas: 2
- LArgura das colunas: 1cm;0cm;
- origem da linha: csmenu ( que é o nome da consulta criada no ponto anterior )
4- No mesmo formulário vamos criar um subformulário desvinculado do formulário principal(No exemplo dei o nome de menuquadro). É neste formulário que vai ser aberto cada um dos formulários que escolher no menu (caixa de combinação).
5- Agora vamos criar o módulo que nos vai permitir abrir o menu que é selecionado na caixa de combinação no subformulário.
Criamos um módulo (ao qual eu chamei de ‘abrirmenu’) e colamos o seguinte código:
Public Function AtivarMenu(Combmenu As ComboBox, subabrir As SubForm)
Dim abrirform As String
abrirform = Combmenu.Column(1)
subabrir.SourceObject = abrirform
subabrir.LinkChildFields = “”
subabrir.LinkMasterFields = “”
End Function
Depois vamos às propriedades da caixa de combinação no formulário Menu e no evento Depois de Actualizar colocamos a função criada: =ativarmenu([Menu];[menuquadro]) em que ‘Menu’ é o nome da caixa de combinação e ‘menuquadro’ o nome do subformulário.
E finalmente o menu está pronto a utilizar. É só testar e usar. Espero que tenham gostado desta dica.
Download: Menu
Abaixo uma imagem do menu.































Coloquei um botão CANCELAR no formulário2 e gostaria que ao clicar, o SubForm voltasse para posição original, ou seja, ficasse em branco e com a combo vazia também. Como construir essa Function?
Grato,
Pedro
Olá Pedro,
Não entendi bem o que pretende fazer. Pelo que percebi quer por um botão no subformulário que faça com que o menu retorne ao estado inicial, é isso?
É isso mesmo! No cancelamento da operação, o subformulário voltaria ao estado inicial, bem como a combo.
Grato.
è possível, fazer este menu, porém utilizando as teclas de atalho conforme o menu anterior.
boas consegui fazer o menu seguindo os passos aqui descritos, porem os meus formularios tem caixas de combinação inter ligadas e nos formularios funcionam mas quando passo para os formulariomenu, deixam de funcionar. que posso fazer?
nao sei como perguntar mais eu queria saber como faz
para faser um proama executavel no access que poelomenos trabale com horas e preço
Cara Show de Bola, só gostaria de um exemplo ou alguma dica que fosse com botões ao invés de uma combo.
abraço
Cara como fazer o mesmo só que ao invéz de combo com botões?
PRECISO DE UMA AJUDA: FIZ UM SISTEMA DE BANCO DE DADOS NO ACCESS E PRECISAVA DE QUANDO SELECIONASSE UMA DETERMINADA PESSOA NA CAIXA DE VERIFICAÇÃO NO FORMULÁRIO, ABRISSE A FOTO CORRESPONDENTE.
O amigão gostei de mais dessa dica,mas eu nao consegui exito…poderia me mandar passo a passo?eu nao entendo muito de access mas tenho força de vontade se puder me ajudar nisso ai ficaria agradecido.
Minha duvida esta aqui,como posso salvar um formulario com dois nomes distintos?
3- Vamos criar o formulário ‘Menu’, ou seja escolhemos novo formulário em vista de estrutura. Depois vamos criar uma caixa de combinação e modificar as seguintes propriedades:
- Nº de colunas: 2
- LArgura das colunas: 1cm;0cm;
- origem da linha: csmenu ( que é o nome da consulta criada no ponto anterior )
4- No mesmo formulário vamos criar um subformulário desvinculado do formulário principal(No exemplo dei o nome de menuquadro). É neste formulário que vai ser aberto cada um
dos formulários que escolher no menu (caixa de combinação).
Olá,
Achei fantástico seu menu, apenas gostaria de abrir relatórios também e quando coloquei o nome do relatório no meu não funcionou, poderia dar uma dica?
abs,
Claudio