質問: フォームで検索画面を作成しましたがうまくいきません。 社員マスタ(社員no,社員氏名、生年月日、・・・)を元に、 社員の情報を検索できるフォームを作成したいと思い、本を片手に以下のように作成してみました。 (1)社員マスタを元に選択クエリ(q_社員検索)を作成。 社員番号の抽出条件 [forms]![q社員検索]![社員番号検索] または(抽出条件は二段に分けてます) 社員氏名の抽出条件 like [forms]![q社員検索]![社員氏名検索] & "" & "*" フォーム(f_社員検索)には、社員番号検索と社員氏名検索のテキストボックスを配置し、コマンドボタン(検索ボタン)をテキストボックスの横に配置。 マクロ(m_社員検索)はアクションがフィルタの実行、フィルタはq社員検索としています。 コマンドボタンのクリック時イベントにこのm_社員検索を指定。 f_社員検索からは、「社員番号」または「氏名」から社員の情報を表示させたいと思っています。 が、、実際に作成してみると下記のような不備が発生しています。 (1)社員氏名を社員氏名検索のテキストボックスに入力して、検索ボタンを押す→正しく結果が表示される。 (2)社員番号を社員番号検索のテキストボックスに入力して、検索ボタンを押す→結果が正しく表示されない (3)(1)の後に、続けて(2)を実行した場合、フォームには、2レコード表示されてくる。 になってしまいます。 原因がよく分からず、四苦八苦しています。 当方アクセス初心者レベルですので、簡単な解決があれば教えていただきたく思います。
回答: 入力された条件だけを活かして(入力されなかった方は無視して) orで抽出を行いたいのでしょうか その場合には入力されなかった方では何も抽出されないようにしないといけません >like [forms]![q社員検索]![社員氏名検索] & "" & "*" は入力されないときには like "*" となり全てが抽出されてしまいます ですから2つめの条件は like [forms]![q社員検索]![社員氏名検索] & "*" and [forms]![q社員検索]![社員氏名検索] is not null のように書きます