Access2003 クエリについて
現在2つの問題に直面しています。
どなたかご存知の方いらっしゃいましたらご教示お願い致します。
下記のようなデータベースがあります
テーブル名:テーブル
列名:類、目、名称
哺乳類 単孔目 カモノハシ
哺乳類 有袋目 カンガルー
哺乳類 有袋目 コアラ
哺乳類 貧歯目 アリクイ
哺乳類 貧歯目 アルマジロ
鳥類 ダチョウ目 エミュー
鳥類 ダチョウ目 ダチョウ
鳥類 ダチョウ目 ヒクイドリ
鳥類 ペリカン目 ペリカン
(実際には学名や生息地域等の列名がありますが割愛します)
まず1つ目の問題ですが、
これをフォーム上(フォーム名:一覧画面)で
コンボボックスから選択した物を表示させるようにフィルター機能を使い行っています。
現在コンボボックスで選択肢として(目を選択するコンボボックスの例)
"全て";"単孔目";"有袋目";"貧歯目";"ダチョウ目";"ペリカン"
のように値を指定しています。
数が少ないうちはいいですが、これからデータの追加があった場合にその都度ここに書き足していくのではそのうち漏れや間違いが発生しそうで困っています。(作業量も多くなりますし)
コンボボックスにクエリの値を参照するようにしてみたのですが、選択肢が
単孔目 有袋目 有袋目 貧歯目 貧歯目 ダチョウ目 ダチョウ目 ダチョウ目 ペリカン目
のようになってしまい、同じものがいくつも出てきてしまうのと
全て という選択肢がなくなってしまいます。
次に2つ目の問題ですが、
上記の一覧画面をフィルター機能で検索した画面をレポートに出力したいのですが、条件がうまくいかず困っています。
上記のフォームをロードする際に
Me.目コンボボックス = "▼選択してください"
のように記述しているのですが、
全て と ▼選択してください を選択したときは全てのレコードを
そうでない場合は該当レコードのみを出したいのですが
全て と ▼選択してください の場合がうまくいきません。
IIf([Forms]![一覧画面]![目コンボボックス] = "全て","*",[Forms]![一覧画面]![目コンボボックス]) And IIf([Forms]![一覧画面]![目コンボボックス] = "▼選択してください","*",[Forms]![一覧画面]![目コンボボックス])
のように記述しております。
どなたか上記の問題について解答宜しくお願いします。