.mdbファイルに登録されているクエリー名をリストボックス(コンボボックス)に表示するには,以下のような自作関数を作って,リストボックスの値集合タイププロパティに指定します。
※ サンプルファイルはこちら (MyQuery.EXE (65.1KB))
'リストボックスにクエリー名を表示します。 Public Function gfListQuery( _ fld As Control, ID As Variant, row As Variant, col As Variant, code As Variant) As Variant Static strQData() As String Static Entries As Integer Dim ret As Variant Dim objAccObj As AccessObject Dim objPrp As AccessObjectProperty ret = Null Select Case code Case acLBInitialize ' 初期化します。 Entries = -1 For Each objAccObj In Application.CurrentData.AllQueries Entries = Entries + 1 ReDim Preserve strQData(Entries) strQData(Entries) = objAccObj.Name Next ret = -1 ' 0 以外ならば何でもいいです。 Case acLBOpen 'コントロールの固有の ID を設定します ret = Timer '一箇所しか使わないのならば,固定値でいいです。 Case acLBGetColumnCount '列数を設定します。必ずプロパティで設定したものと同じにします。 ret = 1 Case acLBGetColumnWidth '列幅を設定します。 ' -1 は既定の幅もくしはプロパティに設定しているものを使用します。 Select Case col Case 0 ret = -1 Case 1 '以下,列数にあわせて同様 Case Else End Select Case acLBGetFormat 'フォーマットを設定します。 Select Case col Case 0 Case 1 '以下,列数にあわせて同様 Case Else End Select Case acLBGetRowCount '行数を設定します。 ret = Entries + 1 Case acLBGetValue '表示するデータを設定します。 Select Case col Case 0 ret = strQData(row) Case 1 '以下,列数にあわせて同様 Case Else End Select Case acLBEnd '終了します。 Erase strQData End Select gfListQuery = ret End Function
上記を標準モジュールに作って,以下のように,リストボックスのプロパティに設定します。
Published: 2001-10-25
Updated: 2002-01-13
Last Updated: 2013-06-14
つくれますの部屋
Copyright(C) 2011 Yasuharu Takahashi, All Rights Reserved.