Pessoal, essa é uma dúvida recorrente, caso queira vincular tabelas de bancos de dados diferentes segue código:
1) Crie uma tabela com o nome tabelasbanco
2) Crie os campos formato texto: caminho, nometabela
3) Adicione o caminho do banco no campo caminho
4) Adicione o nome da tabela no campo nometabela
5) Execute a função abaixo: Call VinculaTabelasComPassword()
Public Function VinculaTabelasComPassword()
'Criação do vinculo de uma tabela: Autor JPaulo
'Modificação para várias tabelas Gilberto Rocha
Dim db2 As Database
Dim tbl As TableDef
Dim strNomeTabelaOrigem As String
Dim strNomeTabelaALigar As String
Dim db As Database
Dim rs As Recordset
On Error GoTo trata
Set db = CurrentDb()
Set rs = db.OpenRecordset("Select * from tabelasbanco")
rs.MoveFirst
Do Until rs.EOF
If Len(rs!caminho) > 0 Then
strNomeTabelaOrigem = rs!nometabela
strNomeTabelaALigar = rs!nometabela
'Deleta o vinculo
DoCmd.DeleteObject acTable, rs!nometabela
Set db2 = CurrentDb()
Set tbl = db2.CreateTableDef(strNomeTabelaALigar, dbAttachSavePWD, strNomeTabelaOrigem, ";Database=" & rs!caminho & ";Pwd=senha")
db2.TableDefs.Append tbl
End If
rs.MoveNext
Loop
Set tbl = Nothing
db2.Close
On Error Resume Next
rs.Close
Set db = Nothing
sai:
Exit Function
trata:
MsgBox "Erro ao vincular tabelas " & " " & err.Number & " " & err.Description & " " & err.Source, vbCritical, "Atenção"
Resume sai
End Function
1) Crie uma tabela com o nome tabelasbanco
2) Crie os campos formato texto: caminho, nometabela
3) Adicione o caminho do banco no campo caminho
4) Adicione o nome da tabela no campo nometabela
5) Execute a função abaixo: Call VinculaTabelasComPassword()
Public Function VinculaTabelasComPassword()
'Criação do vinculo de uma tabela: Autor JPaulo
'Modificação para várias tabelas Gilberto Rocha
Dim db2 As Database
Dim tbl As TableDef
Dim strNomeTabelaOrigem As String
Dim strNomeTabelaALigar As String
Dim db As Database
Dim rs As Recordset
On Error GoTo trata
Set db = CurrentDb()
Set rs = db.OpenRecordset("Select * from tabelasbanco")
rs.MoveFirst
Do Until rs.EOF
If Len(rs!caminho) > 0 Then
strNomeTabelaOrigem = rs!nometabela
strNomeTabelaALigar = rs!nometabela
'Deleta o vinculo
DoCmd.DeleteObject acTable, rs!nometabela
Set db2 = CurrentDb()
Set tbl = db2.CreateTableDef(strNomeTabelaALigar, dbAttachSavePWD, strNomeTabelaOrigem, ";Database=" & rs!caminho & ";Pwd=senha")
db2.TableDefs.Append tbl
End If
rs.MoveNext
Loop
Set tbl = Nothing
db2.Close
On Error Resume Next
rs.Close
Set db = Nothing
sai:
Exit Function
trata:
MsgBox "Erro ao vincular tabelas " & " " & err.Number & " " & err.Description & " " & err.Source, vbCritical, "Atenção"
Resume sai
End Function