• ベストアンサー

access マクロでのフィルタの解除の方法

フィルタをかける時は、 *************************** アクション:フィルタの実行 フィルタ名:なし Where条件式:[フィールド1]="あ" *************************** で、できますが、 フィルタを解除する時はどのようなマクロを作ればいいのでしょうか? VBAでやるなら、 Me.Form.FilterOn = False をマクロでやりたいです。 アドバイスよろしくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • DexMachina
  • ベストアンサー率73% (1287/1744)
回答No.3

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

FRZMKDSDBO
質問者

お礼

回答ありがとうございました。

その他の回答 (2)

  • piroin654
  • ベストアンサー率75% (692/917)
回答No.2

フィルタを解除するということはレコードを すべて表示するということになるかと思いますので、 アクションを 「全レコードの表示」 にしてマクロを別途作成すればよろしいかと。

FRZMKDSDBO
質問者

お礼

どおりで、 「フィルタの解除」で探してもない訳ですね。 ありがとうございました。

  • m3_maki
  • ベストアンサー率64% (296/460)
回答No.1

「全レコードの表示」 アクションで。

FRZMKDSDBO
質問者

お礼

どおりで、 「フィルタの解除」で探してもない訳ですね。ありがとうございました。

関連するQ&A