AS EMPRESAS ESTÃO "DESESPERADAS" POR ESTE TIPO DE PROFISSIONAL... - VOCÊ É UM DELES?
MEGA FORMAÇÃO EM INFRAESTRUTURA DE TI - O Conhecimento que Vira Dinheiro - CLIQUE AQUI
| « Anterior | Δ Página principal | ¤ Índice | Próxima » |
| Criando menus, barras de comando e botões personalizados no Access usando VBA Autor: Robert Friedrick Martim |
|||||
|---|---|---|---|---|---|
| Lição 012 - Listando os menus e sub-menus do Access | |||||
Um aspecto importante do processo de criação de menus personalizados no Office é conhecer os próprios menus do Office. Porém, como são centenas de menus é missão impossível saber todos de cor. Contudo, existe uma forma simples de se listar os menus e sub-menus. Na primeira parte deste tópico mostrarei como listar os menus em um arquivo texto externo. O código será simples e listará as barras de comando/ferramenta. Na segunda parte, o problema é modificado ligeiramente. Aqui, listaremos as barras de comando/ferramenta em uma tabelo do Access e os sub-menus em outra tabela. Porém, antes de iniciarmos o código iremos relacionar as tabelas para que os sub-menus. Listando somente as barras de comando/ferramentas em um arquivo textoPara escrever informações em um arquivo texto é bem simples. O primeiro passo requer a abertura do documento como um apêndice. No segundo passo escrevemos os dados e no terceiro fechamos o arquivo texto. Neste exemplo, acrescento um pequeno aviso para que o usuário saiba que o processo de listagem dos menus foi terminado. Se o usuário deseja visualizar o arquivo basta clicar Sim. Caso ele decida por não ver o arquivo a rotina é terminada.
Ao rodar o código, no momento que a lista é terminada o usuário é avisado:
A figura abaixo mostra parte da lista contendo as barras de comando/ferramenta do Access.
Listando as barras de comando/ferramentas e sub-menus no AccessDiferentemente do exemplo anterior, o próximo exemplo é bem mais elaborado. Um problema que talvez não seja óbvio, mas que certamente pode ser resolvido é a questão do que vai com o que. Em outras palavras, você sabe que uma barra de comando/ferramenta possui vários controles. Alguns destes controles são botões onde não há mais nada abaixo deles. Por outro lado, se o controle for do tipo msoControlPopup teremos outros controles subordinados a ele. A figura abaixo mostra tal cenário:
Como o leitor já sabe, quando trabalhamos com banco de dados podemos e devemos relacionar dados sempre que possível. Imagine, então, a situação onde temos uma tabela chamada Barras, uma outra chamada Menus e outra chamada Popups. Na primeira tabela nós listamos todas as barras de comando/ferramenta. Na tabela de menus nós listamos todos os menus. Se a tabela Barras e tabela Menus possuem um campo em comum, digamos IDBarra, então, podemos relacionar os dados das duas tabelas. Por analogia, o mesmo será válido para as tabelas Menu e Popups. O resultado final destes relacionamentos é, na verdade, uma “cascata” como a apresentado na figura acima. Observe a figura:
Ao expandirmos as tabelas relacionadas iniciando pela hierarquia mais alta, estamos expandindo as tabelas da mesma forma que expandimos os menus. Obviamente, que ainda existem mais níveis, como pode ser visto na figura. O controle Obter dados externos ainda pode ser expandido, mas isso eu deixarei como exercício para o leitor. Para se criar relacionamento é bem simples. Contudo, estarei criando o relacionamento diretamente no código, assim como todas as tabelas e campo. O motivo para a criação das tabelas, campos e relacionamentos no código é que o código para listar as informações poderá ser rodado sempre em tabelas limpas, sem dado algum. Como o volume de dados sendo listado é relativamente grande, se o seu computador não possui uma boa capacidade de processamento o processo pode ser relativamente lento. Para completar este exercício, você precisará:
Utilizaremos três tabelas onde os dados serão armazenados, contudo, as tabelas e relacionamento serão criados via código. Crie o seu formulário e defina-o como o formulário de abertura inicial. Abra o formulário onde o seguinte código deve ser entrado:
O rotina acima será executada no momento que o banco de dados é aberto e ira chamar a rotina iniciar. Portanto, o nosso próximo passo requer a construção desta rotina. Esta rotina pode ser considerada uma firula, pois seu único objetivo é interagir com o usuário:
Ao ser executada, a rotina avisa o usuário que o processo está sendo iniciado. Se o usuário realmente deseja continuar, então, as rotinas para inserção das tabelas e menus são chamadas. Caso contrário, a rotina é terminada. Feito isso, estamos prontos para criar a rotina que inserirá as tabelas e relacionamentos. Antes de continuar, assegure-se que os objetos DAO estão referenciados no seu projeto caso contrário você não conseguirá dimensionar alguns dos objetos do código. Para referenciar os objetos DAO, ainda no VBE, vá até Ferramentas à Referências e instale a referência Microsoft DAO x.x Object Library. Com todas as referências no lugar, podemos partir para o nosso código. Instruções e comentários acompanham o código para melhor compreensão:
Finalmente, estamos prontos para o código que listará as barras, menus e sub-menus.
A conclusão final deste tópico é que o processo pode parecer relativamente longo, contudo é importante observar a importância de ter tal lista. Se você deseja desenvolver um projeto completamente personalizado não há motivos para reinventar a roda. Portanto, ao saber a identificação de cada item contido nas barras de comando do Access você poderá utilizar estes itens em seu projeto colocando-os eu seu próprio menu de forma seletiva. |
|||||
| « Anterior | Δ Página principal | ¤ Índice | Próxima » |
Universidade do Access - Curso Completo de Access
com tudo para você dominar o Access - do Básico ao
Avançado - até a Criação de Sistemas Profissionais
Completos - Passo a Passo - Tela a Tela
Aplica-se ao Access 2019, 2016, 2013 e 2010!
Para todos os detalhes, acesse:
|
MEGA FORMAÇÃO EM INFRAESTRUTURA DE TI (Online, Vitalício, Prático e Atualizado)! |
|
|
NÃO PROCURE VAGAS, SEJA PROCURADO! |
|
Para Todos os Detalhes, Acesse:
https://juliobattisti.com.br/curso-infra-ti.asp
|
Contato: Telefone: (51) 3717-3796 | E-mail: webmaster@juliobattisti.com.br | Whatsapp: (51) 99627-3434
Júlio Battisti Livros e Cursos Ltda | CNPJ: 08.916.484/0001-25 | Rua Vereador Ivo Cláudio Weigel, 537 - Universitário, Santa Cruz do Sul/RS, CEP: 96816-208
Todos os direitos reservados, Júlio Battisti 2001-2026 ®
LIVRO: MACROS E PROGRAMAÇÃO VBA NO EXCEL 2016 - CURSO COMPLETO E PRÁTICO
DOMINE A PROGRAMAÇÃO VBA NO EXCEL - 878 PÁGINAS - CLIQUE AQUI