Informieren Sie, ob die lokale Tabelle eine verknüpfte Tabelle in einer separaten Datenbank ist

1122
SmallFries BigGuys

Ich habe gerade als IT-Mitarbeiter in einem Unternehmen übernommen, das über eine Vielzahl von Access-Datenbanken verfügt, die alle über lokale Tabellen verfügen. Eine Datenbank kann 20 lokale Tabellen enthalten, und 10 der Tabellen sind als verknüpfte Tabellen in verschiedenen Datenbanken verknüpft.

Gibt es eine Möglichkeit, ohne jede Access-Datenbank zu öffnen, anhand der Quelltabelle zu erkennen, ob sie mit einer anderen Datenbank verknüpft ist und wenn ja, welche?

BEARBEITEN ->
Dies ist wahrscheinlich keine machbare Lösung, also lassen Sie mich die Frage so formulieren. Wenn ich jede einzelne Datenbank öffne, gibt es ein Skript, das ich ausführen kann, um eine Liste aller verknüpften Tabellen und der Quell-DB zu erhalten, mit der die Tabelle zurückverknüpft wird?

1

1 Antwort auf die Frage

1
MJH

Versuche dies:

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 

Quelle: So durchlaufen Sie alle Tabellen in einer MS Access-Datenbank (hinzugefügt tdf.Connect)

Der obige Code listet den Namen jeder Tabelle zusammen mit der Verbindungszeichenfolge dieser Tabelle auf. Bei lokalen Tabellen ist die Verbindungszeichenfolge leer.

Hier ist die Beispielausgabe einer Access-Datenbank, die eine lokale Tabelle mit dem Namen "LocalTable" und eine verknüpfte Tabelle (verknüpft mit einer Excel-Datei) mit dem Namen "LinkedTable" enthält:

LinkedTable Excel 12.0 Xml;HDR=YES;IMEX=2;ACCDB=YES;DATABASE=C:\Temp\temp.xlsx LocalTable