Menu Personalizado

Escrito em Sábado, 20 Setembro 2008 – 19:22 | por Administrador |

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.

Menu Personalizado

Menu Personalizado

RSS feed | Trackback URI

6 Commentários »

Comentário por Pedro
2009-01-05 02:00:01

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

 
Comentário por Administrador
2009-01-05 14:37:19

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?

Comentário por Pedro
2009-01-05 16:22:43

É isso mesmo! No cancelamento da operação, o subformulário voltaria ao estado inicial, bem como a combo.

Grato.

 
 
Comentário por Nixon
2009-05-04 13:25:40

è possível, fazer este menu, porém utilizando as teclas de atalho conforme o menu anterior.

 
Comentário por bruno pontes
2009-10-06 12:21:58

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?

 
Comentário por andeson
2009-10-13 19:25:53

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

 
Nome (obrigatório)
Email (obrigatório - não é publicado)
Website
O seu comentário (Diminuir | Aumentar)
Pode usar <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> nos comentários.

Apresentacao

Avatar

Obrigado pela sua visita.
Subscreva o feed para não perder nenhuma mensagem.

Aqui no blogue vou disponibilizar exemplos de como trabalhar com o Microsoft Access e também tirar dúvidas a quem solicitar. Mais

Quer subscrever?

 Subscrever ou, subscrever por email:
Introduza o seu email:


Anúncios