8
Criando menus personalizados no MS Access Arquivos de exemplo na categoria Exemplos de BD Você alguma vez precisou criar um menu personalizado no Access? Se sim, como foi que você levou a cabo o processo? Existem várias formas de se criar menus personalizados no Office, e o MS Acces nos fornece tabelas que podem ser utilizadas para armazenar os dados que serão utilizados para criar nossos menus. Neste artigo, estarei mostrando como criar tais menus de forma eficiente utilizando uma conexão ao nosso banco de dados para carregar os itens que comporão o nosso menu. Este breve tutorial assume um conhecimento prévio do MS Access como criação de tabelas e entrada de dados. Para iniciar, crie uma nova tabela, como mostra a figura abaixo: Figura - Tabela do Access com as propriedades e métodos da barra de ferramenta As propriedades principais estão comentadas para melhor compreensão. Esta tabela conterá os itens que comparão o nosso menu. Nomeie e salve a sua tabela. Os dados agora podem ser entrados conforme a figura: Figura - Entrada dos dados para criação do menu Com os dados em nossa tabela, acrescente um módulo do VBA para entrarmos o código. Antes de iniciar, porém, você precisará instalar a referência da biblioteca do MS Office. No VBE do Access, vá até Ferramentas » Referências e instale o Microsoft Office X.x Object Library. Escrevendo o código:

Criando Menus Personalizados

Embed Size (px)

Citation preview

Page 1: Criando Menus Personalizados

Criando menus personalizados no MS Access Arquivos de exemplo na categoria Exemplos de BD

Você alguma vez precisou criar um menu personalizado no Access? Se sim, como foi que você levou a cabo o processo?

Existem várias formas de se criar menus personalizados no Office, e o MS Acces nos fornece tabelas que podem ser utilizadas para armazenar os dados que serão utilizados para criar nossos menus.

Neste artigo, estarei mostrando como criar tais menus de forma eficiente utilizando uma conexão ao nosso banco de dados para carregar os itens que comporão o nosso menu. Este breve tutorial assume um conhecimento prévio do MS Access como criação de tabelas e entrada de dados.

Para iniciar, crie uma nova tabela, como mostra a figura abaixo:

Figura - Tabela do Access com as propriedades e métodos da barra de ferramenta

As propriedades principais estão comentadas para melhor compreensão. Esta tabela conterá os itens que comparão o nosso menu. Nomeie e salve a sua tabela. Os dados agora podem ser entrados conforme a figura:

Figura - Entrada dos dados para criação do menu

Com os dados em nossa tabela, acrescente um módulo do VBA para entrarmos o código. Antes de iniciar, porém, você precisará instalar a referência da biblioteca do MS Office. No VBE do Access, vá até Ferramentas » Referências e instale o Microsoft Office X.x Object Library.

Escrevendo o código:

Page 2: Criando Menus Personalizados

O menu será construido baseado em cada caso encontrado no campo TIPO. Aqui, utilizo um valor numérico para definir o tipo do controle sendo inserido em nossa barra de comando. Contudo, o tipo pode ser uma string (texto) para melhor visualização. Por exemplo, poderíamos definir o caso para o botão como sendo BOTÃO, deixando o caso explicitamente definido. Lembre-se apenas que como estam os lidandos com S trings o caso precisa estar entre aspas, isto é, “B O TÃ O ”.

Page 3: Criando Menus Personalizados

Após a compilação do menu:

Figura - Menu compilado

Você alguma precisou criar um menu personalizado no Access? Se sim, como foi que você levou a cabo o processo?

Existem várias formas de se criar menus personalizados no Office e o MS Access nos fornece tabelas que podem ser utilizadas para armazenar os dados que serão utilizados para criar nossos menus.

Nesta série de artigos, estarei mostrando como criar tais menus de forma eficiente utilizando uma conexão ao nosso banco de dados para carregar os itens que comporão o nosso menu. Este breve tutorial assume um conhecimento prévio do MS Access. Para acessar a primeira parte desta série de artigos e arquivos clique aqui.

Neste artigo mostrarei como criar um menu de atalho (o menu acessado com o botão direito do mouse). A figura abaixo mostra um menu de atalho do próprio Access:

Figura 1 – Exemplo menu de atalho do MS Access

Ao clicar com o botão direito do mouse sobre o formulário o Access autom aticam ente; portanto, terem os que “passar por cim a” do m enu de atalho do Access para colocarmos o nosso próprio menu.

Para completar o exercício você precisará:

Page 4: Criando Menus Personalizados

Instalar a referência ao Microsoft Office xx Object Library (xx indica a versão de seu Office – Veja artigo 1 para instruções)

Criar um módulo Criar um Formulário

A primeira parte consiste em escrever o código que irá em nosso módulo. O código é quebrado em duas partes:

Sub-rotina para criar o menu Sub-rotina para remover o menu

Escrevendo o código (modulo):

Page 5: Criando Menus Personalizados

Resolvido o código para a criação do menu, nós estamos prontos para criar o código para chamar o menu diretamente de nosso formulário.

Abra a janela de código do formulário onde nós inseriremos o código.

Escrevendo o código (formulário):

Page 6: Criando Menus Personalizados

Observe que o menu é compilado quando o formulário é aberto. No exemplo específico, defino o form ulário com o o form ulário de “startup” do aplicativo forçando, assim, a compilação do menu quando o banco de dados é aberto.

Ao clicar com o botão direito do mouse sobre o formulário obtemos nosso menu ao invés do menu padrão do Access:

Figura 2 – Exemplo menu de atalho personalizado

Você alguma vez precisou criar um menu personalizado no Access? Se sim, como foi que você levou a cabo o processo?

Existem várias formas de se criar menus personalizados no Office e o MS Access nos fornece tabelas que podem ser utilizadas para armazenar os dados que serão utilizados para criar nossos menus.

Nesta série de artigos, estarei mostrando como criar tais menus de forma eficiente utilizando uma conexão ao nosso banco de dados para carregar os itens que comporão o nosso menu. Este breve tutorial assume um conhecimento prévio do MS Access. Para acessar a primeira parte desta série de artigos e arquivos clique aqui. Para acessar a segunda parte clique aqui.

Neste artigo mostrarei como executar ações e atalhos de teclado utilizando a propriedade OnAction e o método Execute. Além disso mostrarei como criar teclas de atalho no Access.

A diferença entre OnAction e Execute é que OnAction executa um comando que nós mesmos criamos ao passo que Execute executa um comando interno do

Page 7: Criando Menus Personalizados

Access como Imprimir, por exemplo. Porém, o Execute é acionado quando criamos nosso botão, portanto, iremos utilizar o ID do botão interno para executar o comando. Em outras palavras, definiremos o nosso botão de forma que ele faça a mesma coisa quando clicamos no botão de relacionamentos no menu Ferramentas.

Primeiramente, vamos criar o código que montará nosso menu:

Public Const MENUACCESS As String = "Menu Bar"

Sub executandoMenus() Dim mnu As CommandBarPopup Dim btn As CommandBarButton On Error Resume Next CommandBars(MENUACCESS).Controls("Executar comandos").Delete Set mnu = CommandBars(MENUACCESS).Controls.Add _ (Type:=msoControlPopup, before:=1) mnu.Caption = "Executar comandos" Set btn = mnu.Controls.Add(Type:=msoControlButton) With btn .Caption = "Exemplo OnAction" .FaceId = 1018 'Mensagem refere-se a macro a ser executada .OnAction = "Mensagem" End With 'Defini o ID do botão como sendo 523 (Relacionamentos). 'Quando o botão for clicado o Access carrega 'a caixa de relacionamentos Set btn = mnu.Controls.Add(Type:=msoControlButton, ID:=523) With btn .Caption = "Exemplo Execute" .FaceId = 523 'Este método está comentado, pois utilizaremos 'o ID 523 para executá-lo '.Execute End With End Sub

O nosso menu tem o seguinte aspecto:

Figura 1 – Propriedade OnAction e Método Execute

Os faceID ’s ficam a critério do leitor. No próximo artigo estarei mostrando como criar uma lista das faces disponíveis no Office dentro do próprio Access em uma barra de comando.

Observe que no OnAction nós colocamos o nome da macro a ser executada. Porém, no caso do Execute utilizamos o número referente ao comando que desejamos executar. Como o OnAction necessita de uma macro precisamos acrescentá-la ao nosso projeto. Como exemplo, podemos utilizar a seguinte sub-rotina:

Page 8: Criando Menus Personalizados

Sub Mensagem() MsgBox "Não há nada neste botão que possa ser executado.", _ vbInformation End Sub

Quando clicamos no primeiro botão ele executa o OnAction e a mensagem é passada para o usuário:

Figura 2 – MsgBox chamada pela Propriedade OnAction

Já no segundo botão estamos executando um comando interno do Access com um ID igual a 523:

Figura 3 – Janela de relacionamentos ativada pela Método Execute

Uma vez que definimos qual é o ID do comando o método Execute torna-se redundante, pois ao clicarmos no botão o comando será executado. Porém, há situações onde queremos que o comando seja executado quando o código é rodado.

Os comandos acima são acessados através de um “clique”, porém , podem os também acrescentar um combinação de teclas para criar um atalho de teclado para o nosso botão.

Atalhos de teclado são acessados diretamente do teclado e facilitam a execução de comando, pois não precisamos recorrer ao mouse toda vez que desejamos executar tal comando.