• ベストアンサー

フォーム上での検索方法

Windows2000/ACCESS2000 を使ってます。 顧客台帳等を作ってるのですが、フォームのそれぞれのテキストボックスで検索出来るように設定したいのですが・・・・ 例えば、フォームの電話番号のテキストボックスに検索したい電話番号を入力して検索ボタンを押すとその番号の顧客データーが表示されるようにしたいのですが、どのように設定したら良いのか分かりません。 お手数かけますが、宜しくお願いします。

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

  • ベストアンサー
  • O_cyan
  • ベストアンサー率59% (745/1260)
回答No.2

DLookupを使うと基になるレコードソースにないフィールドの値をフォームやレポートに表示することができのですがこの場合当てはまらないとおもうのですが。 フォームを検索Fmとして入力するテキストボックスを登録日として・・・。 簡単なのはクエリを作成し[登録日]の抽出条件に Between DateAdd("d",0,[Forms]![検索Fm]![登録日]) And DateAdd("d",-1,(DateAdd("m",+1,[Forms]![検索Fm]![登録日])) と記述すれば登録日フィールドに2002/05と入力した場合にクエリを開けば2002/05/01から2002/05/31までの登録日のデータが表示されます。 検索ボタンに上記の抽出条件の入ったクエリを実行させるようにすれば2002/05の入力+検索ボタンのクリックで画面上に条件抽出されたクエリのデータが表示されます。テーブルのように見えるのでそれでOKではないでしょうか。 試してみてください。

renault
質問者

お礼

いつもアドバイス有難うございます。 ご返事が遅くなってすいませんでした。 あれから、いろいろ調べてみたところ、フォームフィルタを使った方が便利だと分かりました。 以前は、データーエキスプレスというデータベースを使ってたので同じようにアクセスでも作れないかと思ってましたが、同じようには出来ないことが分かりました。 まだまだ、分からない事があるので質問することがあると思いますが、宜しくお願いします。 アドバイス有難うございました。

その他の回答 (1)

  • O_cyan
  • ベストアンサー率59% (745/1260)
回答No.1

フォームのテキストボックスのイベントにダブルクリック時などのイベントプロシジャにそのテキストボックスに入力されたデータを抽出条件としたデータの抽出文を記述してそのデータの内容を各フィールドに代入する記述を作る。 そのプロシジャを各フィールド(テキストボックス)ごとに設定していけばどこのフィールドでも検索出来るようになります。

renault
質問者

補足

早速アドバイス有難うございました。 もし、登録日のテキストボックスに2002年5月と入力したら2002年5月の データーの一覧が出てくるようにするには、Dlookupを使えば良いのでしょうか? あと、1つの条件で複数のデーターの場合だと、テーブルで表示した方が何件あるかなど分かりやすいと思うので、抽出したデーターをテーブルで表示したいのですが、そのような事は出来るのでしょうか? お手数かけますが、宜しくお願いします。

関連するQ&A