• ベストアンサー

アクセスで注文ナンバを検索して、表示させたい。

こんにちは。 マイクロソフトアクセスで注文表を作っています。 フォームで、注文ナンバを入力すると、そのフォームにその注文情報が全て表示したいです。 (1)フォームにテキストボックスを作って、注文ナンバを入力→表示 (2)フォームにコンボボックスを作って、注文ナンバを入力→表示 検索は、情報を保存しているテーブルからしたいです。 どちらのやり方でも良いので、やり方をお願いします。 VBAは、ほとんどわからないので、アクセスで教えていただければ、幸いです。 どうぞよろしくお願い致します。

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

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

#2です。 クエリを元にフォームを作るには、ウィザードを使えば簡単です。 フォームのメニューから「ウィザードを使用してフォームを作成する」を使ってみてください。 後はデザインビューで配置などを適宜調整して体裁を整えればOKです。

hamptoninn
質問者

補足

こんにちは。 返信遅くなって申し訳ありませんでした。 (気づいたらメンテ中でした・・) 本当にありがとうございました。 簡単に出来てよかったです! 何をあんなに出来なかったのか不思議でたまりません。 これで一歩完成に近づけました!

その他の回答 (3)

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

他の方がクエリを使っての回答なのでコンボボックスを使用した場合を・・。 単票形式のフォームとして そのフォームをデザインビューで開きツールボックスの中からコンボボックスを選択しフォーム上でクリックしコンボボックスを作ります。(詳細の部分ではなくフォームヘッダに作った方が見栄えが良いと思います。) フォーム上でコンボボックスが作られるとウィザードが開きますので順に従って進めます。 ウィザードが開いたら「コンボボックスで選択した値に対応するレコードをフォームで検索する」をチェックし進め選択可能なフィールドで注文ナンバを選択し進めます。 コンボボックスの名前を付けて終わりです。 これで終わりです。 コンボボックスに注文ナンバを入力しても良いしコンボボックスから選択してもフォームにその情報が表示されます。 ウィザードを使えば簡単です。

hamptoninn
質問者

お礼

こんにちは。 すみません。できました! 朝はできなかったのに・・・。 今再度トライしてみたら、ちゃんとできあがりました。 本当にありがとうございました!

hamptoninn
質問者

補足

おはようございます。 回答ありがとうございました。 早速やってみましたが、注文ナンバを入力してエンタを押しても何も情報が出てきません(泣) マクロでなにかしなければいけないのでしょうか? 私の場合、注文フォームから注文を入力しまして、その情報が注文テーブルにストアされます。 それから受けとりフォームを開いて、注文ナンバを入れると、注文テーブルにストアされている情報を表示したいのです。 この場合、私が他にしなければいけないことってありますか? よろしくお願いいたします。

回答No.2

(1)の方法のほうが比較的楽なのでしょうが、基本的なことだけ少し。。。 抽出クエリの作りかたはご存じでしょうか? 1.元となるテーブルからウィザードでクエリを作成する。 2.作ったクエリをデザインビューで開く。 3.注文ナンバの欄の抽出条件に、例えば『[注文ナンバを入力]』と入れる。[]まで入力が必須です。『』は要りません。 4.クエリを保存して再度開いてみる。 後はこのクエリを元にフォームを作れば目標に近づくのではないでしょうか?他にも色々方法はあります。頑張ってください。

hamptoninn
質問者

補足

 おはようございます。 回答ありがとうございました。 1-4までは、できました♪ ただ、この後のフォームの作り方をもしよろしければ、お教え願いたいです。 どうすれば、クエリで抽出した分だけをフォームに表示することが出来るのでしょうか? それも、毎回違うんですよ?注文番号。 そんなことって出来るんですね。 今回の注文表を作り終えたら、再度勉強しようと思います。 話はそれてしまいましたが、よろしくお願いいたします。

  • Gin_F
  • ベストアンサー率63% (286/453)
回答No.1

> (1)フォームにテキストボックスを作って、注文ナンバを入力→表示 > (2)フォームにコンボボックスを作って、注文ナンバを入力→表示 入力するフォームと、表示するフォームは同じフォーム内ですか? であれば、まず、クエリを作成します。 注文ナンバの抽出条件欄に、 Forms!フォーム名!コントロール名 のように入れておき、そのクエリをフォームのレコードソースに 指定してください。 あとは、条件を入力するコントロールの更新後イベントで、再クエリを かけてやればいいです。 (これは、マクロ Or VBAが必要です)

hamptoninn
質問者

補足

早速の返信ありがとうございました。 返信遅くなって申し訳ありません。 入力するフォームと表示するフォームは同じものです。 よくわからない箇所があったのですが。 >Forms!フォーム名!コントロール名 この場合のコントロール名とはなんでしょうか・・。 初心者で申し訳ありません。 Forms!Receiver Foam!このあとは、find recordとかにすればいいのでしょうか? (マクロの名前?) すいません、よくわかっていなくて。 その後のマクロを使用する場合の、アクションは何がいいのでしょうか? 他のサイトを見ると、コントロールの移動とレコードの検索と2つマクロを作っています。 私もそのサイトのとおりすると、エラーが出てしまいます。 質問ばかりで申し訳ありません。 よろしくお願いいたします。

関連するQ&A

  • アクセスでのリスト表示について。

    アクセス初心者です。フォームのコンボボックスにテキストボックスをつけて、コンボボックスには担当者コードテキストボックスには=cmb_担当者.column(1)等と書いて、担当者名をcolumnで表示するのは可能ですよね。リストボックスの中で一覧表を作成したのですが、今は数値ばかりが見えていて、訳が分かりません。テーブルへのデータはほとんど数値で入っていくようにしています。columnが使えたら、テキストでも表示されるので見やすくなると思うのですが、クエリでのcolumnの作成は可能なのでしょうか?

  • Access テキストボックスとコンボボックス

    Access初心者で、勉強がてらデータ登録フォームを作成しています。 フォーム上にコンボボックスを設置し、 テーブルに保存されているデータを検索できるようにしたのち、 テキストボックスのコントロールソースには簡単に 「=[コンボボックス].[column](2)」としています。(それぞれの名前は仮称です) 後から、テキストボックスひとつで 「コンボボックスからの検索結果を表示させる」と 「テキスト入力も可能とする」 を共存させたいと思い始めたのですが、可能になりますでしょうか。 ただし「コンボボックスからの検索結果表示」をしたテキストボックスに対し、 その情報をフォーム上で書き換えたとしても、テーブル側のデータ書き換えは行いたくありません。 よろしくお願いいたします。

  • アクセスのVBAなんですけど

    アクセスのVBAでフォームからフォームへ値を渡すことはできますか?具体的にいうとあるフォームでコンボボックスから選択し、OKボタンで次のフォームを開くのですが、初めのコンボボックス(ちなみに5つ選択項目があります)で選んだ条件でフォームの表示内容を変更させようと思っています。 今のところ、選択した項目を一時的にテーブルに保存して、新しいフォームが開くときにテーブルから値を取得してやるのか・・・・と考えているのですが、まどろっこしいので・・・・・よろしくお願いします。

  • アクセスである文字を含む検索

    ACCESS2000を使っています。 あるデータテーブル「発注書テーブル」があって、ここでは「(1)ID」「(2)顧客名(法人)」「(3)発注商品」「(4)納品済チェック」の4つフィールドがあるとします。 作業はフォームで行います。フォーム名は「発注書フォーム」。 「(2)顧客名」から検索をかけたくて、検索コマンドボタンをつくり、「検索フォーム」を発注書フォームとまったく同じ形態でつくり、そこにとべるようにしました。 「検索フォーム」には「検索」というテキストボックスを作ります。 「検索クエリ」というクエリを作り、発注書テーブルを素とし、すべてをデザインビューで表示するようにしました。 そして、「(2)顧客名」の抽出条件に[Forms]![検索フォーム]![検索]を入力します。 すると、「検索フォーム」の「検索」をコンボボックスにして、顧客名をすべて表示させ選択した場合は、「検索フォーム」では、選択した顧客の情報が表示されるようになりました。 が、しかし、「検索」をコンボボックスではなく、テキストボックスで、しかも顧客名の一部だけを入力したら、その文字を含むすべてのレコードを表示してほしいのです。 そこで、「検索クエリ」の「(2)顧客名」抽出条件にlike"*[Forms]![検索フォーム]![検索]*"と入力してみました。 そして「検索フォーム」の「検索」テキストボックス(非連結)に顧客名の一部を入力したところ、ぜんぜん絞りこみ抽出してくれません。 もちろん、クエリ上でも絞り込んでいない模様です。 どうしたら文字の一部からその文字を含む顧客名のレコードを全て抽出し、表示させることができるでしょうか? 細かくてすみませんが、かなり困ってます。 どうかわかる方、教えてください。 まったくちがう方法(別の手法)でもかまいません。 この説明でわからない部分がありましたら補足しますのできいてください。 よろしくお願いします。

  • Access コンボボックスの2列目が表示されない

    Accessでフォームを作っています。テキストボックス「列車名」に文字列を入力するとコンボボックス「列車コード」のデータが絞り込まれるようにVBAコードを書いていますが、「列車名」を空欄にすると「列車コード」の2列目が表示されません。表示されるようにするにはどうすれば良いですか。

  • 困ってます!Accessフォームのコンボボックス

    初心者です。とーっても困っています・・・。 顧客データを登録しているのですが、テーブルを元に登録フォームを作成しました。 商品がたくさんあって、4つのコードに分かれています。フォームの中に[A][B][C][D]と4つのコンボボックスを作成し、絞込み検索ができるようにはしました。 が、しかし、選んだデータがテーブルに表示されません。例えば[A]のコンボボックスの中から[1010]を選択、テーブルを見ると、他のテキストボックスに入力した情報は保存されているけど、コンボで選んだデータは空白です。 誰か助けてください!!よろしくお願いします。

  • Access コントロールの種類の変更について

    いつもお世話になっております。 Accessのフォームに関して教えて下さい。 クエリを元にフォームを作って単表形式で表示させています。 新規データをフォームで入力して登録しようと思いました。フォーム上のテキストボックスをコンボボックスに変更して、入力をより簡略化しようとしました。 コンボボックスに変更することはできたのですが、データシートビューにしてコンボボックスの▼をクリックしても登録してあるデータ(○○マスタとしてリレーションシップを組んであるものです)が表示されません。 そのコンボボックスのプロパティのどこかを変更しなければいけないのでしょうか?また、根本的に考え方が間違っているのでしょうか? ぜひ教えて下さい。よろしくお願いします。

  • アクセスVBA テキストボックス入力値からの参照

    マイクロソフトアクセス初心者です。 現在、アクセスでデータベースを作成しています。 2つのフォーム(フォーム(1)、フォーム(2))、2つのテーブル(入力情報、マスタ)、2つのテーブルをもとにした1つのレポートを作成しています。 『フォーム(1)』のテキストボックスAに入力された値を、Dlookup関数で『フォーム(2)』のテキストボックスBに数値を参照しています。 『フォーム(2)』のテキストボックスに表示された値を、『フォーム(2)』に設置されたコマンドボタンをクリックすると、VBAで『テーブル入力情報』のフィールドAに入力されるようにしています。フィールドAについてのマスタとなるテーブルが『テーブルマスタ』です。 リレーションシップを設定せず、ただ単に値を入力することは出来るのですが、レポートを作成するにあたって、『テーブル入力情報』と『テーブルマスタ』のフィールドAに1(テーブルマスタ)対多(テーブル入力情報)のリレーションシップを設定したいと思っています。 リレーションシップを設定し、テキストボックスBに表示された数値を『テーブル入力情報』に入力する際、『テーブルマスタ』から該当するデータを選択して『テーブル入力情報』に入力されるようにしたいと思うのですが、現状では、リレーションシップを設定すると、入力値が真っ白になってしまい、レポートにも入力したデータが反映されません。 ちなみに、入力する際はフィールドA=Me.テキストボックスBのようにしています。 何か良い解決策がありましたら、是非教えていただけませんでしょうか? 分かり難い文章かと思いますが、どうぞ宜しくお願い申し上げます。

  • アクセスでコンボボックスに表示されるリストの順番が狂ってしまう!

    アクセスでコンボボックスに表示されるリストの順番が狂ってしまう! アクセスのフォームでコンボボックスを使用しています。コンボボックスで表示されるデータは他のテーブルの値を表示させているんですが、その値が勝手に昇順?に並べ替えられてしまい困っています。テーブル作成時に入力した順番か、もしくは任意に表示させる方法はないでしょうか? ちなみにアクセス2000です。どうぞよろしくお願いいたします。

  • accessで未入力の場合にメッセージボックスを表示したい

    アクセスのフォーム(テキストボックス)が、未入力の場合メッセージボックスを表示したいです。 【追加条件】 1.テーブルで”入力規則”、”エラーメッセージ”は使わない。 2.vbaは使わない。 3.マクロの”条件”のみで処理する。 ---------------------------------------------------- vbaを使っての方法はあるみたいですが、マクロだけで入力判定をして、未入力の場合にメッセージボックスを表示する方法はないでしょうか?

専門家に質問してみよう