Importar tabelas do back-end para o front-end desvinculado
Nota importante: para ter acesso aos vídeos e arquivos exemplos deste site, adquira um dos planos apresentados abaixo. Você pode comprar em até 5x no Cartão de Crédito.
Veja como comprar e saiba mais sobre o material oferecido, clicando aqui.
Uso com frequência a técnica de empregar tabelas temporárias para ter um melhor desempenho do aplicativo em rede. Clique aqui e veja, neste meu artigo, a técnica usada para importar tabelas de um back-end que está vinculado ao front-end.
Agora quero demonstrar como você pode importar tabelas de um back-end não vinculado ao front-end. Observe com atenção os comentários do código proposto, aonde é usado o DAO para se conectar ao back-end.
Dim bd as DAO.Database
Dim LocalBe$
Dim LocalFe$
Dim strSql$ '----------------- 'Abre o back-end '-----------------
LocalBe="\\MeuServidor\PastaBe\MeuBackEnd.accdb" Set bd = OpenDatabase(LocalBe, False, False,";PWD=senha") '----------------------------------- 'Monta a consulta de transferência '-----------------------------------
LocalFe = "c:\MinhaPasta\MeuFrontEnd.accdb" strSql = "SELECT * INTO [" & LocalFe & "].tmp_Produtos FROM tblProdutos;" '--------------------------------------------------------------------- 'Executa a consulta, importando a tabela do back-end para o front-end '--------------------------------------------------------------------- bd.Execute strSql '------------------------------- 'Fecha a conexão com o back-end '-------------------------------
bd.close set bd = nothing
Nota: Foi preciso indicar na consulta, o local do front-end (LocalFe), aonde desejamos gravar a tabela temporária, caso contrário a tabela seria gravada no próprio back-end.
Observe, no código abaixo, o uso do ADO para se conectar ao back-end.
Dim strSql$ Dim strCnx$
Dim LocalFE$ Dim cnx As New ADODB.Connection '---------------------------------- 'String de conexão com o back-end '---------------------------------- strCnx = "Provider=Microsoft.ACE.OLEDB.12.0;User ID=Admin;" strCnx = strCnx & "Data Source=\\MeuServidor\MinhaPasta\MeuBackEnd.accdb;" strCnx = strCnx & "Jet OLEDB:Database Password=Senha" '-------------------------------- 'Abre a conexão com o back-end '-------------------------------- cnx.Open strCnx '----------------------------------- 'Monta a consulta de transferência '-----------------------------------
LocalFe = "c:\MinhaPasta\MeuFrontEnd.accdb" strSql = "SELECT * INTO [" & LocalFe & "].tmp_Produtos FROM tblProdutos;" '------------------------------------------------- 'Executa a consulta, criando a tabela no front-end '------------------------------------------------- cnx.Execute strSql '---------------------------- 'Fecha a conexão com back-end '---------------------------- cnx.Close Set cnx = Nothing
Bom estudo!
Os dez artigos mais visitados
MontaRibbons v.7.0 - Assistente completo para criar ribbons no Access
Vídeo - Controle personalizado de Acesso de Usuários
Vídeo - Aprenda sobre filtragens
Vídeo - Segurança máxima, usando o OPEN
Uma ajuda para quem está começando um negócio ou um projeto
Integrando o Access com Servidor MySQL - Introdução
Desabilitando a faixa(ribbon) superior do Access
Vídeo - Programação de relatórios - Parte 1
Como carregar o seu menu sem que ele vá para lista de suplementos
Vídeo - Criando Ribbons parte 1 - Conhecendo a estrutura Xml
2 comentário(s) CRISTIANO ARAKAKI 23/08/2023 16:54:10 Boa noite tenho um banco de dados divido em back end e front end, tenho uma tabela com 280mil registros e qdo uso ela pelo front end na rede o trafego fica pesado. gostaria de saber se da para criar uma tabela temporaria no front end dessa tabela em questão, e faz para que qdo eu lançar um registro nessa tabela temporaria, esse lançamento tambem esteja na tabela do back end (evitando duplicar dados) aguardo orientações Obrigado Elvis 07/07/2023 16:58:54 Olá Avelino, não sei se é possível, mas como ficaria o processo de "Importar tabelas do back-end para o front-end desvinculado", se o meu back-end estiver no sql server? |