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.


Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *