• 締切済み

Accessでの検索

Accessで文書を管理するシステムを作成しているのですが、検索フォームの作成がうまくいきません。どのような検索が行いたいかといいますと、複数の条件をコンボボックスで指定して、それに対する検索を行うといった形を取りたいのです。1つの項目に対する検索はできるのですが、複数になるとどのようにすればいいのかわかりません。どなたか教えてください。よろしくお願いします。

みんなの回答

noname#79209
noname#79209
回答No.3

> 複数の条件をコンボボックスで指定して これは、例えばコンボボックスに表示される りんご みかん バナナ の中から、「りんご」と「バナナ」の両方を選択したいという意味ですか? だとしたら、コンボボックスでは出来ません。 リストボックスなら可能です。 的はずれだったら、ゴメンナサイ。

dryman
質問者

補足

回答ありがとうございます。 複数の条件というのは、 コンボ1 コンボ2 コンボ3 コンボ4  あ    い     う    え - これらをの条件で検索 - といった形をとりたいと思っています。 この場合の条件の記述がわからなくて困っています m(..)m

  • moon_myu
  • ベストアンサー率33% (39/118)
回答No.2

なんか前にも経験したような。。。。マクロを実行しても画面が変化しなかったような。。。。? その時は、 ※)複数の項目のフィルタを掛ける場合は、マクロの作成で(例えば検索2)   と名前を付け、アクションに「フィルタの実行」を作ります。 の後に、次の行のアクションに「コマンドの実行」     コマンドの中の「最新の情報に更新」を追加して対処出来たと     記憶してます。 これで、出来なかったら。。。。。また、考えます。(^_^;)

  • moon_myu
  • ベストアンサー率33% (39/118)
回答No.1

フォームヘッダーなりに、非連結のコンボボックスを作っておいて、a値が変わるとマクロが実行(フィルタの実行)される方法だと 幾つの項目でも、フィルタを掛けて検索を狭くして行く方法がありますが、駄目でしょうか? とりあえず方法を 1.フォームヘッダーに非連結のコンボボックスを複数作って、   名前を付けておきます 2.マクロの作成   マクロ名を付け(例えば、検索1)   アクションに「全レコードの表示」   次の行のアクションに「フィルタの実行」     Where条件式で式ビルダを作ります       forms![フォーム名]![非連結で作成したコンボボックスに              付けた名前]=[クエリ名]![フィールド名]  ※)複数の項目のフィルタを掛ける場合は、マクロの作成で(例えば検索2)   と名前を付け、アクションに「フィルタの実行」を作ります。   この時、「全レコードの表示」は付けないでね! 3.フィルタ解除用のマクロを作成   マクロ名を付けます(例えば、フィルタの解除)   アクションに「全レコードの表示」 4,フォームにフィルタ解除マクロ実行のボタンを作ります 5,非連結で作成したコンボボックスのプロパティで   イベントタブの変更時に、作成したマクロを割り当てます と言う方法は? これは、and検索になりますが、or検索をしたいのならば、 非連結のコンボボックスに入った値を、パラメータクエリのパラメータへ「値の代入」とマクロを作る方法もありますよ。

dryman
質問者

お礼

回答ありがとうございます。 一つの項目のフィルタはかけれたのですが、2つ以上の項目のフィルタをかけることができません。 1つ目の項目のマクロ実行条件として、フォーカスを失った場合とし、2つ目の項目に移るとフィルタはかけられるのですが、2つ目から3つ目に移るときにはフィルタがかけられません。条件としては一つ目と同じように、2,の手順を参考にして作成しました。今一度ご教授よろしくおねがいします。

関連するQ&A