Скажите, является ли локальная таблица связанной таблицей в отдельной базе данных

1045
SmallFries BigGuys

Я только начал работать ИТ-специалистом в компании, имеющей множество баз данных Access с локальными таблицами. База данных может иметь 20 локальных таблиц, и 10 таблиц связаны в разные базы данных в виде связанных таблиц.

Не открывая каждую базу данных Access, есть ли способ узнать из исходной таблицы, связана ли она с другой базой данных, и если да, то какая?

РЕДАКТИРОВАТЬ ->
Это, вероятно, не осуществимое решение, поэтому позвольте мне сформулировать вопрос таким образом. Если я открою каждую отдельную базу данных, есть ли скрипт, который я могу выполнить, который предоставит мне список всех связанных таблиц и исходную базу данных, с которой эта таблица связана?

1

1 ответ на вопрос

1
MJH

Попробуй это:

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