Desabilitando a faixa(ribbon) superior do Access

Muitos aplicativos são desenvolvidos sem o programador fazer uso de menus ou ribbons e na maioria dos projetos é necessário bloquear parcial ou completamente o acesso às ferramentas de desenvolvimento do Access para o usuário final. 

No caso do Access 2007/2010 , desabilitar toda ou parcialmente a faixa superior é uma tarefa simples, acredite! 

A faixa superior do Access 2007/2010 é composta dos seguintes elementos: Barra de título, Botão do Office(Arquivo no 2010), Barra de Ferramentas de Acesso Rápido e  Guias

Veja, os elementos que compõem a faixa superior do Access 2007:

Usando Access

 

Uma forma radical de desabilitar

Podemos desabilitar de uma única vez, toda a parte superior do Access 2007/2010, chamando por uma função na macro AutoExec.

1. Crie a função abaixo num módulo global.

Public Function fncDesabilitarRibbon()
   DoCmd.ShowToolbar "ribbon", acToolbarNo
End Function

2. Crie a macro AutoExec chamando pela função.

Usando Access

 

O aplicativo ao ser carregado passa pela macro Autoexec que executa a função de desabilitar toda a faixa superior do Access 2007/2010.

Veja como a parte superior fica totalmente limpa após o carregamento da função:

Usando Access

 

Isto é muito útil para quem possui aplicações nas versões anteriores do Access (2003, 2002 e 2000) e deseja que estas, quando rodarem nas versões do Access 2007/2010, sejam capazes de desabilitar a Ribbon.  No entanto é preciso fazer uma pequena modificação na função, para que não acarrete em erro quando o aplicativo rodar nas versões originais ( 2003, 2002 e 2000).  

Public Function fncDesabilitarRibbon()
   'Desativa a ribbon do Access 2007 e 2010
   If Application.Version > 11# Then
      DoCmd.ShowToolbar "ribbon", acToolbarNo
   End If
End Function

Vale lembrar que, com esta opção radical, não será permitido qualquer tipo de menu

 

Desabilitando parcialmente

Observe na primeira figura deste  artigo, as guias disponíveis do Access 2007/2010: início, criar, dados externos, ...  É possível desabilitar todas essas guias , deixando apenas a guia Início que é útil para muitos tipos de aplicativos.

Para desabilitar estas guias vá em: Botão do Office (Arquivo no Access 2010) > Opções do Access > Banco de dados atual.    Desabilite a opção "Permitir menus completos", conforme figura abaixo:

Usando Access

 

Como resultado temos apenas a guia Início e o Botão do Office fica só com a opção "Fechar"

Usando Access

 

Como carregar apenas o menu, criado no Access 2003/2002/2000 , no Access 2007/2010

Tem um artigo completo aqui, que ensina como configurar o Access 2003/2002/2000 para carregar apenas o menu no Access 2007/2010.

Desabiltando a faixa superior através da extensão ACCDR

Uma outra forma de desabilitar a faixa superior é trocando a extensão de ACCDB para ACCDR.  Veja aqui um artigo completo sobre ACCDR

O ACCDR permite que você carregue uma faixa superior personalizada, que você programa em XML. 

Desabilitando a faixa superior com programação XML

Primeiro crie um tabela de nome UsysRibbons com os campos:

RibbonName - texto

RibbonXml - memorando

Abra a tabela UsysRibbons e preencha os campos:

RibbonName com :  rbPrincipal

RibbonXml com :

<customUI xmlns="http://schemas.microsoft.com/office/2006/01/customui">
  <commands>
    <command idMso="ApplicationOptionsDialog" enabled = "false"/>
    <command idMso="FileExit" enabled = "false"/>
    <command idMso="Help" enabled = "false"/>
  </commands>
<ribbon startFromScratch="true">
  <officeMenu>
    <button idMso="FileNewDatabase" visible = "false"/>
    <button idMso="FileOpenDatabase" visible = "false"/>
    <splitButton idMso="FileSaveAsMenuAccess" visible = "false"/>
    <button idMso="FileCloseDatabase" visible = "false"/>
  </officeMenu>
</ribbon>
</customUI>

Veja na figura, a tabela preenchida:

Usando Access

 

Agora vá em: Botão do Office > Opções do Access > Banco de Dados Atual e entre com o nome da ribbon na combo Nome da Faixa de Opções.

Usando Access

 

Sempre que seu aplicativo for carregado, a ribbom rbprincipal será acionada, configurando a faixa superior, conforme a programação elaborada na XML.

 

 


5 comentário(s)

Elias Santos   12/1/2010 16:58:33

Dica excelente e muito bem explicada. Já estou pensando em migrar do 2003 para o 2007/2010.

Muito Obrigado Avelino

Cláudio   24/2/2010 09:55:24

Caro Avelino
Bom dia
Parabéns pela dica. O bloqueio radical da ribbon funcionou perfeitamente, porém ainda existe um pequeno problema para mim: gostaria de desabilitar também o botão grande no canto superior direito e a seta pequena para baixo que dá acesso as funções "inicializar" no banco de dados. isso é possível de alguma forma?
Um grande abraço!

joão   13/7/2010 10:33:38

idem mensagem do claudio. seria possível?
muito bom mesmo essa dica. parabens

Avelino Sampaio   14/7/2010 07:15:12

João,

desabilitar o botão grande, só da forma radical. Tem como desabiltar todo o conteúdo do botão grande através da programção XML da ribbon.

André Luis   14/7/2010 08:14:09

Valeu pela dica, muito bom.
Obrigado.


Envie seu comentário: