Microsoft Access 掲示板

抽出する選択ボックスをつくる

6 コメント
views
4 フォロー

このようなフォームをつくったときに
画像1

EXCELやACCESSにもあるこのようなフィルタ機能を実装するにはどうしたら良いでしょうか?
EXCELのように、見出しに選択ボックスがでず、フォームの上部の入力欄のような部分のボックスから選ぶ方法でもかまいません

画像2

ロマサガ
作成: 2021/03/31 (水) 01:37:29
通報 ...
1

データシートビューにすれば、ヘッダーをクリックするとエクセル的なフィルターが使えます。

画像1

ヘッダーに条件を入力するボックスを配置してVBAでフィルターをかける方法なら、下記にサンプルがあります。

複数条件の抽出フォームの設計 その1 - hatena chips

2
ロマサガ 2021/03/31 (水) 18:28:00 58219@05952

個人的なこだわり(UIデザイン的な)でデータシートビューは使いたくなったので、サンプルをみて勉強させてもらいます
データシートビューのように複数の項目にチェックをいれていき、すべてに適合するものを検索することはむずかしいですか?

3
ロマサガ 2021/03/31 (水) 18:33:46 58219@05952

質問が曖昧で申し訳ないのですが
厳密にいうとフィルタではなく、検索ということになります
画像
画像のようなイメージです

伝え方があいまいで申し訳ないです

4

VBAを使えば可能ですよ。
ラベルとチェックボックスを並べて作成すればできます。
ただ、面倒ですよね。

検索条件用入力用のテーブルを作成して、各フィールドは「複数値フィールド」にすれば、リストからチェックボックスで選択できるUIになります。これを使えば楽できそうですね。

複数値を持つフィールドの作成または削除 - Access

画像1

5
ロマサガ 2021/04/01 (木) 01:46:13 2a30e@05952 >> 4

ありがとうございます

検索条件用入力用のテーブルのレコードは常に一つということですか?検索のたびに増えていきませんか?
それらのフィールドを元に検索をかけるのですよね?

6
hatena 2021/04/01 (木) 09:49:38 修正 >> 5

レコードは1件のみで、検索終了後はデータはクリアすればいいでしょう。

過去の抽出条件を再利用する可能性があるなら、レコードを追加して利用するのもありです。
開いたときは新規レコードにしておいて、コンボボックスで過去の条件データを選択することも可能にするという設計にしてもいいでしょう。