コンボボックスでフィルターをかける
コンボボックスを利用するとフィルターを簡単にかけることができます。
1.帳票フォームを準備する。(データはサンプル)
2.フォームデザインツールで[デザイン]-[コンボボックス]を選択する。
3. 「コンボボックスウィザード」ウインドウが表示されたら[キャンセル]をクリック。
4.フォームに「コンボボックス」が配置されたら「プロパティシート」の[データ]-[値集合ソース]のビルドボタンをクリックする。
5.「クエリビルダー」の画面で「テーブルの表示」ウインドウが表示されたらテーブルを追加する。
6.フィールドリスト「MST_Item」から「Category」を選択して、下のデザイングリッドにドラッグアンドドロップ。並び替えを昇順に変更する。
7.デザイングリッド上で右クリックで[集計]を選択する。
8.集計:グループ化、並び替え:昇順を確認し[閉じる]ボタンをクリックする。
9.下記のメッセージが表示されるので[はい]をクリックする。
10.デザインビューで[プロパティシート]-[その他]-[名前]を「cmb_Category」に変更する。
11.表示ビューでコンボボックスに値が表示されているのを確認。
12.デザインビューに戻り[プロパティシート]-[イベント]-[更新後処理]のビルドボタンをクリック。
13.「ビルダーの選択」ウインドウで[コードビルダー]を選択して[OK]をクリックする。
14.コードビルダーで次のコードを入力し保存して閉じる。
-------------------------------------------------------------------
Private Sub cmb_Category_AfterUpdate()
Dim strWhere As String
strWhere = ""
If IsNull(Me![Cmb_Category]) <> True Then
If strWhere <> "" Then
strWhere = strWhere & " And "
End If
strWhere = strWhere & "MST_Item.Category Like '*" & Me![Cmb_Category] & "*'"
End If
Me.Filter = strWhere
Me.FilterOn = True
End Sub
-------------------------------------------------------------------
15.コンボボックスでCategory(区分)を選択すると該当のデータのみが表示される。
サンプルファイルダウンロード