データベースのすべてのテーブル名とクエリ名を取得する
 データベースにあるテーブルの名前を取得するには、
TableDefオブジェクトのNameプロパティを使います。

 サンプルでは、カレントデータベースのすべてのテーブル名を
イミディエイトウィンドウに出力しています。

● サンプル1 ●

 Sub Sample1()
    Dim mymydb  As Database
    
    Set mydb = CurrentDb
    
    Debug.Print "すべてのテーブル名を出力します"
    For Each mytbl In mydb.TableDefs
        Debug.Print mytbl.Name
    Next
End Sub

 住所録テーブルと商品管理テーブルが存在するとしたら、
イミディエイトウィンドウには次のように出力されます。

すべてのテーブル名を出力します
MSysAccessObjects
MSysACEs
MSysObjects
MSysQueries
MSysRelationships
住所録
商品管理

 最初の6個はシステムオブジェクトです。システムオブジェクトは出力しないように
するためには、次のように記述します。

● サンプル2 ●

Sub Sample2()
    Dim mymydb  As Database
    
    Set mydb = CurrentDb
    
    Debug.Print "すべてのテーブル名を出力します"
    For Each mytbl In mydb.TableDefs
        If Left(mytbl.Name, 4) <> "MSys" Then
            Debug.Print mytbl.Name
        End If
    Next
End Sub

 クエリ名を取得する場合は、QueryDefオブジェクトのNameプロパティを使います。

● サンプル3 ●

Sub Sample()
    Dim mymydb  As Database
    
    Set mydb = CurrentDb
    
    Debug.Print "すべてのクエリ名を出力します"
    For Each myqer In mydb.QueryDefs
        Debug.Print myqer.Name
    Next
End Sub

Access97/2000



戻る


Excel Word Access VBA! モーグ