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

Lascia un commento

Questo sito usa Akismet per ridurre lo spam. Scopri come i tuoi dati vengono elaborati.