Vinculando tabelas com barra de progresso
Arquitetura básica de banco de dados comercial
Qualquer empresa hoje em dia possui computadores em rede. E para que todos os usuários tenham acesso à Base de Dados é necessário compartilhá-la em uma pasta , em um dos computadores.
Para atender a este perfil de estrutura de rede, realizamos a divisão do nosso banco de dados em duas partes básicas: uma que contém a base de dados (tabelas) e que é chamada de back-end e a outra que contém o restante da aplicação ( formulários, relatórios, macros, ...) e que é chamada de front-end.
O back-end fica na pasta compartilhada e o front-end é copiado para cada uma dos computadores. E cada um dos front-end tem que ser ligado ao back-end. Podemos ligá-los através de programação ou através do que chamamos de vinculação.
Vantagens de se separar o banco de dados
O front-end, utilizado em cada um dos computadores, reduz o tráfego de rede e melhora o desempenho; especialmente em redes não-hierárquicas. O grande benefício da divisão é a capacidade de atualizar facilmente o front-end, sem afetar os dados armazenados no back-end.
Qual é o método utilizado para ligar o front-end ao back-end?
A ligação por vinculação é a mais utilizada e é toda gerenciada pelo Access, enquanto que a ligação por programação é gerenciada pelo programador. Cada um dos métodos tem suas vantagens e desvantagens. O método por vinculação é o que nos interessa neste tutorial.
O Access tem assistentes para nos auxiliar neste processo de divisão e vinculação?
Sim, o Access tem assistente para executar esta tarefa, mas você pode também aprender como utilizar este processo, assistindo a vídeo-aula sobre segurança máxima utilizando o Open
Os problemas enfrentados na prática
No processo de vinculação, o que temos que fazer é informar ao Access a localização do back-end. De posse desta localização, o Access cria os vínculos das tabelas entre o front-end e o back-end. O front-end passa a se comunicar com as tabelas, como se elas estivessem no local.
Se por algum motivo a localização do back-end for modificada (e isso volta e meia acontece na prática), os vínculos ficam quebrados, acarretando em erro. É necessário, então, abrirmos o gerenciador de vínculos e informar ao Access a nova localização do back-end, para que sejam refeitos os vínculos, com o novo caminho indicado.
Outras situações que costumam provocar erro:
o computador do usuário não se comunicando com a rede;
o
computador que
armazena o back-end desligado;
troca do nome do computador que armazena o back-end;
troca do IP do computador que armazena o back-end (sim, você pode
vincular pelo IP da máquina);
O Windows do computador do back-end entrando em estado de hibernação
(bloqueia a comunicação com a rede).
O que acontece é que você não pode permitir que esta falha seja gerenciada pelo Access, pois vai parecer para o usuário, que a falha é sua. veja o mensagem do Access para o usuário:

Certamente, com esta mensagem, a primeira providência que o usuário vai tomar é ligar para você.
E mesmo que a solução seja simples, não será possível de se resolver à distância, pois na maioria das vezes o usuário costuma não ter acesso a estrutura do banco de dados e a senha do back-end (se tiver) terá que ser passada para ele.
Agora, veja uma mensagem programada por nós:

Mesmo que o usuário venha a pedir o seu auxílio, certamente que as informações passadas por ele serão mais objetivas e tudo poderá ser resolvido por esta tela.
Suponha que tenha ocorrido uma alteração na localização do back-end. Basta o usuário clicar no botão procurar, localizar o back-end no novo caminho. Após informar o novo caminho, o usuário irá clicar no botão "salvar novo caminho" e o processo de revinculação se inicia , exibindo uma barra de progresso personalizada.
Observe a revinculação ocorrendo:

Um outro problema enfrentado na prática é quando você deseja distribuir seu aplicativo pela internet, por exemplo. Ora, quando a pessoa baixar o seu aplicativo e instalar, certamente que a localização do back-end irá ser diferente e portanto os vínculos com o front-end ficarão quebrados. Com este aplicativo que estou oferecendo, esta questão fica bem resolvida. Você mesmo irá comprovar quando baixar o exemplo aqui do tutorial e rodar o front-end. De imediato irá aparecer a barra de progresso vinculando automaticamente as tabelas.
Vídeo-aula
Para ficar mais claro revolvi montar um vídeo, explicando detalhes relevantes do projeto.
Como EXIBIR a vídeo-aula em tela cheia?
1. clique na seta executar da tela abaixo
para iniciar a exibição do vídeo;
2. dê dois cliques rápidos na tela, quando o vídeo começar a ser
exibido.
Os dez artigos mais visitados
MontaRibbons v3.1 - Assistente completo para criar ribbons no Access
Utilizando Classe no Access - Introdução
Vídeo - Controle personalizado de Acesso de Usuários
Vídeo - Criando Ribbons parte 1 - Conhecendo a estrutura Xml
Vídeo - Segurança máxima, usando o OPEN
DVD - Coletânea de artigos, vídeos e exemplos do site
Vídeo - Manutenção e Sistema de Backup com Barra de Progresso
Vinculando tabelas com barra de progresso ( front-end x back-end )
Vídeo - Criando Ribbons parte 4 - Imagens externas em pasta local
Gerar relatórios em pdf e enviar por email
|
13 comentários Brigido 3/4/2010 06:37:40 Parabéns amigo Avelino, sua ferramenta é uma excelente alternativa ao assistente nativo do Access. MARCIO MELO MARTINS 3/4/2010 10:51:01 Feliz Páscoa! sensacional a simplicidade do projeto, muito bem elaborado, passarei a adotar sua solução que é muito mais profissional do que a minha que utilizava de três formulários, no seu caso o mesmo formulário que avisa sobre o problema também faz a vinculação, só para acrescentar que poderia ser colocado a nível de segurança uma senha master entregue ao administrador de rede para que nenhum usuário tomasse a iniciativa de fazer o vinculo, pois tenho feito na prática compartilhamento oculto \\metrologia$ ou um botão invisível escondido com o caractere de atalho &^ assim a chamada da senha seria algo assim Alt + ^ + ^ algumas dicas simples que deixo aqui para nos assegurar com algumas funções secretas rsrs tenho feito desses artifícios para agilizar algumas soluções sem perda de tempo, como não temos o vinculo não sabemos se o usuário é o administrador, na prática os usuários não sabem lidar com a situação, sendo mais seguro eles terem apenas a visualização das mensagens sem poderem ter acesso as funções de caminho e salvar. Show de bola... Sou mais Brasil! MARCIO MELO MARTINS 3/4/2010 11:06:18 Ahh! eu uso 3 formulários porque o primeiro vem rastreando se o programa está no prazo de validade e registrado conforme o número do serial do HD, depois passa para o segundo que verifica o Back-End, se o caminho estiver quebrado mostra a mensagem de possíveis soluções, nesse formulário coloco um botão oculto/invisível que quando executado faz com que ao reiniciar o aplicativo venha o formulário de vinculação, ao fazer o novo vinculo e abrir o form principal o aplicativo volta a situação de fazer todo o processo novamente caso perca o vinculo. Antes eu deixava direto mais me deu muita dor de cabeça porque o usuário pouco conhece de caminhos local ainda mais em rede. Voltei a estudar mais sobre access depois que conheci esse site tinha parado em access2004/access2005 vi aqui a oportunidade de fazer uma reciclagem para as novas versões do access e abrir minha pasta de estudos access2010, adquirir novos conceitos, reavaliar os códigos usados, emprementar novas soluções e designer... Sou mais Brasil! muito sucesso para você. José Mendes 3/4/2010 13:07:09 Avelino, Um exemplo bastante simples de se implementar o que é óptimo. No meu caso tenho as seguintes dúvidas: Como fazer para pedir o vinculo de vários BE? No meu caso uso 3 pelo menos digamos que como módulos. Será possível por exemplo definir um BE preferencial? Por exemplo, se estiver no escritório irei trabalhar com o BE que está no servidor e que é o original, mas se estiver em casa, por exemplo para consulta ou até para desenvolvimento vou ter que vincular as tabelas a uma cópia do BE que tenho no computador pessoal, o que vai aconteçer é que no dia seguinte ao chegar ao escritório o mais certo é esquecer-me que tenho o FE vinculado ao meu BE do meu computador e não ao do servidor. Luís Augusto 7/4/2010 12:34:28 Essa ferramenta veio em hora certa. Estou em constante processo de melhorias no Front End, com certeza facilitou muito minha vida no processo de vinculação das tabelas. Estou ancioso para o próximo vídeo explicativo para o Monta Ribbons, sua praticidade tem feito sucesso em meu trabalho. Muito obrigado Avelino. STELLA MARIS 1/5/2010 21:22:40 Avelino, Gostei muito da forma deste vinculo, esse procedimento pode ser usado para a versao do access 2003 no access 2007? grata Avelino Sampaio 2/5/2010 05:54:00 Brigido e Marcio, Muito obrigado pelo apoio e participação de vocês. José, Conforme email que te passei esta solução é possível sim mas infelizmente estou sem tempo para te oferecer um exemplo. Anotei aqui para num futuro próximo modificar meu exemplo e atender a algumas reivindicações que me fizeram. Stella, Pode sim, sem problema. Sucesso Gilberto 14/5/2010 16:03:47 Avelino, seu site é sensacional. Uma coisa, aqui no Autoexec, esta dando erro no Ao ocorrer erro next, diz que não pode executar a macro, então eu tirei a linha e funciona, mas eu não estou tendo que vincular as tabelas, será que pode dar problema tirar esse tratamento de erro? Abs Avelino Sampaio 14/5/2010 17:12:53 Gilberto, obrigado pelo seu apoio e participação. De fato ocorre problema se o arquivo rodar no modo runtime. O tratamento de erro não é aceito. Eu já havia corrigido isso no exemplo Maestro, que disponibilizo aqui no site mas esqueci deste exemplo. Já está corrigido. Baixe novamente , por gentileza. Fico grato por me comunicar o ocorrido. Sucesso Mario scandolera 11/6/2010 21:56:48 Bom exemplo, não incomodando muito voce não teria uma versão para o access 2003.? Desde ja agradeço. Angelo Duque 18/6/2010 02:12:20 Avelino Parabens pelo site, realmente é muito organizado e didático. Bom vc não teria esses exemplos na versão access 2000. Eu tive um problema muito sério com a versão 2003. Sempre que estava quanse terminando um formulário, ele fechava e acusava um erro de falta de memória (erro 2004). depois de perder vários formulários e procurar solução descobrir que esse problema só ocorre na versão 2002 e 2003. Então voltei a usar o access 2000. E quanto ao 2007, eu não gostei de usa-lo e ainda não tenho prática com o mesmo. Desde já agradeço. Helder Castro 7/7/2010 15:43:58 Avelino, qual é a senha do bd mesmo? Abraços Avelino Sampaio 8/7/2010 06:21:16 Angelo, Me desculpe eu não tenho exemplos para o 2000. Helder A senha do back-end é "xpto" |