Access (一般機能)

Accessの一般機能に関するフォーラムです。
  • 解決済みのトピックにはコメントできません。
このトピックは解決済みです。
質問

 
(Windows 10 Pro : Access 2016)
分割フォームで複数のフィルタをかける
投稿日時: 20/06/01 11:43:24
投稿者: マヨイ

ご覧いただきありがとうございます。
分割フォームで以下のようなテーブルを表示しています。
工事名  工事管理者 工事日開始日  工事完了日
新宿   田中    2020/01/01 2020/01/02
渋谷   鈴木    2020/02/01
代々木  田中    2020/02/10 2020/02/11
新宿   田中    2020/03/01
原宿   鈴木    2020/03/21 2020/03/22
 
分割フォームの下(フォーム画面?)に複数のテキストボックスとボタンを配置して埋め込みマクロでフィルタをかけるようにしています。
@工事名をテキストボックスの内容で絞る
埋め込みマクロ:フィルタの実行
Where条件式:[工事名] like [Froms]![管理画面]![テキスト1] & "*"
A工事管理者をテキストボックスの内容で絞る
埋め込みマクロ:フィルタの実行
Where条件式:[工事管理者] like [Froms]![管理画面]![テキスト2] & "*"
B工事完了日が入っているものを表示する
埋め込みマクロ:フィルタの実行
Where条件式:[工事完了日] Is Not Null
のようなフィルタがあるのですが複数のフィルタをかけようと思って@の後にAを押すと@が解除されてAがかかります。
Where条件式を「@ AND A」にすれば同時に二つかかりますが、Aだけかけたい、Bをかけたうえで@をかけたたいとう様々な場合があります。
マクロ処理でフィルタがかかったうえで追加のフィルタをかけるという事は可能でしょうか?
マクロを使わず手動でテキストフィルタをかければよいと思いますが作業時間の短縮のため可能であればボタンクリックでやりたいと思っています。
 
長い説明ですみませんがよろしくお願いします。
マクロでなくVBAでならできるという事であればVBAでも結構です。
 

回答
投稿日時: 20/06/01 15:49:38
投稿者: sk

引用:
分割フォームの下(フォーム画面?)に複数のテキストボックスと
ボタンを配置して埋め込みマクロでフィルタをかけるようにしています。

引用:
Where条件式を「@ AND A」にすれば同時に二つかかりますが、
Aだけかけたい、Bをかけたうえで@をかけたたいとう様々な場合があります。

引用:
マクロを使わず手動でテキストフィルタをかければよいと思いますが
作業時間の短縮のため可能であればボタンクリックでやりたいと思っています。

例えば、埋め込みマクロ上において If ブロックと[ローカル変数の設定]アクションを
使用し、[フィルターの実行]アクションに渡す Where 条件式を生成する、
という方法が考えられます。
 
引用:
マクロでなくVBAでならできるという事であればVBAでも結構です。

VBA の場合でも、同じようなロジックで実現可能でしょう。

投稿日時: 20/06/03 20:04:22
投稿者: マヨイ

返信がおそくなりすみません。
IFブロックと変数を使用して解決する事ができました。
ありがとうございます。