Formulário sempre no topo
Neste exemplo, um formulário é colocado sobre a janela de qualquer programa previamente aberto e permite a interação entre o formulário e a janela sem que o formulário desapareça.
Essa configuração permite, por exemplo, que você copie a parte de um texto de uma página da web e cole em um campo do formulário.
Usa duas funções API. Uma que coloca o formulário sobre as demais janelas e outra que esconde a janela principal do Access.
A princípio , poderiamos imaginar que bastaria colocar o formulário sobre a janela existente para conseguir a interação entre os dois. No entanto, isso não acontece. Quando você clica na janela que está no fundo, o formulário do Access desaparece e vai para trás dela. Você teria então que minimizar a janela para voltar a ter acesso ao formulário.
No entanto, usando esta função em conjunto com a que esconde a janela principal é possível a interação do modo desejado.
Não me perguntem por quê. Não entendo nada de API ! Apenas juntei dois códigos de fontes diferentes e acabei chegando onde queria.
Arquitetura
Formulário
A propriedade Pop-Up deve ser definida como : Sim
A propriedade Janela restrita como :Sim
Desative a Caixa de controle e todos os seus botões para obrigar o usuário a usar o botão Fechar.
Eventos (para detalhes, veja os códigos)
1) Evento: Intervalo do cronômetro : Colocar o valor 50
2) Evento: No cronômetro : Coloque primeiro a chamada da função que coloca o formulário sobre as outras janelas e na sequência a que esconde a janela do Access.
3) Coloque um botão para fechar o formulário e no evento Ao clicar , coloque a instrução Close seguida da chamada da função que mostra novamente a janela do Access. Por questão de segurança, implemente rotinas de erro para todos os procedimentos de evento.
Módulos
O código para mostrar e ocultar a janela do Access está no módulo basOcultarMostrar.
O código para colocar o formulário sobra as outras janelas está em basTopo.
Nada é perfeito ! ! !
Quando o formulário é fechado, todas as barras de menu e ferramentas desaparecem. Só sobram a janela Banco de dados e a janela de fundo do Access. Por isso, se você precisar de alguma função ligada às barras, você deve incorporá-las em um formulário.
Referências :
1) Colocar um formulário sobre as outras janelas abertas.
2) Esconder a janela principal do Access (Link atualmente indisponível)
Você pode encontrar códigos semelhantes ao que está indisponível clicando aqui
parabéns pelo exemplo. Está bastante claro e vai-me servir plenamente.
Carlos, boa noite
Sou um iniciante em access, e criei um formulário e agora preciso finalizá-lo. Tentei executar o exemplo acima e não consegui. É só copiar e colar mesmo a regra? E eu tenho uma dúvida. Quando eu precisar de dar uma manutenção, qual operação debe ser feita para reexibir a parte oculta do access.
Muito obrigado desde já
Já lutei muitas vezes por um exemplo destes e não tinha aonde ir buscar. Parabéns, fin almente um excelente exemplo de formulário no topo que faz muito geito em determinadas ocasiões
Testei o código no exemplo e funcionou a parte de ocultar a janela do Access. Contudo, não consegui fechar a aplicação por completo, pois o processo MSAccess.exe ficou em execução e não foi fechado.
Olá Allan
Testei o exemplo novamente e não constatei a anormalidade que você relatou.
Acredito que podem haver duas possibilidades para que isso ocorra:
1) Você estava usando o Access com outra aplicação e abriu o exemplo sem antes fechar a aplicação inicial.
2) Você alterou o código possivelmente trocando alguma instrução Close por Quit.
Foi o que pude imaginar sem saber detalhes do seu projeto.
Se o problema persistir, mande um retorno com mais detalhes.
Abraço
Paulo