- ベストアンサー
アクセスのフィルタ
アクセスを起動時設定により、データベースビュー出来ないようにしています。 フォームでフィルターをかける必要がでたので、調べていたら、起動時フィルタボタンを表示させようとすると、データベースビューのボタンも選択できるようになってしまいます。 フィルタだけが選択できるようには、出来ないんでしょうか?
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
>言われたとおり作ってみたのですが、検索条件入力後、×で閉じると、検索条件が記憶されないと思うのですが・・・ すいません。確かにおっしゃるとおりでした。 右クリックで、フィルター/並び替えの実行(Y)で出来るみたいですね。 ユーザにフォームの右クリックをさせるのには抵抗がありますが... 間違った回答をしてこんなことを言うのも何ですが、ユーザに予期せぬ動作を させたくないのであれば、ACCESSの標準機能を利用せず、検索フォームを作成 し、そこから目的のフォームにフィルタをかけたり、レコードソースを書き換 える等の、工夫が必要だと思います。 複数の絞り込みがある場合には、フィルタの条件を下記のように"AND"でつなげ れば良い話なので、試してみてください。 "[検索対象1] like'" & Me![テキスト1] & "*' AND [検索対象2] like '" & Me![テキスト2] & "*'"
その他の回答 (2)
- sgh
- ベストアンサー率61% (75/121)
こんにちは。 どうしてもフォームフィルタを使いたいのであれば、ボタンを2つ追加することで実現できます。 尚、ツールボックス(フォーム)も出てきませんでした。 <やり方> ・フィルターボタンと、フィルター実行・解除ボタン2つをヘッダなどに配置する。 ・フィルターボタンのクリック時イベントに以下のコード。 Private Sub コマンド1_Click() DoCmd.RunCommand acCmdFilterByForm End Sub ・フィルタ実行ボタンのイベント Private Sub コマンド2_Click() DoCmd.RunCommand acCmdToggleFilter End Sub <利用方法> ・フィルターボタンをクリックしフォームフィルタを表示。 ・検索条件を入力。 ・×でフォームフィルタを閉じる。 ・フィルタ実行ボタンをクリック。 一応実験済みです。
お礼
どうもお手数おかけしております。 言われたとおり作ってみたのですが、検索条件入力後、×で閉じると、検索条件が記憶されないと思うのですが・・・
- sgh
- ベストアンサー率61% (75/121)
自分でフィルターボタンを作りましょう。 <例> コマンドボタン"B_F_ON"と"B_F_OFF"とテキストボックス"TXT_NAME"をフォームヘッダなどに作成する。 以下のイベントプロシジャーを記述する。 Private Sub B_F_ON_Click() On Error Resume Next Me.Filter = "name like '" & Me!TXT_NAME & "*'" Me.FilterOn = True End Sub Private Sub B_F_OFF_Click() Me.FilterOn = False End Sub ポイントは、"Me.Filter ="のところで、クエリのWhere句以降を作ることです。
お礼
ありがとうございます。早速作ってみました。 フォームフィルタのように複数の絞込み行いたいのですが、むずかしそうですね。 フォームフィルタボタンのonて出来ないんでしょうかねー?
お礼
何度もありがとうございます。 accessって自分で作って自分で使うように、設計されているようですねー。 ユーザーが触れるようにしたほうが、怖いですけど、融通きくので、そうします。 すいませんでしたー