Попробуй это:
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