Prezados,
Tenho uma tabela Configurações com os campos [Nome_Tab] ,[Nome_Arq] ,[Local_Arq] e [Descritivo].
Nessa tabela insiro o nome das tabelas vinculadas no banco, o nome do arquivo onde se encontra essa tabela , o local onde está o arquivo e se ele é local ou na rede.
Dados na tabela (exemplo):
[Nome_Tab] = tb_IPCA
[Nome_Arq]= pro@.accdb
[Local_Arq] = T:\CF
[Descritivo] = Rede
[Nome_Tab] = tb_OG
[Nome_Arq]= cf&.accdb
[Local_Arq] = C:\CF
[Descritivo] = Local
Pensei em reanexar as tabelas que existem no banco tendo como referência os registros dessa tabela. Isto é, em outro código eu já verifico se existem os arquivos nos
locais... se não existe eu peço a localização e dou um UPDATE na tabela campo [Local_Arq] .
Enfim , para reanexar as tabelas nos respectivos locais estou tendo dificuldades,
descrevo o código que estou usando abaixo.
Quem puder ajuda e agradeço antecipadamente...
Dim db As Database
Dim tb As Recordset
Dim caminhoR,caminhoL,ArqNome,NomeTab As String
Set db = CurrentDb
Set tb = db.OpenRecordset("tb_Configurações")
caminhoR = DLookup("[Local_Arq]", "tb_Configurações", "[Descritivo]= 'Rede'")
caminhoL = DLookup("[Local_Arq]", "tb_Configurações", "[Descritivo]= 'Local'")
ArqNome = DLookup("[Nome_Arq]", "tb_Configurações", "\" & "[Nome_Arq]")
NomeTab = DLookup("[Nome_Tab]", "tb_Configurações", "[Nome_Tab]")
Do While Not tb.EOF
If tb!Descritivo='Rede' then
DoCmd.TransferDatabase acLink, "Microsoft Access", caminhoR & NomeArq, acTable, tb!Nome_Tab, tb!Nome_Tab, False
elseIf tb!Descritivo='Local' then
DoCmd.TransferDatabase acLink, "Microsoft Access", caminhoL & NomeArq, acTable, tb!Nome_Tab, tb!Nome_Tab, False
end if
tb.MoveNext
Loop
tb.Close
Tenho uma tabela Configurações com os campos [Nome_Tab] ,[Nome_Arq] ,[Local_Arq] e [Descritivo].
Nessa tabela insiro o nome das tabelas vinculadas no banco, o nome do arquivo onde se encontra essa tabela , o local onde está o arquivo e se ele é local ou na rede.
Dados na tabela (exemplo):
[Nome_Tab] = tb_IPCA
[Nome_Arq]= pro@.accdb
[Local_Arq] = T:\CF
[Descritivo] = Rede
[Nome_Tab] = tb_OG
[Nome_Arq]= cf&.accdb
[Local_Arq] = C:\CF
[Descritivo] = Local
Pensei em reanexar as tabelas que existem no banco tendo como referência os registros dessa tabela. Isto é, em outro código eu já verifico se existem os arquivos nos
locais... se não existe eu peço a localização e dou um UPDATE na tabela campo [Local_Arq] .
Enfim , para reanexar as tabelas nos respectivos locais estou tendo dificuldades,
descrevo o código que estou usando abaixo.
Quem puder ajuda e agradeço antecipadamente...
Dim db As Database
Dim tb As Recordset
Dim caminhoR,caminhoL,ArqNome,NomeTab As String
Set db = CurrentDb
Set tb = db.OpenRecordset("tb_Configurações")
caminhoR = DLookup("[Local_Arq]", "tb_Configurações", "[Descritivo]= 'Rede'")
caminhoL = DLookup("[Local_Arq]", "tb_Configurações", "[Descritivo]= 'Local'")
ArqNome = DLookup("[Nome_Arq]", "tb_Configurações", "\" & "[Nome_Arq]")
NomeTab = DLookup("[Nome_Tab]", "tb_Configurações", "[Nome_Tab]")
Do While Not tb.EOF
If tb!Descritivo='Rede' then
DoCmd.TransferDatabase acLink, "Microsoft Access", caminhoR & NomeArq, acTable, tb!Nome_Tab, tb!Nome_Tab, False
elseIf tb!Descritivo='Local' then
DoCmd.TransferDatabase acLink, "Microsoft Access", caminhoL & NomeArq, acTable, tb!Nome_Tab, tb!Nome_Tab, False
end if
tb.MoveNext
Loop
tb.Close