Individuare il path delle tabelle collegate in Access con VBA

0 Condivisioni

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.


0 Condivisioni

Fabrizio Cannatelli

Fondatore di Informarea.it, è un appassionato di informatica. Ha lavorato per molti anni come Analista Programmatore presso varie aziende utilizzando diversi linguaggi di sviluppo, oggi svolge un lavoro completamente diverso ma la voglia di comunicare e di condividere con il web i suoi studi e le sue curiosità lo hanno spinto a far nascere questo blog non solo per esprimere e mostrare la passione per questo mondo, ma anche per confrontarsi con nuove esperienze di sviluppo.

Fabrizio Cannatelli

Lascia un commento

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

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