Microsoft Access Club >AccessTips >このページ >次頁 <前項  サイト内検索


CurrentDataオブジェクトを用いてクエリ名をコンボボックスに表示する : AccessTips136



今回は、データベース内の全クエリ名を取得し、コンボボックスで一覧リストとして表示する技をご紹介します。クエリ名の取得には、CurrentDataオブジェクトのCurrentDataプロパティ機能を用います。
このプロパティは、CurrentData オブジェクトおよびその関連コレクションにアクセスし、それぞれの値を取得することができる機能があります。CurrentData オブジェクト等の 相関図は、以下のとおりです。

データベース内のクエリオブジェクト

データベース内に存在するクエリオブジェクトを以下のとおりです。

  1. Q_sampleQuery
  2. Q_ageQuery
  3. Q_enterQuery

クエリ一覧を表示するフォームの作成

非連結フォームを作成します。

  1. コンボボックス(cmbクエリ名)を作成します。
  2. 値集合タイプを「値リスト」に設定します。

フォームの開く時イベントプロシージャの作成

フォームの開く時イベントにプロシージャを作成します。For Each 構文を用いて全てのクエリ名を取得し、コンボボックスの値集合ソースに代入します。

Private Sub Form_Open(Cancel As Integer)

    On Error GoTo エラー

    Dim obj As AccessObject
    Dim dbs As Object
    Dim stract As String
    
    Set dbs = Application.CurrentData
    
    For Each obj In dbs.AllQueries
        stract = stract & IIf(stract <> "", ";", "") & obj.Name ' --- A
    Next
    
    Me.cmbクエリ名.RowSource = stract
    
    Exit Sub
    
エラー:

    MsgBox "エラーID : " & Err.Number & vbNewLine & Err.Description, 16

End Sub
解説
  1. 2順目以降は、セミコロン(;)を付加しています。

フォームをビューモードで開く

  1. フォームをビューモードで開きます。
  2. コンボボックスをプールダウンします。

  1. 全てのクエリ名が一覧にあることを確認します。

関連ページ

2005/10/24

ページの先頭へ 前ページへ戻る

 


CurrentDataオブジェクトを用いてクエリ名をコンボボックスに表示する : AccessTips136


 

-Microsoft Access Club-