即効テクニック |
データベースにあるテーブルの名前を取得するには、TableDefオブジェクトのNameプロパティを使います。 サンプルでは、カレントデータベースのすべてのテーブル名をイミディエイトウィンドウに出力しています。 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個はシステムオブジェクトです。システムオブジェクトは出力しないようにするためには、次のように記述します。 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プロパティを使います。 Sub Sample() Dim mymydb As Database Set mydb = CurrentDb Debug.Print "すべてのクエリ名を出力します" For Each myqer In mydb.QueryDefs Debug.Print myqer.Name Next End Sub