Como configurar seu Banco de Dados com a extensão ACCDR
ACCDR é uma nova extensão de arquivo que permite a abertura de um banco de dados em modo de tempo de execução. Ao fazer a alteração da extensão do arquivo de ACCDB para ACCDR, você estará criando uma versão "bloqueada". Para "desbloquear", basta retornar para a extensão ACCDB.
O modo de tempo de execução é um modo operacional que desativa o Painel de navegação, a Faixa de opções, o Modo de design, o Modo de layout e a Ajuda.
Veja na figura abaixo o Banco de Dados contatos.accdb , criado dos modelos do Access.

Agora, imagine a seguinte situação: o Banco de Dados acima é um projeto seu e você pretende disponibilizá-lo para ser usado por outras pessoas. Do jeito em que se encontra, você sabe que podem alterar a estrutura do projeto, ainda que por acidente. Sem dizer que o Banco de Dados não está com uma aparência de aplicativo, não é mesmo? Uma das maneiras de se resolver a questão é utilizar o recurso de troca da extensão de ACCDB para ACCDR.
Vejamos, então, como proceder, usando como exemplo contatos.ACCDB.
Por padrão, o Windows esconde as extensões dos arquivos. Você pode habilitar isso na pasta aonde se encontra o Banco de Dados. Vá no menu Ferramentas e clique em Opções de Pasta, conforme figura abaixo:

Selecione a guia Modo de exibição e desmarque Ocultar as
extensões dos arquivos conhecidos. Clique em Aplicar
e feche as Opções de pasta, conforme figura abaixo:

Agora, faça a troca da extensão do arquivo contatos.ACCDB para contatos.ACCDR
Feita a troca, é preciso criar um atalho no Desktop para poder rodar o Aplicativo. Clique com o botão da direita do mouse sobre o arquivo contatos.ACCDR , vá até Enviar para e selecione Área de trabalho (criar atalho). Veja na figura abaixo:

Abra as propriedades do atalho criado no seu Desktop e insira o comando Runtime no final da linha

Rodando o Banco de Dados pelo atalho. Veja como ficou! Legal, não é?

Algumas observações.
1- Você precisa que o banco de dados carregue, na inicialização, uma Faixa(ribbon) ou um formulário personalizado, que possibilite a navegação pelo aplicativo. Veja que no exemplo acima, o formulário carregado, tem um menu com esta finalidade.
2- Certamente que para a maioria dos usuários, o seu aplicativo estará seguro, mas para os mais sabidos, isso não seria problema, pois basta trocar a extensão para ACCDB que tudo passa a ficar a mercê de alterações. Portanto não é um modo seguro de defesa.
3- É um teste super válido para ver como o seu aplicativo vai se comportar no modo runtime.
(18/11/2009) Consegui criar uma maneira de potencializar o uso do ACCDR
Leia o artigo abaixo sobre "Segurança máxima usando o OPEN".
Artigos Relacionados
Carregando formulário na inicialização do Access
Segurança máxima usando o OPEN
Vídeo - Criando ribbons (parte 1)
Vídeo - Criando Ribbons (parte 2)
|
38 comentários NIxon 2/6/2009 18:05:11 perdoe minha ignorância, mas não sei trocar a extensão do arquivo. Nixon 3/6/2009 11:04:06 novamente perdoe minha ignorância, já consegui muito obrigado pela excelente dica. Lucas 18/6/2009 15:29:40 Avelino, consegui fazer o que o tutorial indica, porém ficou aparecendo ainda, na barra de ferramentas, a aba do acrobat. Como faço pra ela sumir também? Avelino Sampaio 19/6/2009 05:39:39 Lucas, isso aí é o que chamamos de suplemento (Addin). Volte com a extensão ACCDB para você poder fazer a alteração. Clique no botão do Office > Opções do Access > Suplementos (ele deve estar na lista) Tem uma caixa de combinação e um botão "Ir..." do lado - escolha uma das opções e clique no botão para desabilitar ou remover da lista. Uma outra opção e: Botão do office > Opções do Access > Central de confiabilidade > Configurações da central de confiabilidade > Suplementos > selecione "Desabilitar todos os suplementos" Feche o Access , reabra e veja o resultado. Sucesso Lucas 19/6/2009 10:08:34 Muito bom Avelino!! Muito obrigado pela ajuda, foi muito útil. Consegui deixar da maneira que eu queria. Muito obrigado!! Lucas 19/6/2009 15:54:08 Avelino, Não quero abusar da tua boa vontade, mas me deparei com um outro problema. Está tudo quase como eu quero, porém criei um botão para excluir registros, mas preciso restringir o acesso desse botão. Gostaria de fazer algo tipo usuários, para que uns possam ter acesso a certos comandos e outros não. No entando, achei dicas sobre isso, mas nada pra Access 2007. Sabes me dizer como faço para que somente um "Administrador" possa usar o botão de excluir registros? Lenerci Júnior 19/6/2009 16:53:36 Não é necessário trocar a extensão do arquivo! Tenham como exemplo o meu caso. Aqui na Empresa temos um Sistema em Aceess 2007 desenvolvido por mim com a ajuda de milhares amigos participantes dos vários fóruns de Access. O Sistema fica gravado no Servidor. As outras máquinas simplesmente tem um Atalho para o Servidor. Suponhamos que ocorra um erro, ou é necessário fazer uma alteração no Banco de Dados. Pra não ter que ficar pedindo pra todo mundo fechar o BD pra você mecher e alterar, você deixa a extensão como ACCDB mesmo, pois assim, no Servidor o BD vai abrir com todas as funções para alteração. E, para as outras máquinas e usuários, você coloca em frente ao Destino do atalho o comentário "/runtime" e pronto! Ele toca o BD como runtime nos usuários!!! Muito bacana isso... Abraço a todos, Avelino Sampaio 20/6/2009 19:46:30 Lenerci Júnior, obrigado pela sua contribuição. Lucas, até a versão 2003 era possível configurar permissões e senhas , que ficavam armazenas em arquivo com extensão MDW. Na versão 2007 isso foi descartado. Você até pode usar o MDW no Access 2007 mais deverá criar seu banco de dados com extensão MDB e não ACCDB , coisa que eu NÃO recomendo. Isso pode ser feito por você, criando tabelas, para armazenar usuário senhas e permissões. Exigirá também conhecimento em VBA para isso. Você pode pegar exemplos nos fóruns para estudar como fazer. Recomendo o ExpertAccess e o ForumAccess. A forma super simples que existe para isso seria usando o INPUTBOX. Exemplo: If InputBox("Entre com a senha", "Confirmação") <> "xpto" Then MsgBox "Senha inválida", vbInformation, "Aviso" Exit Sub End If 'aqui o código de exclusão Se quiser mais informações sobre o assunto, utilize o link “Contato” aqui do site Sucesso ... Luis 16/7/2009 11:13:28 Lenerci Júnior eu fiz com vc disse mais os botoes pararam de funcionar no menu principal! Alan 7/8/2009 13:03:14 Boa tarde, tudo bem! Gostaria de saber, se vocês conhecem alguma forma de alterar a imagem do botão do access 2007 Avelino Sampaio 9/8/2009 06:19:02 Alan, Você diz do botão redondo, grandão, no canto superior? Até onde sei não é possível. Tentei te mandar um email mais sua caixa postal tem problemas. Verifique Sucesso Alan 10/8/2009 13:15:10 Boa tarde, tudo bem! Agradeço pela resposta. Aproveitando, você conhece algum código (VBA) para travar o painel de navegação no access 2007? Att. Alan Avelino Sampaio 11/8/2009 05:21:54 Alan, Como você já deve ter visto, trocar a extensão de ACCDB para ACCDR é uma ótima opção se você usa sua aplicação apenas na sua empresa para usuários comuns. Se achar que podem furtar suas idéias, vc pode transformar o aplicativo para a extensão ACCDE. Fique apenas com o ACCDB na sua máquina para continuar programando. Outras formas "simples" de se resolver o painel. * Você pode personalizar o painel (veja o vídeo sobre isso) ocultando objetos que não interessam ao usuário. * Se o usuário não depender do painel para navegar entre os formulários você pode oculta-lo em BOTÃO DO OFFICE > OPÇÕES DO ACCESS > BANCO DE DADOS ATUAL > DESMARQUE (exibir painel de navegação). * Crie uma macro chamada AUTOEXEC com a ação BLOQUEAR PAINEL DE NAVEGAÇÃO. Isso impedirá que o usuário delete, renomei ou copie objetos. Não impede de ele entrar na estrutura. * Até o final do mês estarei lançando uma vídeo-aula sobre Ribbons, que permitirá dar uma carinha de programa ao seu aplicativo. Irei te avisar quando eu lançar. Sucesso Alan 11/8/2009 08:06:08 Muito Obrigado! Alan 12/8/2009 13:15:27 Avelino, Você possui algum banco de dados que eu possa usar de exemplo de como utilizar a função =Dpesquisar ou = DLookup Obrigado. Alan 13/8/2009 08:25:09 Bom dia, Consegui utilizar a função em um formulário. No entanto, quando tento utilizar a mesma função no mesmo formulário, mas este como subformulário de outro, não consigo. Aparece o erro de que não consegue localizar o subformlário. Já tentei de várias maneiras, incluir na função que o registro de busca estará em um subformúlário, mas até agora não consegui. Você poderia me ajudar! A função que incluí é a seguinte: Private Sub Setor_Enter() Setor = DLookup("[Setor]", "[Setor]", "[CódLocal] = '" & Forms!SubFormulárioCadastrodeColaborador!CódLocal & "'") End Sub O subformulário ficará dentro do formulário: FormulárioCadastrodeColaborador, segue arquivo para download. (http://questaotrabalhista.com/download/BancodeDados.accdb) Te agradeço desde já. Alan 14/8/2009 08:20:20 Bom dia, Já consegui resolver. Obrigado, Rodrigo 9/9/2009 23:47:47 Boa noite, legal... EVANDRO 21/9/2009 11:01:13 Bom dia, tenho uma aplicação no access, quando rodo o sistema numa máquina que o access 2007 está instalado ele desabilita o botão fechar, perfeito. No entanto quando rodo o sistema numa máquina com o Access Runtime 2007, ele não desabilita o botão fechar do access. Poderia me ajudar? Avelino Sampaio 22/9/2009 06:19:18 Evandro, eu não tenho aqui o runtime mas no Access, com a extensão ACCDR, ele me apresentou o botão fechar(dentro do botão Office) habilitado. existe um recurso de desabilitá-lo através da XML ribbon. Entre em contato pelo link CONTATO, passando seu email. Grato Nikolas 26/12/2009 18:02:55 Blz, adorei o lance de utilizar a extensão ACCDR. Tenho muitos projetos frieitos em access e vai ser muito útil, só queria saber um detalhe: Utiliza uma macro adicionando uma barra de menus personalizados, porém os menus ficam dentro de suplementos, gostaria de saber se tem como colocar eles como no access 2003 direto na barra sem estar dentro do suplementos ou mudar o nome do suplementos por exemplo para Menus. Obrigado. Avelino Sampaio 26/12/2009 21:29:33 Nikolas, Vá em dicas e veja o artigo "Como carregar o seu menu sem que ele vá para lista de suplementos?" Sucesso Criquio 7/2/2010 13:13:54 O modo runtime não funciona no Win 7. Avelino Sampaio 8/2/2010 07:24:58 Criquio, tenho o w7 32bits e está funcionado direitinho com o Access. Me passe informações mais detalhadas para que eu possa investigar melhor a questão. Você está com o Office 2007 atualizado com o pacote SP2 ? Grato Lucas Vieira 13/5/2010 16:54:49 Olá pessoal. Ao estabelecer a extensão .accdr , há um bloqueio automático do botão direito do mouse. Tendo como essa premissa, não consigo clicar com o botão direito com o intuito de incluir arquivo (.doc, .txt, entre outros) no Quadro de Objeto Acoplado no access... alguém sabe alguma alternativa? algum código que, por botão(por exemplo) libere edição e inclusão no quadro de objeto acoplado? Avelino Sampaio 13/5/2010 18:58:54 Lucas Vieira, Você pode usar a proprieadade Action do quadro, pelo VBA. Como exemplo, use no evento "ao clicar" de um botão : me!SeuCampoOle.Action = 14 Você pode criar menus de atalho personalizados, através de macros. Acesse o endereço abaixo: http://office.microsoft.com/pt-br/access/HA102825091046.aspx Sucesso WALTER ROBERTO 31/5/2010 14:25:59 TENHO UMA DÚVIDA, SEU EU JOGAR O BANCO DE DADOS NO SERVIDOR, VÁRIAS PESSOAS CONSEGUEM ABRIR O BANCO DE DADOS AO MESMO TEMPO? OBRIGADO Avelino Sampaio 1/6/2010 04:31:11 Walter, A melhor forma de se trabalhar num ambiente de rede é vc dividindo o seu banco de dados em duas partes: Uma contendo as tabelas (back-end) e que fica no servidor. A outra, com o restante dos objetos(front-end), que fica em cada um das máquinas. Cada um dos front-end deve ser vinculado ao back-end. A pasta, que contem o back-end no servidor, tem que ser configurada com as permissões de leitura e escrita para todos os usuários(converse com o seu administrador de rede) Sucesso João P. Constante 22/6/2010 12:20:27 Avelino, boa tarde! Caso eu não coloque a expressão runtime, conforme explicado acima, qual o impacto que tenho em meu aplicativo? Sinceramente ainda não entendi muito bem a função runtime. Analisando (sem muito conhecimento) o access já roda em tempo de execução. Forte abraço! Avelino Sampaio 23/6/2010 07:09:35 João, É que exitem duas formas de se escrever o atalho. Na forma que o atalho esta escrito acima realmente não precisa indicar o comando "/runtime" se não quiser. Agora, se usar o atalho escrito com a linha abaixo, vc precisará do comando "/runtime" se não o Access não deixa abrir. DESTINO: "C:\Program Files\Microsoft Office\Office12\MSACCESS.EXE" c:\exemplos\contatos.accdr /runtime INICIAR EM: "C:\Program Files\Microsoft Office\Office12" Sucesso nixon 13/7/2010 10:12:18 Sr Avelino Utilizei da forma como ensinou funcionou, legal, mas imaginei que ocultaria também a caixa de contorl de sair, minimizar max. Estou criando um BD mas gostaria que todos os cmd fossem criados por mim, inclusive o de sair do access para não gerar conflitos ou falta de informações em registro. Sei que isso deve ser relativamente fácil, mas como sou iniciante poderia dar um toque. Pelo menos onde começar a estudar. Grato. Avelino Sampaio 14/7/2010 07:10:18 Nixon, ocultar o sair, min e max só através de API. Isso não é simples e eu não sei se a API funciona no 2007/2010. Tem como bloquear o "sair" se você mantiver um formulário oculto e neste formulário você usa o evento "Ao descarregar" para bloquear a saida do aplicativo. Sucesso Maria Rita 28/7/2010 16:20:01 dividi o BD e quando tento fazer uma consulta com outro usuario usando ele diz nao ser possivel pois tem outro utsando. O que falta eu fazer? Jesus Rodrigues - www.theraprogramas.hd1.com.br 29/7/2010 22:25:29 Crie um botão sem o assistente e cole este código. Private Sub Comando58_Click() If MsgBox("Você deseja sair do aplicativo?", vbYesNo + vbQuestion, "Jesus Rodrigues Pergunta") = vbYes Then Application.Quit acPrompt Else End End If End Sub Jesus Rodrigues - www.theraprogramas.hd1.com.br 29/7/2010 22:28:40 Maria Rita boa noite. Faça uma nova consulta no modo extrutura. Insira os dados da primeira tabela - salve com o nome que quiser. Faça alguns testes...Funcionou...OK. Volte na consulta no modo extrutura e insira os dados da outro tabela - não se esqueça de fazer o relacionamento. Salve e faça os testes Jesus Rodrigues - www.theraprogramas.hd1.com.br 29/7/2010 22:30:44 WALTER ROBERTO Sim todos podem abrir o banco de dados ao mesmo tempo, porém você tem que defenir os usuários e permissões de trabalho Jesus Rodrigues - www.theraprogramas.hd1.com.br 29/7/2010 22:33:37 Avelino Sampaio Me mande o seu email que te envio uma coleção de botôes para sua utilização. Email: theraprogramas@gmail.com.br Olá Jesus, obrigada pela atençao 31/7/2010 13:12:49 Vou tentar explicar o que está acontecendo. Tenho um BD já criado porém ele é alimentado dia a dia. O que eu fiz: Dividi o BD. salvei numa unidade da rede e eu fiquei como alimentadora dele, ou seja eu digito a entrada de dados dia a dia crio novos relatorios e formularios. Gostaria que outros usuarios pudessem utilizar do banco, somente para consulta e criaçao de formularios e ou relatorios, somente. Nas tabelas nao poderia ser acessada, somente eu e somente no back-end. Correto? O que está acontecendo. Quando eu estou digitando nos formularios ou criando relatorios no meu front-end e outro usuario tenta acesssar consulta, vem a mensagem que o back end está sendo usado. E na realidade nao estou utilizado o Back end na fonte, mas o meu front-end da minha maquina. Tem alguma receita pra isto rsrsr. |