• ベストアンサー

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

こんにちは。 マイクロソフトアクセスで注文表を作っています。 フォームで、注文ナンバを入力すると、そのフォームにその注文情報が全て表示したいです。 (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つマクロを作っています。 私もそのサイトのとおりすると、エラーが出てしまいます。 質問ばかりで申し訳ありません。 よろしくお願いいたします。