2016-07-07 4 views
1

Вчера мне пришлось запускать запрос в MS Access 2010. Одно поле, которое мне было нужно, не было в таблицах, которые я обычно использую (уже связан через базу данных ODBC) t знать, какая таблица была частью (в машинных источниках данных имеется несколько сотен таблиц). Помимо ручного импорта всех таблиц и поиска в каждом из них для этого поля есть способ, которым я могу искать поле, не зная таблицы ни 1. без импорта каких-либо таблиц из баз данных ODBC, или если нет 2. Импорт нескольких возможные таблицы и поиск после того, как эти таблицы были связаны с моей активной сессией MS Access 2010?Поиск поля в ODBC машинных источниках данных - MS Access

ответ

0

Установить Access Dependency Checker, связать все таблицы и поиск имени столбца (включите флажок для поиска в связанных таблицах)

0

Вы могли бы сделать это в функции с помощью ADO схемы.

Попробуйте эту функцию в стандартном модуле:

Function ListTablesContainingField(SelectFieldName) As String 

     Dim cn As New ADODB.Connection 
     Dim rs As ADODB.Recordset 
     Dim strTempList As String   

     Set cn = CurrentProject.Connection 

     'Get names of all tables that have a column called <SelectFieldName> 
     Set rs = cn.OpenSchema(adSchemaColumns, _ 
     Array(Empty, Empty, Empty, SelectFieldName)) 

     'List the tables that have been selected 
     While Not rs.EOF 
      'Exclude MS system tables 
      If Left(rs!Table_Name, 4) <> "MSys" Then 
       strTempList = strTempList & "," & rs!Table_Name 
      End If 
      rs.MoveNext 
     Wend 

     ListTablesContainingField = Mid(strTempList, 2) 


     rs.Close 
     Set cn = Nothing 

    End Function 
+0

Это предварительно связь, когда таблицы находятся только в базе данных ODBC или по почте, когда они связаны в сеанс доступа? – Bradford

+0

Должен работать для связанных или локальных таблиц –

Смежные вопросы