Individuare il path delle tabelle collegate in Access con VBA

In questi giorni mi è capitato di analizzare molti database Access 2003 e 2007 con tantissime tabelle collegate. Avevo la necessità di individuare per ogni tabella collegata il database di origine e quindi la path, le tabelle di sistema e le tabelle di ciascun database.

Microsoft Access

Ecco quindi uno script in vba che svolge tale servizio, create un modulo in un file access e inserite le seguenti righe di codice nel database da analizzare, inserendo in ambiente VBA la Finestra Immediata (Visualizza > Finestra Immediata):

Sub Estrai_Tabelle()
Dim db As DAO.Database
Dim obj As DAO.TableDef
Dim intContaTabella As Integer
Set db = CurrentDb()
intcontaTabelle = 0
For Each obj In db.TableDefs
intcontaTabelle = intcontaTabelle + 1
Debug.Print Right("00000" + CStr(intcontaTabelle), 5) + _
" - " + obj.Name + " " _
; String(CStr(100 - Len(Trim(obj.Name))), "-")
If Left(obj.Name, 4) = "MSys" Then
Debug.Print "Tabella di sistema"
Else
Debug.Print "Tabella collegata da elaborare"
Debug.Print "stringa connessione = " + obj.Connect; ""
End If
'crea una riga vuota per dare più spazio
Debug.Print
Next obj
Set obj = Nothing
Set db = Nothing
End Sub

Se volete seguire i post di www.informarea.it potete iscrivervi al suo feed RSS.


Fabrizio Cannatelli

Autore e Founder di Informarea, sono un appassionato di informatica e tecnologia da sempre. La voglia di comunicare e di condividere sul Web le mie curiosità e le mie conoscenze, mi ha spinto a lanciarmi nel progetto di questo sito. Nato un po' per gioco e un po' per passione, oggi è diventato una grande realtà.

Fabrizio Cannatelli

Approfondimenti