Tente isto:
Public Sub LoopThroughTables()
Dim db As DAO.Database
Dim tdf As DAO.TableDef
Set db = CurrentDb
For Each tdf In db.TableDefs
' ignore system and temporary tables
If Not (tdf.Name Like "MSys*" Or tdf.Name Like "~*") Then
Debug.Print tdf.Name, tdf.Connect
End If
Next
Set tdf = Nothing
Set db = Nothing
End Sub
Fonte: Como passar por todos Tabelas em um banco de dados do MS Access (adicionado tdf.Connect
)
O código acima listará o nome de cada tabela junto com a string de conexão dessa tabela. Para tabelas locais, a string de conexão ficará em branco.
Aqui está o exemplo de saída de um banco de dados do Access que possui uma tabela local chamada "LocalTable" e uma tabela vinculada (vinculada a um arquivo do Excel) chamada "LinkedTable":
LinkedTable Excel 12.0 Xml;HDR=YES;IMEX=2;ACCDB=YES;DATABASE=C:\Temp\temp.xlsx LocalTable