11 クエリ系 - クエリ名を収集する

カレントデータベース内にあるクエリ名の一覧を収集します。
  1. まず「Database」オブジェクトの変数である「dbs」に”カレントデータベース”をセットします。

  2. そのデータベース内にあるすべてのクエリのコレクションである「QueryDefs」の中から、For Each〜Nextステートメントでひとつずつクエリ情報を取り出し、「QueryDef」オブジェクトの変数「qdf」にセットしていきます。

  3. VBAで扱うQueryDefsコレクションには、ナビゲーションウィンドウに表示されるクエリの他、フォームのレコードソースやコンボボックス等の値集合ソースプロパティに直接記述されているSQL文なども含まれています。

    それらのクエリは名前の先頭に「~sq_」という4文字が内部的に付加されていますので、ここではそれを判別してIf文で除外します。

    ※もしそれらのクエリも収集対象とするのであれば、このIfの条件式を抹消します。

  4. 取り出されたクエリ情報のうち、クエリ名である「Name」プロパティの値をイミディエイトウィンドウに出力します。

Sub Sample_2_01()
'クエリ名を収集する

  Dim dbs As Database
  Dim qdf As QueryDef

  Set dbs = CurrentDb
  For Each qdf In dbs.QueryDefs
    With qdf
      If Left$(.Name, 4) <> "~sq_" Then
        Debug.Print .Name
      End If
    End With
  Next qdf

End Sub

実行例:
| Index | Prev | Next |



Copyright © T'sWare All rights reserved