Скажите, является ли локальная таблица связанной таблицей в отдельной базе данных
Я только начал работать ИТ-специалистом в компании, имеющей множество баз данных 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 (добавлено tdf.Connect
)
Приведенный выше код перечислит имя каждой таблицы вместе со строкой соединения этой таблицы. Для локальных таблиц строка подключения будет пустой.
Вот пример выходных данных из БД Access, которая имеет одну локальную таблицу с именем "LocalTable" и одну связанную таблицу (связанную с файлом Excel) с именем "LinkedTable":
LinkedTable Excel 12.0 Xml;HDR=YES;IMEX=2;ACCDB=YES;DATABASE=C:\Temp\temp.xlsx LocalTable