判断本地表是否是单独数据库中的链接表

判断本地表是否是单独数据库中的链接表

我刚刚接手一家公司的 IT 工作,这家公司有大量包含本地表的 Access 数据库。一个数据库可能有 20 个本地表,其中 10 个表作为链接表链接到不同的数据库。

无需打开每个 Access 数据库,有没有办法从源表中判断它是否链接到不同的数据库,如果是,那么链接到哪一个数据库?

编辑 -->
这可能不是一个可行的解决方案,所以让我这样表述这个问题。如果我打开每个单独的数据库,是否有一个可以执行的脚本可以为我提供所有链接表的列表以及该表链接回的源数据库?

答案1

尝试这个:

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

来源:如何循环遍历 MS Access DB 中的所有表(添加tdf.Connect

上述代码将列出每个表的名称以及该表的连接字符串。对于本地表,连接字符串将为空。

下面是来自 Access DB 的示例输出,该数据库有一个名为“LocalTable”的本地表和一个名为“LinkedTable”的链接表(链接到 Excel 文件):

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

相关内容