2016-07-07 5 views
1

昨日私はMS Access 2010でクエリを実行しなければなりませんでした。私が必要としていたフィールドは、通常は(すでにODBCデータベースを介してリンクされている)どのテーブルであったかを知ることはできません(マシンデータソースには数百のテーブルがあります)。手動ですべてのテーブルをインポートし、それぞれのフィールドを調べるだけで、テーブルを知らなくてもフィールドを検索することができます。1. ODBCデータベースからテーブルをインポートしないでください。可能なテーブルと一度それらのテーブルがアクティブな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

は、それらがAccessセッションにリンクされたときにテーブルが唯一のODBCデータベースまたはポストに常駐し、この前のリンクはですか? – Bradford

+0

リンクテーブルまたはローカルテーブルで動作する必要があります –

関連する問題