データベースにあるテーブルの名前を取得するには、
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
|