• ベストアンサー

アクセスで検索ボタンを作りたいです。

アクセスを勉強中の初心者です。 商品の在庫管理をしているのですが、フォームのヘッダーにコマンドボックスを作り、そこに商品コードを入れて検索ボタンを押すと、下に商品の情報が表示されるように作りたいのですがわかりませんので、教えてください。  

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

  • ベストアンサー
回答No.3

一番簡単な方法です。 FORMに適当なTEXT BOXみたいなものを作って名前を 仮に「商品コード」とします。 そのソースをテーブルの「商品コード」に設定します。テーブル名が「商品」としたら検索ボタンを作成してクリック時のイベント・プロシージャに以下の様に記述します。  Me.RecordSource = "商品" DoCmd.GotoControl "商品コード" DoCmd.RunCommand acCmdFind

その他の回答 (2)

  • pikakoma
  • ベストアンサー率40% (195/477)
回答No.2

No.1です。補足をありがとうございます。 コンボボックスを使う方法だと、フォームの形状は一覧表形式でも、単票形式でも同様にできるので簡単なんですが、商品コードの種類が多い時はリストから探すよりも入力した方がわかりやすいかもしれません。(ちなみにコンボボックスには入力もできますが。) >お手数ですが、よければ教えていただけないでしょうか? これはコンボボックスを使わない方法をということでしょうか。フォームのヘッダー部分にテキストボックスを作成して商品コードを入力して、検索用のコマンドボタンをクリックしたら、該当の商品のデータが表示されるということでいいですか。 私はモジュールは嫌いなので(というかスキルがないので)出来る限りは、マクロで済ませてしまいます。モジュールを試してみたいということでしたら、他の方の回答をお待ち下さい。 コマンドボタンとマクロの組み合わせだと、以下のような感じになると思います。 1.元データ(テーブル/クエリ)から、フォームに表示したいフィールドを選択したクエリを作成しておきます。 2.1で作成したクエリを元に、単票形式のフォームを作成します。 3.2のフォームのヘッダー部分にテキストボックスと、コマンドボタンを配置します。 4.1のクエリを変更して、商品コードの抽出条件のところに、3で作成したフォームのテキストボックスを指定します。([Forms]![フォーム名]![テキストボックス名]) 5.再クエリするというマクロを作成します。 6.5のマクロを3で作成した、コマンドボタンに割り付けます。 以上です。 フォームを開くと、初めはテキストボックスがカラなので該当するデータがなく何も表示されませんが、商品コードを入力してコマンドボタンを押すと、クエリが再実行されて、フォームの内容が更新されるという仕組みになります。

  • pikakoma
  • ベストアンサー率40% (195/477)
回答No.1

Accessのバージョンがわかりませんが、2000以降として回答させていただきますね。 一番簡単なのは、コンボボックスの検索機能を使う方法です。 フォームをデザインビューで表示して、ツールボックスの[コンボボックス]ボタンをクリックして、ヘッダー部分にコンボボックスを作成します。 この時ツールボックスの[コントロールウィザード]ボタンが押し込まれた状態になっていることを確認してから、[コンボボックス]ボタンを使ってください。 コンボボックスを作成すると、ウィザードが起動してますので、初めの画面で選択肢の3つ目「コンボボックスで選択した値に対応するレコードをフォームで検索する」をオンにして、後はウィザードに従うだけです。 コマンドボタンを作成する方法ですと、検索用のクエリを作成してそれをコマンドボタンに割り付けるとか、マクロやモジュールを書くということになり、初心者の方だとちょっと敷居が高いかなと思います。 この方法なら簡単です。

flow
質問者

補足

回答ありがとうございます。 やはり、コンボボックスを使ったほうが楽ですよね(-_-;) いちを本を見ながらですが、フォームに一覧を表示させて状態で検索ボタンを押して検索をする事はできたのですが、一覧を表示させずにできたらと思いました。 お手数ですが、よければ教えていただけないでしょうか?

関連するQ&A