• ベストアンサー

アクセスのフィルタ

アクセスを起動時設定により、データベースビュー出来ないようにしています。 フォームでフィルターをかける必要がでたので、調べていたら、起動時フィルタボタンを表示させようとすると、データベースビューのボタンも選択できるようになってしまいます。 フィルタだけが選択できるようには、出来ないんでしょうか?

  • yagu
  • お礼率78% (18/23)

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

  • ベストアンサー
  • sgh
  • ベストアンサー率61% (75/121)
回答No.3

>言われたとおり作ってみたのですが、検索条件入力後、×で閉じると、検索条件が記憶されないと思うのですが・・・ すいません。確かにおっしゃるとおりでした。 右クリックで、フィルター/並び替えの実行(Y)で出来るみたいですね。 ユーザにフォームの右クリックをさせるのには抵抗がありますが... 間違った回答をしてこんなことを言うのも何ですが、ユーザに予期せぬ動作を させたくないのであれば、ACCESSの標準機能を利用せず、検索フォームを作成 し、そこから目的のフォームにフィルタをかけたり、レコードソースを書き換 える等の、工夫が必要だと思います。 複数の絞り込みがある場合には、フィルタの条件を下記のように"AND"でつなげ れば良い話なので、試してみてください。 "[検索対象1] like'" & Me![テキスト1] & "*' AND [検索対象2] like '" & Me![テキスト2] & "*'"

yagu
質問者

お礼

何度もありがとうございます。 accessって自分で作って自分で使うように、設計されているようですねー。 ユーザーが触れるようにしたほうが、怖いですけど、融通きくので、そうします。 すいませんでしたー

その他の回答 (2)

  • sgh
  • ベストアンサー率61% (75/121)
回答No.2

こんにちは。 どうしてもフォームフィルタを使いたいのであれば、ボタンを2つ追加することで実現できます。 尚、ツールボックス(フォーム)も出てきませんでした。 <やり方> ・フィルターボタンと、フィルター実行・解除ボタン2つをヘッダなどに配置する。 ・フィルターボタンのクリック時イベントに以下のコード。 Private Sub コマンド1_Click() DoCmd.RunCommand acCmdFilterByForm End Sub ・フィルタ実行ボタンのイベント Private Sub コマンド2_Click() DoCmd.RunCommand acCmdToggleFilter End Sub <利用方法> ・フィルターボタンをクリックしフォームフィルタを表示。 ・検索条件を入力。 ・×でフォームフィルタを閉じる。 ・フィルタ実行ボタンをクリック。 一応実験済みです。

yagu
質問者

お礼

どうもお手数おかけしております。 言われたとおり作ってみたのですが、検索条件入力後、×で閉じると、検索条件が記憶されないと思うのですが・・・

  • sgh
  • ベストアンサー率61% (75/121)
回答No.1

自分でフィルターボタンを作りましょう。 <例> コマンドボタン"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句以降を作ることです。

yagu
質問者

お礼

ありがとうございます。早速作ってみました。 フォームフィルタのように複数の絞込み行いたいのですが、むずかしそうですね。 フォームフィルタボタンのonて出来ないんでしょうかねー?

関連するQ&A

  • ACCESS の フォームに

     自作のアドレス帖を作成しているのですが、キーワードで検索して一覧を表示(別のフォームでもかまいません)するような機能を付け足したいのです、  デザインビューで フォームフィルタの基能を持ったコマンドを貼り付けたいのですが  アクセスのフォームに フォームフィルタ のボタンを、設定・設置することは、出来ますか。   

  • Accessのフィルタの実行について

    Access 2007の顧客管理データベースをWindowsXPで利用しています。 退職した前任者が作ったシステムで、私は勉強が足りず、 今のところ、教わったことしかできない状態です。 あるフォームをダブルクリックすると、必ず、フィルタが実行された状態で 画面が開いてしまい、毎回、フィルタの実行ボタンをクリックして フィルタを解除してから作業しています。 いろいろプロパティなどを見てみましたが、どこで設定しているかわかりません。 もし、わかる方がいらっしゃいましたら、アドバイスを頂けると嬉しいです。

  • ACCESSのフィルタ

    WIN2k ACCESS2K ACCESSの機能に「フォームフィルタ」なるものが ありますが、これを使うとフォーム上に作った コマンドボタンが使えなくなります。 どうすれば使えるようになるのでしょうか。

  • Accessのメニューバーを消したい!

    こんにちは!! よろしくお願いいたします。 Accessの件でタイトルの通りなのですが、「起動時の設定」で「データベースウインドウの表示」や「ステータスバーの表示」などのチェックを外したのですが、「メニューバー」と「フォームビュー」の消し方がわかりません。 もしかして出来ないのかな?とも思っているのですが・・・ なにか、よい方法はありますでしょうか? ご回答ください!

  • Accessに於けるフォームフィルタについて

    フォームフィルタで選択する場合、データベースに1000件のレコードがある場合、コンボボックスにはきちんと候補のリストが出てきます。しかし、1001件のレコードになると、このコンボボックスの候補リストが出てきません。"Is Null" と"Is Not Null"の2つだけです。 (小生、英語版を使っているので、上記のような表現ですが)。これは、Acessの場合そういう仕様なんでしょうか? それとも、何か設定が足りないからなのでしょうか? 宜しくサジェスチョンをお願い致します。 尚、ACCESSのバージョンは、Access2000とAccess2003の両方でチェックしてみました。

  • アクセス2013 フォームが開かない

    お世話になります。 アクセス2013で、フォームを作成したのですが、 突然フォームが、レイアウトビューもしくはデザインビューでしか 開かなくなりました。 デザインビューで起動してから、表示ボタンを押すとフォームは 表示されます。 再起動等はしましたが、状況かわらず。最適化修復も、状況変わらず。 問題のフォームのFORMLOADでSTOP記載し、docmd.openform で 起動しても、そこまで行きません。 VBAのコンパイルをしてもエラーは出ません。 正直、まったく原因が想像できなくて、悩んでいます。 どなたかご存知ではありませんか? よろしくお願いします。

  • Accessのフィルタについて

    Access2000を使っています。 フォームに配置した「TextBox1」と「TextBox2」(両者とも日付/時刻型)を引数として指定範囲の抽出をすべく Me.Filter="検索結果 Between #"& TextBox1 &"# And #"& TextBox2 &"#" Me.FilterOn=True (「検索結果」はテーブルに配置したフィールドに連結) のコードをボタンのクリックイベントに設定しました。 ところが、例えば「TextBox1」に「01/02/03」、また、「TextBox2」に「01/05/04」を入力して、ボタンをクリックしても抽出されません。 フォームに戻って、フォームのプロパティで確認するとフィルタの欄に 「検索結果 Between #01/02/03# And #01/05/04#」と表示されておりコードに間違いはないと思われますが、フォームフィルタをかけてみると、検索結果のテキストボックスに「Between #03/01/02# And #04/01/05#」という具合に日付が「日/年/月」に置き変わって表示されています。これがコードを実行しても抽出されない原因だと思われるのですか、何故、このように日付が変わってしまうのでしょうか。また、どうすれば変わらないようにできるのでしょうか。 よろしくお願いします。

  • アクセス起動時のフォームのサイズの指定方法

    アクセス起動時にフォームを開いた時に表示されるフォームのサイズは どこで設定されているのでしょうか? Form_Loadなどには DoCmd.MoveSizeで何も設定していないのに 5cm×5cm位のサイズでフォームが開かれます。 デザインビューにして、矢印でぐいーんとフォームの縦横を伸ばしても、 アクセスを再起動してフォームを開くと5cm×5cm位のサイズでフォームが開かれます。 デザインビューにして、矢印でぐいーんとフォームの縦横を伸ばして保存して、 ナビゲーションウインドウからフォームを開いたら、 デザインビューで設定したサイズで開かれます。 起動時の設定に該当のフォームを設定してる状態で、 アクセスを起動したときに、自分の指定したサイズでフォームを開くには Form_LoadでDoCmd.MoveSizeの設定をするしかないのでしょうか? なぜアクセスを閉じるとフォームのサイズがリセットされるのか教えてください。 アクセス2010です。

  • Accessでのパスワード設定について

    ご教示のほどお願いします。 Accessで文書を管理するアプリケーションを作っておりますが、起動時の設定でデータベースウィンドウを非表示にしております。 管理フォームをつくり、データベースウィンドウを表示させるボタンを設置して、「F11」キー送信によってデータベースウィンドウを表示させるようにしておりますが、データベースウィンドウを表示させる際に、パスワード入力するように設定し、OKならデータベースウィンドウを開き、パスワードが間違っていたら、アプリケーションを終了させるようにしたいのですが、どのようにしたら良いかわかりません。 できれば具体的なやり方、コードなども教えていただけたら幸いです。 よろしくお願いします。

  • Access2000:データベースウィンドウの表示

    Access2000で。 開いた際に、データベースウィンドウを非表示にして、自分で作成したフォームを表示させているファイルがあります。 このフォーム内にボタンを作り、そのボタンを押すことで、データベースウィンドウの表示/非表示を切り替えたいのですが、マクロ(VBA?)で実現することは可能でしょうか?([F11]キーやメニューバーからの選択をしたくないのです) どなたか教えてください。よろしくお願いします。