Informar se a tabela local é uma tabela vinculada em um banco de dados separado

1

Eu acabei de assumir como um cara de TI em uma empresa que tem uma infinidade de bancos de dados do Access, todos com tabelas locais. Um banco de dados pode ter 20 tabelas locais e 10 das tabelas são vinculadas a diferentes bancos de dados como tabelas vinculadas.

Sem abrir cada banco de dados do Access, existe uma maneira de dizer a partir da tabela de origem se ela está vinculada a um banco de dados diferente e, se sim, qual?

EDITAR - >
Esta provavelmente não é uma solução viável, então deixe-me colocar a questão dessa maneira. Se eu abrir cada banco de dados individual, existe um script que eu possa executar que me fornecerá uma lista de todas as tabelas vinculadas e o banco de dados de origem ao qual a tabela está vinculada?

    
por SmallFries BigGuys 27.10.2016 / 19:16

1 resposta

1

Tente isto:

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

Fonte: Como passar por todos Tabelas em um banco de dados do MS Access (adicionado tdf.Connect )

O código acima listará o nome de cada tabela junto com a string de conexão dessa tabela. Para tabelas locais, a string de conexão ficará em branco.

Aqui está o exemplo de saída de um banco de dados do Access que possui uma tabela local chamada "LocalTable" e uma tabela vinculada (vinculada a um arquivo do Excel) chamada "LinkedTable":

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