- ベストアンサー
access マクロでのフィルタの解除の方法
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
> VBAでやるなら、 > Me.Form.FilterOn = False > をマクロでやりたいです。 ご質問の趣旨が「並べ替えは維持した状態で、フィルタだけ解除したい」という ことでしたら、以下の方法で対応できます。 a)フィルタの解除専用の場合 *************************** アクション:コマンドの実行 コマンド:フィルタをすべて解除 *************************** ※フィルタが適用されていない状態で実行するとエラーになります。 (コマンドボタンで実行させる場合、フィルタ未適用時はボタンを使用不可 にするか、マクロの『条件』欄に「~.FilterOn = True」の記述が必要、と) また、フォームのプロパティシートの『データ』タブにある『フィルタ』欄(VBAでの Me.Form.Filterに相当)に設定された文字列も削除されます。 b)フィルタの適用/解除を交互に切り替える場合 *************************** アクション:コマンドの実行 コマンド:フィルタの実行/解除 *************************** ※当該フォームにフィルタが設定されていない場合、エラーとなります。 (フォームのプロパティシートの『データ』タブにある『フィルタ』欄に フィルタとなる文字列が設定されていればOk:) (フィルタが適用済みなら解除、解除済みなら適用、となります) 因みに、マクロのデザインビューで、『デザイン』リボンの『表示/非表示』グループ 内にある『すべてのアクションを表示』をオンにしてもよいのでしたら、以下の 方法もあります。 (VBAでの方法をご存知の上でマクロで対応ということは、勤務先のセキュリティ 方針によるものかと思いますので、この方法も不可かもしれませんが(汗)) *************************** アクション:値の代入 アイテム:Forms!フォーム名.Form.FilterOn 式:False *************************** ※サブフォームの場合の『アイテム』は以下のようになります: Forms!フォーム名!サブフォームコントロール名.Form.FilterOn
お礼
回答ありがとうございました。