... Assinatura do site por 3 anos + Kit MontaRibbons + 3 Livros em PDF + Diversas Revistas (pdf) de brinde, por apenas R$182,00
(
podendo parcelar em até 10 vezes no cartão de crédito)...

Clique aqui e obtenha mais detalhes do nosso kit completo e de como comprar.


Ribbons - Frutos do Suporte

Fiz um apanhado das principais dúvidas que o pessoal costuma tirar comigo no suporte que ofereço para quem compra o MontaRibbons.

1) É possível usar ribbons em projetos MDB ou ADP ?

Sim, a única exigência para isso é que estejam rodando no Access 2007 ou no Access 2010.

2) Posso utilizar macros para ativar os botões de uma ribbon ?

Sim, perfeitamente! Crie uma macro global e dentro desta as sub macros de comando.

Exemplo de um botão:

<button id = "btClientes"
imageMso = "CreateTableTemplatesGallery"
label = "Clientes"
onAction = "mcr_ribbon.mAbreFormClientes"/>

mcr_ribbon > macro global
mAbreFormClientes > sub macro com a ação "Abrir formulário"

3) Avelino, a ribbon que montei para o meu BD estava funcionando direitinho.   Só que resolvi dividir o BD (back-end e front-end) e a ribbon parou de funcionar.   Não entendi a razão.   Pode me ajudar?

O assistente do Access, que realiza a separação do BD, carrega a tabela UsysRibbons para o back-end.   Retorne com a tabela UsysRibbons para o front-end que irá funcionar.

4) Tenho vários formulários, relatórios e consultas que acesso pela ribbon e o meu SELECT CASE, na função fncOnAction, está ficando enorme. Não teria uma outra maneira de simplificar essa programação ?

Sim, tem. Podemos utilizar, no atributo onAction dos botões, função com passagem de parâmetros.

Copie a função abaixo para um módulo global qualquer:

Public Function fncAbrirObjeto(nomeObjeto As String, tipoObjeto As Byte)
Select Case tipoObjeto
   Case 1 'formulário
      Docmd.OpenForm nomeObjeto
   Case 2 'relatório
      Docmd.OpenReport nomeObjeto , acViewPreview 
   Case 3 'Consulta
      Docmd.OpenQuery nomeObjeto
End Select
End Function

Agora utilize a função direto na XML, conforme exemplo abaixo:

<button id = "btBackup"
imageMso = "FileBackUpSqlDatabase"
label = "Backup"
onAction = "=fncAbrirObjeto('frmBackup',1)" />

5) Avelino, eu estava tentando elaborar uma ribbon para usar junto a gráficos dinâmicos. Usando o MontaRibbons, encontrei o botão com idMso "FieldList" que mostra todos os campos que podem ser utilizados num gráfico dinâmico. À priori quando coloquei para rodar no modo .accdb ele funcionou perfeitamente, porém quando coloquei para o modo .accdr , ele simplesmente sumiu do meu menu. Creio que o Access o considera  como um aplicativo do modo design e por isto não habilita no modo de tempo de execução. Gostaria de saber se é possível liberar este botão para funcionar no modo .accdr?

Force a visualização com o atributo visible.

<toggleButton idMso="FieldList" label="Lista" visible="true"/>

6) Avelino, eu não estou conseguindo localizar a tabela USysRibbons.

Trata-se de uma tabela de sistema.  Para visualizar as tabelas de sistema faça o seguinte:

Botão do Office > Opções do Access > Banco de dados Atual > Clique no botão "Opções de navegação" > Marque "Mostrar objetos do sistema"

7) Como manter o foco numa determinada guia da ribbon ?

No Access 2010 resolveram esta questão! Veja:

objRibbon.ActivateTab "NomeDaSuaTab"

Já no Access 2007, você terá que fazer uso do SendKeys.

1) Acrescente tecla de atalho (keytip) para cada uma das tabs.

<tab id="TabPrincipal" label="Principal" keytip="H1">

2) Código:

Public Function fncSetFocusTab()
Dim ws As Object
#If VBA7 Then
    'Access 2010
    objRibbon.ActivateTab "NomeDaTab"
#Else
    'Access 2007
    Set ws = CreateObject("WScript.shell")
    ws.SendKeys "%H1%"
    Set ws = Nothing
#End If
End Function

Não use o SendKeys do Access porque ocorre aquele famoso problema de desabilitar o teclado numérico.

8) Avelino, comprei sua coletânea do site e instalei o aplicativo UsandoAcces e lá percebi que você conseguiu ocultar toda a faixa superior do Access, inclusive o botão do Office.  Como é que você fez isso ?

Veja aqui neste artigo como se faz!

9) Estava construindo minha ribbon no MontaRibbons e eis que não está mais aparecendo.  O que fiz de errado ?  Estou usando o Access 2010.

Habilite a detecção de erros que você irá descobrir a causa.

Botão Arquivo > Opções > Configurações do cliente > Marque "Mostrar erros da interface de usuários em suplementos"

10) Como faço para minimizar a ribbon na inicialização do meu aplicativo?

No Access 2007 não tem um comando específico para isso. A combinação de teclas CTRL + F1 é a responsável em maximizar e minimizar a ribbon.

Use a função abaixo no seu formulário de abertura ou na macro AutoExec :
 

Public Function fncMinimizaRibbon() As Boolean
Dim ws As Object
Set ws = CreateObject("WScript.shell")
If Application.CommandBars("ribbon").height > 140 Then
   ws.SendKeys "^{f1}"
End If
Set ws = Nothing
End Function

Uso o sendkeys do Windows Script porque o do Access desliga o NumLock do teclado.

Já no Access 2010 tem um comando, conforme linha abaixo. Eu não testei ainda. A função acima também deve funcionar no Access 2010.

CommandBars.ExecuteMso "MinimizeRibbon"

11) Como eu tiro a mensagem "pressione F1 para obter mais ajuda" do painel informativo?

A parte inferior do painel informativo, que lhe instrui para pressionar o F1, não tem como ser desabilitada, porém é possível desabilitar o painel informativo, através do caminho abaixo:

Botão do Office > Opções do Access > Mais Usados > Abra a Combo "Estilo de dica de tela" e selecione "Não mostrar dicas de tela" .

12) Estou desenvolvendo um aplicativo, utilizando o MontaRinbons e também o Maestro, mas estou passando por um probleminha: criei uma ribbon principal e também uma outra ribbon que é acionada por um formulário.   Acontece que quando faço a chamada deste formulário, este abre com a ribbon, porém ela desaparece rapidamente e volta para a ribbon principal. Já verifiquei as referências e a mesma está habilitada.

As ribbons não funcionam em formulários e em relatórios que estiverem no modo POP-UP. Altere a propriedade POP-UP do seu formulário para não.

13) "A MICROSOFT Access não pode executar a macro ou a função de retorno de chamada 'fncOnAction'", sendo que já copiei os módulos MOD_RIBBONS para o meu sistema e dentro desse módulo consta a função fncOnAction. Também já coloquei a referência do Object Library 12.0.

Peço para que torne a verificar, com o máximo de atenção, a referência! Selecione a referência MICROSOFT OFFICE 12.0 OBJECT LIBRARY. Não a confunda com a referência MICROSOFT ACCESS 12.0 OBJECT LIBRARY

14) No meu sistema, versão 2003, eu tinha ícones de atalhos para os formulários mais usados.  Há possibilidade de fazer isso no Access 2007, de maneira que estes atalhos fiquem sempre visíveis?

Nos Access 2007 e 2010 têm o que chamamos de “Barra de ferramentas de acesso rápido” . Ela fica na parte superior esquerda, da faixa do Access e pode ser também posicionada na parte inferior, se assim o desejar.  A personalização desta Barra, com os seus botões, é feita pela XML da sua Ribbon Principal.

Exemplo de configuração de um botão na "Barra de ferramentas de acesso rápido", conhecida também como qat.

...
<ribbon startFromScratch="true">

<!-- ***TAG QAT***-->

<qat><documentControls>

<button id = "btfrmClientes" imageMso = "CreateTableTemplatesGallery" onAction = "fncOnAction"/>

</documentControls></qat>
...

15) Quando aciono o meu aplicativo, assim que a tela de login aparece, a ribbon já é carregada.  Na realidade, ela só teria que ser carregada quando eu efetuasse o login.   A tela de login é a mesma do Maestro.  Então, como faço  para manter a ribbon desabilitada na inicialização, da mesma forma que é feito no Maestro? 

A guia principal da sua ribbon, tem que estar com o atributo getVisible.   Exemplo:

<!-- *** GUIA PRINCIPAL ***-->
<tab id = "guiaPrincipal" label = "Principal" getVisible="fncGetVisible">

Para controlar a abertura da ribbon, na inicialização do Maestro, é usada uma variável de nome nlogoff, que se encontra no módulo mod_login

Public nlogoff As Boolean

No início da função fncGetVisible, esta variável é usada, encerrando a função e impedindo, com isto, qualquer alteração no valor padrão dos Gets.  O valor padrão é false para o getVisible e o getEnabled.  Assim, a guia principal é iniciada com seu getVisible = false, ocultando a ribbon.

Public Sub fncGetVisible(control As IRibbonControl, ByRef visible)
On Error GoTo trataerro
If nlogoff = False Then Exit Sub
Select Case control.id
...
...

Esta variável também é alterada no formulário frmLogin , logo após a autenticação do usuário.

...
...
    '----------------------------------------
    'reconfigura ribbon rbPrincipal no logoff
    '----------------------------------------
    If nlogoff = False Then nlogoff = True
       
    '------------------------------------------------------------------
    'revalida todos os controles da ribbons que tiverem usando os gets
    '------------------------------------------------------------------
    objRibbon.Invalidate
...
...

16) No Access 2003, usava o seguinte comando para compactar e reparar o banco de dados:

CommandBars("Menu Bar"). _
Controls("Ferramentas"). _
Controls("Utilitários de banco de dados"). _
Controls("Compactar e reparar banco de dados..."). _
accDoDefaultAction

Mas no Access 2007, o referido comando não funciona.  Tem como ajustá-lo para chamar o comando do Office Menu?

Insira o botão abaixo:

<button idMso = "FileCompactAndRepairDatabase" label=”Compactar” visible=”true”/>

17) Dentro do botão do Office há o botão "Opções do Access"  que se encontra na estrutura <commands> da XML.

<command idMso="ApplicationOptionsDialog" enabled=”false"/>

Como faço para habilitar este botão pelo id do usuário?

Clique no botão HELP CONTROLES do MontaRibbons. Selecione o controle “commands” da lista. Desta forma será fornecido o código que manipula este botão, do modo que você deseja.

18) Estou montando um Sistema para controle de minha empresa! Criei uma ribbon especial com quatro guias: Comercial, Estoque, Financeiro e Administrador.

Como faço para que, quando eu clicar na guia, o formulário correspondente seja aberto?

As guias não têm um comando de ação para a execução de uma tarefa.

Minha sugestão é que você crie uma ribbon para cada formulário.  Crie também uma ribbon PRINCIPAL, que tenha os botões de chamada destes formulários. Ao acionar o formulário desejado, pela ribbon principal, a ribbon, associada ao formulário será automaticamente carregada. 

Como alternativa, veja o exemplo que desenvolvi para um Americano, a fim de atender a mesma necessidade que a sua! A questão é que, neste caso, exigirá de você, um maior conhecimento na programação.

19) Como consigo ocultar o botão btregistro, conforme linha abaixo, quando o usuário registra o programa?

<button id = "btRegistro" imageMso = "HappyFace" label = "Registrar o Sistema" size="large" getVisible="fncGetVisible" onAction = "fncOnAction"/>

Você guarda a informação de que foi registrado em uma tabela? Se assim o for, use a função Dlookup() para resgatar esta informação da tabela e aplicar como condição para ocultar o botão. 

Exemplo do código usado na função fncGetVisible():

Public Sub fncGetVisible(control As IRibbonControl, ByRef visible)
...
Case “btRegistro”
   If Dlookup(“campoRegistrado”,”tblRegistro”)= -1 then
      visible = false
   Else
      visible = true
   End if
...
...

Lembre-se de que para disparar os gets, você precisa usar o Invalidate.  Se quiser alterar somente o botão registro, dispare o getVisible com o InvalidateControl.  Exemplo:

objRibbon.invalidateControl ("btRegistro")

Muito cuidado com o uso do InvalidateControl, que é case sensitive, ou seja, btRegistro é diferente de BtRegistro.

20) Criei uma ribbon no MontaRibbons e exportei para o aplicativo Maestro, versão 2.  Realizei todos os passos informados no MontaRibbons, só que, quando aciono o formulário, este não me traz a ribbon que criei.   Já olhei na tabela tblRibbons e a nova ribbon está lá, só que ela não aparece quando eu aciono o formulário.

Neste quesito, o Maestro versão 2, difere bastante, do Maestro versão 1. O objetivo foi que quis mostrar como proceder para o aplicativo rodar ribbons com estruturas diferentes, de acordo com a versão do Access.

Você tem dois caminhos:

1º - Escolha no MontaRibbons, exportar para tabela USysRibbons.  A tabela USysRibbons será criada no Maestro e você poderá utilizá-la de forma mais simples.   Detalhe: poderá trabalhar com as duas tabelas (tblRibbons e USysRibbons) no seu aplicativo, sem problema algum, desde que não utilize nome de ribbons iguais.

2º - Exportando para a tabela tblRibbons, você deverá abri-la, identificar a sua ribbon e marcar o campo ribbon para o Maestro identificar que se trata de uma ribbon. 

21) Tem como modificar a imagem do botão Office ?

Segue um arquivo exemplo, com os códigos para isso. Nunca usei, nem sequer experimentei! Portanto, não sei do grau de eficiência do código utilizado.

22) Personalizei a área Backstage e quando clico na guia "Arquivo" apresenta erros de "falha de localização", conforme você pode verificar na imagem.   Detalhe: no MontaRibbons funciona direitinho, somente no meu aplicativo que isto está acontecendo!

Access 2010


 

Vá em: Opções do Access > Banco de Dados Atual > Marque "Permitir Menus Completos".

23) Qual é o comando da XML para eu desativar a lista de Documentos Recentes ?

Veja todos os detalhes neste tutorial.

24) Enfrentei um problema com as Ribbons montadas no Access 2010 e que funcionam com o RunTime em alguns computadores que rodam XP. Elas simplesmente não apareciam! O mais estranho é que em outros computadores, também com o XP, funcionavam, perfeitamente, com o Runtime. Já, em computadores que possuíam o Access completo, não houve problema algum.  Depois de muito penar e não querendo importuná-lo, descobri que as Ribbons feitas no Access 2010, para funcionarem em ambiente RunTime, no XP, deverão, obrigatoriamente, ter o SP3. Constatei que todas as máquinas que as Ribbons não funcionaram ou eram XP com SP1 ou XP com SP2. Daí, eu mesmo instalei a atualização do XP e as minhas magníficas Ribbons funcionaram "perfect"!! Talvez, outras pessoas enfrentem essa mesma situação, por  isso, deixo aqui a minha dica!

Interessante, porque se não tiver o SP3 , o Office completo rejeita a instalação. Parece um caso particular para o “runtime”.  Valeu pela sua preciosa dica!

25) Tenho uma ribbon associada a um determinado formulário.  Como faço para habilitar um botão dessa ribbon, quando selecionar um item de uma ListBox ?

 


 

 


76 comentários

Wilton Marles   26/02/2011 14:43:25

Muito bom, isso irá ajudar com certeza!

Juca   31/05/2011 21:43:51

Boa noite Professor,
Em seu exemplo de segurança, você seleciona on usuário, o formulário e administra as permissões, se pode ou não incluir, alterar, excluir,...
E em um formulário com um subformulário, qual será a forma de definir as permissões. Tenho como definir para o formulário principal e ao mesmo tempo ser atribuido ao subformulário.
Um grande abraço,

Juca

Avelino Sampaio   01/06/2011 03:27:53

Juca,

trate o subFormulário, nas permissões, como se fosse um formulário independente.

No esqueça de colocar a função fncPermissões(me) no evento “Ao carregar” deste subformulário.

Se não tiver êxito , volte a entrar em contato pelo meu email.

Herbeth Morais Costa   13/06/2011 17:01:07

Boa tarde Avelino,

Eu gostaria de saber como eu poderia ocultar a aba Arquivo do runtime do Access 2010, pois começamos a trabalhar com o runtime da versão 2010 esses dias e verifiquei que do 2007 para o 2010 existe esta diferença que eu descobri até agora. Teria como você me dizer qual o código em XML que eu usaria para ocultar esta aba? Agradeço desde já a sua ajuda.

Avelino Sampaio   14/06/2011 16:17:15

Herberth,

A aba arquivo só pode ser oculta se desabilitar por completo o sistema de ribbons. Veja como configurar desta forma na pergunta 8 acima.

Já o conteúdo da aba arquivo, chamado de área backstage, pode ser totalmente "limpo" e remodelado conforme sua necessidade. Baixe o MontaRibbons e vc terá vários exemplos de como configurar a área backstage.

Sucesso!

Avelino Sampaio   14/06/2011 16:23:36

Herbeth,

Outra coisa - Se o seu aplicativo tiver que rodar tanto no Access 2007 quanto no Access 2010, baixe o aplicativo Maestro, da seção download, que tem o projeto da ribbon para esse sistema híbrido, inclusive com os códigos XML para a limpeza do backstage.

Herbeth Morais Costa   15/06/2011 06:58:01

Ok Avelino, ótima dica, pois lá vamos trabalhar com as duas versões à princípio, espero que dê tudo certo. Muito obrigado, Avelino.

Herbeth Morais Costa   15/06/2011 10:09:54

Avelino, mais uma dúvida, na empresa usávamos o runtime do office 2007 e em algumas máquinas o runtime deixou de processar códigos VBA, ele inicia a interface, mas não processa os códigos, você sabe dizer como se pode evitar isso? Agradeço a ajuda.

Avelino Sampaio   15/06/2011 10:36:27

Herbeth,

vá no meu tutorial "CurrentProject.isTrusted" e adapte o código fornecido, no seu projeto.

sucesso!

Herbeth Morais Costa   15/06/2011 17:33:22

Ok, vou testar, grato pela atenção.

Elizeu Farias   14/09/2011 08:29:18

Bom dia Avelino

como faço para ativar somente a guia suplementos em uma ribbon?

Avelino Sampaio   14/09/2011 08:53:20

Elizeu,

na seção Dicas, aqui do site, veja o comentário 3 da dica "Como carregar o seu menu sem que ele vá para lista de suplementos"

Sucesso!

Alcir   28/09/2011 20:24:37

Avelino, boa noite

Parabéns pelo ótimos trabalhos que vens desenvolvendo e colocando-os a disposição dos usuários.

Estou utilizando o Monta Ribbons com o Access 2010 e deparei com um problema.
exportar arquivo para.....

[button idMso = "PublishToPdfOrEdoc" size="large" label="PDF"/]
[button idMso = "ExportExcel" label = "Excel" size = "large" /]
[button idMso = "ExportWord" label = "Word" size = "large" /]
[button idMso = "ExportTextFile" label = "Texto" size = "large" /]

No modo accdb aparecem todos acima indicados ( sem problema algum )
No modo accdr aparece somente o "PDF"

é possivel ter as exportações liberadas em accdr ?

Abraço!

Avelino Sampaio   29/09/2011 05:59:32

Olá Alcir

Acrescente o atributo visible=”true” em todos os botões

Exemplo:

[button idMso = "ExportExcel" label = "Excel" size = "large" visible=”true” /]

Sucesso!

Alcir   08/10/2011 05:53:09

Bom dia Avelino.

Estou utilizando o sistema do login do Maestro. Como devo fazer para que na abertura seja carregado o nome do ultimo usuário logado na maquina, visto termos muitos usuários . Ai já boto o foco direto na senha.

Abraço

Edson Miranda   10/01/2012 18:01:26

No Runtime do Access 2010 como faço para habilitar o botão de Ajuda e como faço para retirar a mensagem na barra de Status "Da plataforma Microsoft Access". Obrigado!

Marcelo David   16/02/2012 22:46:49

Avelino, há possibilidade de carregar mais de uma Ribbon na inicialização do aplicativo?

Avelino Sampaio   19/02/2012 09:55:13

Marcelo,

Sim, vc pode carregar varias ribbons e usá-las de acordo com o formulário e/ou relatório aberto. Basta especificar, na lista de propriedades do formulário/relatório , a ribbon que deseja carregar.

Se estiver se referindo a ribbon PRINCIPAL, não é possível carregar mais de uma. Neste caso tem que montar uma ribbon única e alterá-la em tempo de execução, para que visualize apenas guias, grupos e botões desejados.

Sucesso!

Paulo Sergio   21/02/2012 15:13:20

Avelino,

É possível diminuir a área do backstage? É que no 2007, como o botão Office era um menu, construi aplicativos com algumas configurações e o menu não ocupava a tela toda. Agora, no 2010, vejo que o backstage, independente da quantidade de itens, ocupa toda a tela do Access...

Gabriel Campos   26/03/2012 20:13:00

Avelino,

Não consigo criar as ribbons, eu crio a tabela tudo direitinho, mas não acontece nada. O que pode ser?

Avelino sampaio   27/03/2012 06:51:55

Gabriel,

ative a interface de erros. Veja na questão 9

Sucesso!

PL   18/04/2012 21:10:44

Eu criei um código para as guias, grupos, etc em xml, mas em que lugar é que eu insiro esse código para aplicar o que quero?

O código já tenho, o problema é onde colocar.

Avelino Sampaio   19/04/2012 06:29:31

PL,

Leia os meus artigos e assista as vídeo-aulas que irá entender rapidamente!

Bom estudo!

Ricardo Ravelli   31/05/2012 16:49:29

Avelino, boa tarde.

Por favor, veja se você pode me ajudar nessa questão:

Eu coloquei dois EditBox na minha ribbon que ao carregar o sistema, é inserido dois valores através de uma função. Minha questão é a seguinte: Como eu faço para dar um "refresh" nessa função, uma vez que ela foi carragada com a ribbon? Tem como eu alterar os valores dimanicamente do EditBox já com a Ribbon carregada?

Obrigado.
Ricardo.

Avelino Sampaio   01/06/2012 02:53:22

Ricardo Ravelli,

use o atributo getText

< editBox id="ebx1" label="Entre com o Cep: " getText="fncGetText"
maxLength = "8"
sizeString = "WWWWW"
onChange="fncOnChangeHelp"/>

Use a função para limpar o texto ou alterar o texto:

Sub fncGetText(control As IRibbonControl, strText)
'Vc pode exibir um texto padrão na caixa de texto ou limpa-la.
strText = ""
End Sub

Para disparar o GET vc tem que usar o INVALIDATE.

objRibbon.InvalidateControl ("ebx1")

Sucesso!

Ricardo Ravelli   01/06/2012 10:29:56

Avelino, bom dia.

Eu fiz o seguinte procedimento:

XML:
< editBox id="edtatual" label="Usuário logado:" enabled="true" getText="MyEditBoxCallbackgetText_1"/>

VBA:
Public Sub MyEditBoxCallbackgetText_1(control As IRibbonControl, ByRef strText)
Dim DBs As DAO.Database
Dim TmpRst As DAO.Recordset
Dim SQL As String

Set DBs = CurrentDb()

Set TmpRst = DBs.OpenRecordset("SELECT Count(tbl_Ocorrencias.Codigo) AS Quantidade " & _
"FROM tbl_Ocorrencias " & _
"LEFT JOIN tbl_ItensOcorrencias ON tbl_Ocorrencias.Codigo = tbl_ItensOcorrencias.Cod_ocorrencia_fk " & _
"WHERE (((tbl_Ocorrencias.Data_fechamento) Is Null) AND ((tbl_Ocorrencias.Hora_fechamento) Is Null) " & _
"AND ((tbl_ItensOcorrencias.Cod_usuario_fk)= " & Cod_Login & " )) ")

If Not ((TmpRst.EOF) Or (IsNull(TmpRst))) Then

Select Case control.ID
Case "edtatual"
strText = CStr(TmpRst!quantidade)
End Select
End If

End Sub

Após o login do usuário:
gobjRibbon.InvalidateControl ("edtatual")

Essa função só funciona quando o sistema é aberto, porém eu preciso alterar o valor desse campo após o login do usuário, uma vez que a consulta se baseia nos items aberto pelo mesmo. O sistema não apresenta nenhum erro, e também náo atualiza os valores.

Por favor, você teria alguma idéia para me ajudar a resolver esse problema?

Muito obrigado.

Ricardo.

Claudia   01/06/2012 15:33:47

Boa tarde, Avelino
Criei um botão na guia Arquivo para abrir um formulario. Este formulario abre em outra guia. Teria como eu fazer com que, ao clicar no botão que criei na guia arquivo, vá automaticamente para a segunda guia sem ter que clicar? Tentei utilizar a função da questão 7, mas não obtive sucesso.

Agradeço desde já.

Avelino Sampaio   01/06/2012 17:38:13

Ricardo,

O SELECT esta dentro da condição IF e vc tem avaliar se o seu recorset retorna valor.

Copie e cole a linha abaixo no seu navegador para baixar um pequeno exemplo que fiz:

http://www.usandoaccess.com.br/fa/EditBox.zip

1) irá entrar com a caixa EditBox Vazia
2) Entre com um valor na EditBox e pressione a tecla ENTER.
3) Abra o formulário e clique no botão. Ao preencher o InputBox irá passar o valor para o EditBox

Sucesso!

Tayra   29/06/2012 11:19:20

Olá... Estou conectada a um servidor onde tem instalada a versão 2007 do pacote office. Ao entrar como administrador da rede consigo realizar tudo dentro do Access, porem quando me conecto como um usuário normal ao montar um formulário o botão (Assistente de Botão) não abre, dizendo que algo está desabilitado ou a função with não está instalada!!Como devo proceder???

Att.

Abrir um accdb , feito no access 2010 64 bits em access 2007.   16/07/2012 12:49:43

Avelino, boa tarde.

Criei uma aplicação para empresa onde trabalho, utilizando o access 2010 64 bits, porém, na hora de rodar, os outros computadores estão com o Access 2007.
Tentei instalar o run time 64 bits, mas, não obtive êxito.
Gostaria de uma solução diferente de ter que recomeçar meu sistema tudo novamente.
Um abraço.
Eduardo Souza

Avelino Sampaio   17/07/2012 05:46:59

Eduardo,

quando tiver duas versões, sempre programe na versão mais antiga.

1) Crie um novo BD
2) Copie as tabelas, consultas e módulos. Faça um teste com este BD no Access 2007
3) Copie os relatórios. Faça um teste com este BD no Access 2007
4) Por último copie um formulário de cada vez e vá testando no Access 2007. Quando der a falha vai saber qual o formulário que causa o problema.
5) Terá que refazer as macro globais pois não são compatíveis entre as versões.

Sucesso na sua pesquisa!

Antonio josenilton   11/08/2012 10:47:10

Ola Avelino.
Fiz um banco de dados no Access 2010, mas não consigo eliminar a barra de ferramentas superior e como é para uso de vários usuários eles irão alterar meu projeto, como faço para eliminar.

Onde fica Arquivos - Opções

Avelino Sampaio   13/08/2012 07:48:52

Antonio,

Vá na seção Dicas e veja o artigo "Desabilitando a faixa superior do Access"

Veja também o tutorial sobre o OPEN, que lhe fornecerá a segurança desejada.

Sucesso!

Edson Miranda   15/09/2012 08:29:02

Olá Avelino, no Runtime do Access 2010 como faço para retirar essa mensagem na barra de Status: "Da plataforma Microsoft Access".
Obrigado!

Avelino Sampaio   16/09/2012 05:53:56

Edson,

no runtime não temos acesso a qualquer tipo de configuração manualmente. Muitas destas configurações vc deve realizar previamente, pelo seu Access completo. Podem também ser alteradas via código (VBA).

Vá na seção "dicas" do meu site e leia o artigo "Armazenar valores na lista de propriedades do Banco de Dados", que traz o código de como alterar o titúlo do aplicativo.

Vá na seção "tutorias" e leia o artigo "Configurando as "Opções do Access" pelo setOption"

Bom estudo!

Edson   17/09/2012 19:16:46

Valeu Avelino, mas já procurei em tudo quanto é lugar e esse botão somente desapareceria se configurasse a barra de status para não aparecer, pois isso é fácil, mas o fato é que minha aplicação precisa da barra de status. De qualquer forma valeu pelo empenho.
Abraço, Edson

Vila   13/03/2013 13:08:29

Como faço para rodar um aplicativo desenvolvido no Access 2007 num outro computador que não esteja instalado o Office?

Avelino Sampaio   19/03/2013 05:24:27

Vila,

aplicativos feitos em Access não rodam sem o Access presente na máquina. Tem uma opção gratuita no site da Microsoft que vc pode baixar e instalar, que é o ACCESS RUNTIME 2007.

Sucesso!

Fabio    29/03/2013 09:43:42

Avelino,

posso criar uma ribbon para um formulario com todos as funcionalidades , novo, excluir, salvar, alterar na ribbon em vez de usar botoes no formulario???

Se sim, voce tem um exemplo ou um tutorial disponivel?

Fabio Pradella

Avelino Sampaio   31/03/2013 06:00:24

Fabio,

Abra o HELP CONTROLES do MontaRibbons e selecione a opção "ContextualTabs"

Sucesso!

EIDE   28/04/2013 13:45:56

OLA AVELINO CRIEI A RIBBON EXPORTEI MAS QUANDO VOU A TABELA USYS RIBBONS A MESMA NÃO APARECE LÃ NA TABELA O QUE DEVE TER ACONTECIDO.

Avelino Sampaio   29/04/2013 09:56:34

EIDE,

está com o seu BD dividido em back-end e Front-end ? Está exportando para o front-end e verificando a tabela UsysRibbons do front-end ?

No aguardo

Adélio Gonzaga   06/07/2013 17:59:10

Prezado Avelino,

Quanto mais vejo seu trabalho, mais lhe admiro, meu caro! Continuo dizendo: quando crescer, quero ser como você! Rsss.

Se puder, ajude-me em uma situação: Toda vez que fecho qualquer formulário o Access me joga para uma mesma Tab.....

Na sua dica 7, acima, você orienta o uso do objRibbon.ActivateTab "NomeDaSuaTab" para manter o foco numa determinada Guia da Ribbon... Pois bem, quero fazer EXATAMENTE O CONTRÁRIO DISSO.. Tenho a impressão que está sempre sendo mantido o foco NA MESMA GUIA e preciso que o foco permaneça na última guia acessada, até que o usuário escolha outra.

Pelo que me lembro isso começou a ocorrer quando mudei para o 2010...

Pode me ajudar?

Marcos Sousa   08/10/2013 21:37:54

Prezado Professor Avelino,

Estou utilizando os seus ensinamentos/exemplos, num trabalho aqui na empresa. Na tela inicial ficamos com os grupos, os menus e as ribbons na parte superior da tela. Tem como eu preencher o restante da tela inicial com uma figura ou coisa parecida?

Desde já, grato.

Avelino Sampaio   09/10/2013 06:55:20

Marcos,

Aqui na seção DICAS do site tem um artigo sobre o uso do FondoAccess.dll, porém parace funcionar bem apenas para a versão 2007.

Sucesso!

Amilton   01/12/2013 10:04:39

Bom dia Avelino , estou usando 2 guias para teste , principal e relatórios , mas quando clico na guia relatórios , abre o form que preciso , mas volta pra guia principal , coloquei a dentro da função fncAbrirObjeto

Select Case tipoObjeto
Case 1 'formulário
objRibbon.ActivateTab ("guiaRelatórios")
mas não funcionou , onde devo indicar a função corretamente
Att
Amilton

Amilton   01/12/2013 10:26:15

Estou usando o Access 2010
Obrigado

Avelino Sampaio   01/12/2013 10:28:51

Amilton,

Neste caso, deverá ser utilizado um formulários Auxiliar e oculto.

Vá na seção "Contato" aqui do site e me passe uma mensagem, para eu poder receber seu email. Irei te passar um arquivo exemplo.

Jorge Robalinho   21/01/2014 16:11:58

Estou usando o controlo:
Application.CommandBars.ExecuteMso "PublishToPdfOrEdoc"
e queria que a caixa de dialogo viesse já com um nome pré-definido por mim... o que ele me dá é o nome por defeito do relatório...

Fernanda Macan   09/05/2014 11:05:35

Bom dia Avelino,

Uso o Access 2007 runtime e tenho ribbom nos relatórios que exporta para excel.
Um cliente que tem Office 2013 está desativando a exportação para excel, mas do word funciona.
Nos micros que tem Office 2007 ou 2010 funciona corretamente.
Existe alguma incompatibilidade ?

Alcir   14/05/2014 13:31:17

Boas Avelino

Utilizo o Monta Ribbons em diversos bancos. Gostaria de saber se tem como fechar o programa por inatividade por tempo pre-determinado - existe um exemplo do mestre JP do MaximoAccess que fecha o banco depois de 10 minutos - é aplicado a um formulário. - Deveria colocar como função publica e chamar a função em todos formulários, ou fazer de outra maneira?

se puder ajudar agradeço

Avelino Sampaio   15/05/2014 05:04:31

Alcir,

eu teria que verificar o projeto do João Paulo para poder te oferecer uma dica.

Se a intenção é proteger o aplicativo na sua ausência, use o botão de logoff para exibir o fornulário de login. Assim só será possivel reabrir o aplicativo com nome do usuário e senha.

Sucesso!

Avelino Sampaio   15/05/2014 05:14:18

Fernanda,

verifique se a exportação manual do excel está funcionando pela ribbon do Access. Na ribbon "DADOS EXTERNOS" > no Grupo Exportar > clique no botão Excel

Abra o Excel do cliente e verifique se está tudo OK

Abra um arquivo do excel e veja se tem algum impedimento.

No aguardo

Alcir   19/05/2014 20:53:23

Avelino
A intenção não é proteger na minha ausência. Trabalhamos em rede e alguns usuários minimizam o aplicativo e as vezes ate esquecem o computador ligado de um dia para o outro. Aproveito horários de intervalo de almoço ou a noite para trocar a base de trabalho quando tem alguma melhoria como inclusão de novas rotinas ou relatórios. Com alguém aberto não consigo trocar......
O objetivo seria fechar mesmo o aplicativo depois de um tempo pré determinado, assim como no exemplo do João Paulo, para poder então trocar a base de trabalho.

Obrigado

Gilson Soares   12/03/2015 09:36:58

Boa tarde Avelino! Poderia me ajudar? Personalizei minha Ribbon Access mas ela so aparece meu pc onde personalizei. Quando abro o BD no pc do meu trabalho a Ribbon personalizada nao aparece.

O que faço para aparecer a personalização em qualquer pc que eu abri o BD?

Abraços Obrigado!

Avelino Sampaio   12/03/2015 09:46:12

Gilson,

ative a interface de error do Access do cliente e veja se retorna com o erro ao carregar. Ative conforme a questão 9 acima.

A versão do Access do cliente é mesma do seu ?

No aguardo

Arilson   24/03/2015 13:52:22

Boa tarde mestre Avelino, quero criar um menu personalizado e gostaria de saber que propriedade utilizar para diminuir a aréa da tela para, por exemplo ficar do tamanho da tela de Login do seu aplicativo Telemax
grato!

Avelino Sampaio   26/03/2015 07:24:04

Arilson,

não consegui visualizar o desejado. Explique de forma diferente.

No aguardo

Marcos Moreira   02/05/2015 15:53:56

Boa tarde amigo,
Gostaria de saber como direcionar a exportação de um relatório para uma pasta especifica ao usar o comando PublishToPdfOrEdoc. Por padrão o arquivo é enviado para a pasta documentos.

Cesar Araujo   05/06/2015 15:30:10

Construí uma Ribbon com quatro guias e gostaria de saber se é possível fazer com que só apareçam certas guias dependendo do usuários que esteja logado

Avelino Sampaio   05/06/2015 19:10:06

Cesar

Sim, pode controlar as guias e os botões. Para isso tem que aprender a utilizar os atributo getVisible. O aplicativo MASTRO, que ofereço na seção downloads, usa desta técnica. A Terceira vídeo-aula do MontaRibbons ensina como utilizar o getVisible.

Sucesso!

Joaquim M. Neto   05/07/2015 10:11:03

Bom dia!
Eu montei ribbon exportei Menu, Ribbon RblImpressão o botão Zoom está visível sem funcionalidade
Ajustar, uma pagina, Duas Pagina e fechar estão visível mas não funciona. Obs: estou usando Access 2013

Avelino Sampaio   06/07/2015 05:21:57

Joaquim,

a ribbon só funciona se o relatório estiver no modo "visualização de impressão", portanto troque a configuração do "modo relatório" para o modo "visualização de impressão".

No aguardo

Joaquim m. neto   06/07/2015 18:39:50

Boa noite!

Fiz alteração no Relatório"Modo Padrão - Visualização de Impressão" , mesmo assim o botões não funcionam, obs: já no próprio montar Ribbons não estão visíveis.

Se precisar posso mandar para seu e-mail o arquivo.

Joaquim M. Neto   06/07/2015 21:36:57

Boa noite, Obrigado vc está correto. está abrindo ok.

Muito grato pela sua atenção!


Diego Amaral   20/10/2015 10:56:29

Avelino, bom dia!
Estou com um problema, configurei tudo certo meu bd e as ribbons.. No meu pc ele roda perfeitamente, utilizo o access 2010. Mas quando coloco em rede, uma outra pessoa que possui o access 2013 ao tentar abrir da a mensagem de erro da pergunta 13. Eu já ativei o Microsoft Office XX OBJECT LIBRARY no computador dessa outra pessoa, mas mesmo assim o erro persiste. Existem outras referências que precisam ser ativadas?

Cassio Fabre   21/10/2015 09:55:44

Bom dia, Avelino!

Excelentes tutoriais os seus e aprendi bastante com eles, além do Maestro! Meu problema é o seguinte. Eu carrego as ribbons através da tabela tblRibbons, como voce mostrou em um dos artigos. Meu aplicativo não tem um form padrão que fica aberto constantemente, fica apenas a tela vazia do access e com a ribbon ativada de acordo com as permissões do usuário. Como eu nao tenho um form para carregar a ribbon, a maneira que encontrei pra fazer a "rbPrincipal" aparecer foi configura-la como faixa de opção padrão do aplicativo em Opções do Access -> Banco de dados atual. Até aí tudo bem, ela carrega tranquilo. Porém um dos meus forms tem uma ribbon própria, obviamente carregada quando ele é ativado. Essa ribbon carrega normalmente. Porém, quando esse form é desativado junto com a ribbon, voltando para "rbPrincipal", ela simplesmente para de invalidar, só voltando quando reinicio o aplicativo. Qual a solução pra isso?

Avelino Sampaio   21/10/2015 10:18:17

Cassio,

a ribbon principal é passada para uma variável publica através da função fncRibbon(). Veja a função sendo chamada na primeira linha da ribbon.

[customUI xmlns="..../office/2009/07/customui onLoad="fncRibbon"]

Se vc não usa o Invalidate na ribbon do formulário, tire a função fncRibbon() da XML. Se estiver usando o Invalidate na ribbon do formulário, deverá criar uma outra função (frnRibbon2()) com uma outra variável global.

Sucesso!


Avelino Sampaio   21/10/2015 10:21:28

Diego,

se configurou a backstage na sua ribbon do 2010 não irá funcionar na versão 2013 pois as estruturas são diferentes. Entre em contato pelo meu e-mail para que eu possa te passar mais informações.

No aguardo

Cassio Fabre   29/10/2015 14:01:00

Bom dia! Fica aqui o registro que a solução do Avelino funcionou perfeitamente. Obrigado novamente. Abraço.

Willian Rocha   15/02/2016 09:59:57

Caro Avelino comprei o Monta Ribbons e já criei um projetinho aqui na empresa em que trabalho porém não estou conseguindo executar no Access Runtime 2013 erro: "microsoft access não pode executar a função de retorno fncRibbon". Tem um micro com o runtime 2010 nesse rodou direitinho. O estranho é que criei o projeto no access 2013. O que pode ser?

Avelino Sampaio   15/02/2016 10:20:53

Willian,

configurou o backstage na sua ribbon ? Passe para o meu e-mail a xml da sua ribbon para eu poder analisar.

No aguardo

Gilmar    28/04/2016 15:10:14

Boa tarde caro mestre !

Fizemos um projeto utilizando o monta ribbon com menu de impressão e menu principal, quando acessamos o projeto que está em rede e pedimos pra abrir um relatório qualquer, ao fechar esse relatório a ribbon principal não retorna, qual seria a solução para essa situação ?

Avelino Sampaio   29/04/2016 07:36:37

Gilmar,

qual é a versão do seu Access ? Esta usando a tabela USysRibbons para armazenar as ribbons ou tabela simples tblRibbons ? O mais correto seria um front-end para cada máquina.

Abra um tópico sobre essa questão lá no nosso fórum:

http://www.redeaccess.com.br

No aguardo

Carlos Dal Secco   07/12/2016 15:59:21

Meu problema não se encontra nestes exemplos, ou não consegui identificá-lo!
Acho que fiz alguma besteira, porque a tabela USysRibbons não aparece, mesmo configurando para aparecer o Sistema nas Opções.

Não me lembro que porcaria eu fiz, de diferente que pudesse causar isto.
Eu acho que entrei na tabela USysRibbons e na propriedade click em ocultar.

Preciso alterar o menu, mas, não consigo ver a USysRibbons.
Agradeço muito se alguém me puder ajudar.
Obrigado

Marcelo Silvestre Zapia   19/10/2017 08:12:27

Avelino, boa tarde.

Desenvolvi um sistema no Access 2013, utilizei o monta Ribbons e segui o procedimento de "Não mostrar dicas de tela".

Gerei o arquivo .Accde e utilizando o RunTime (em outra máquina), ainda aparece as dicas (na Ribbon).

Na minha máquina não aparece (tanto no .accdb como no .accde).

Qual o procedimento?

Grato...

Marcelo Zapia


Envie seu comentário: