製品と原材料の管理方法についての質問

このQ&Aのポイント
  • 料理のレシピみたいな物を、製品名と原材料名にコード番号をつけて管理し、ある材料を使用している製品を検索できるようにしたいと考えています。
  • 製品テーブルと原材料テーブルを作って、メインのフォームで製品名とコード番号、サブフォームにはその製品の原材料とコード番号が表示され、コード番号を入れると原材料名が自動入力されるようにはなりました。
  • 製品テーブルを参照すると、メインフォームに表示されている物が自動的に入力されてしまいます。こちらのサブフォームの中でもコード番号を入れるとそれに対応した製品名が入るようにしたいのですが、どうしたら良いのでしょうか?
回答を見る
  • ベストアンサー

アクセスで…、クエリの作り方のなのでしょうか?

こんにちは、お世話になります。 料理のレシピみたいな物を、製品名と原材料名にコード番号をつけて管理し、ある材料を使用している製品を検索できるようにしたいと考えています。 そこで製品テーブルと原材料テーブルを作って、メインのフォームで製品名とコード番号、サブフォームにはその製品の原材料とコード番号が表示され、コード番号を入れると 原材料名が自動入力されるようにはなりました。 ところが、ほとんどの製品が違う製品を材料としているため、原材料テーブルだけでは対応できません。 新たに、使用している製品のみを別に表示するサブフォームを作ってはみましたが、製品テーブルを参照すると、メインフォームに表示されている物が自動的に入力されてしまいます。 こちらのサブフォームの中でもコード番号を入れるとそれに対応した製品名が入るようにしたいのですが、どうしたら良いのでしょうか? よろしくお願いします。

  • mmmma
  • お礼率68% (33/48)

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

  • ベストアンサー
  • dober-o
  • ベストアンサー率59% (260/439)
回答No.1

文章だけで理解できない面もあるのですが 要はひとつの製品が料理にも原材料にもなり得るということでしょうか 仮にそうであれば 製品コード→原材料コードと 製品コード→製品コード→原材料コードとが混在しますね 私がコード管理するときはこの例でいけば 原材料テーブルに内部製品コードフィールドを設け製品にも原材料コードを持たせます 例えば 原材料TBL CODE=123 NAME=卵 NAIBU=(なし)     原材料TBL CODE=456 NAME=レタス NAIBU=(なし)     原材料TBL CODE=789 NAME=玉子焼き NAIBU=321      製品TBL CODE=321 NAME=玉子焼き      製品TBL CODE=654 NAME=ハンバーガー とするとクエリにて玉子焼きのレシピ(原材料コード=123)と ハンバーガーのレシピ(原材料コード=456、789)ができます こうすると卵から玉子焼きに連結できますし、卵焼きを通してハンバーガーにもいけます 理論的には何階層になっても対応可能ということになります ご期待にそえるかわかりませんが参考までに

mmmma
質問者

補足

ありがとうございます。 やりたいことはおっしゃるとおりです。なかなか文章であらわすのは難しくて… とりあえず教えていただいた方法で出来ました。 ですが、この方法では新たに製品を登録する時に、製品テーブルと原材料テーブルに入力しないといけませんよね。一度に入力できる方法はありますでしょうか?

その他の回答 (1)

  • dober-o
  • ベストアンサー率59% (260/439)
回答No.2

補足に関して 製品テーブルと原材料テーブルをそれぞれ別々のフォームから入れているとすれば それらを統合して1つのフォームから二つのテーブルに入れるようにしたらどうでしょう 重複項目(例えば名前とか)はそれぞれのテーブルに入れれば入力は一回ですみます すなわち製品を作った段階で、必ずその製品が原材料になり得るものとして設計すれば比較的容易にまとめられると思います

mmmma
質問者

お礼

ありがとうございます。 御礼が遅くなって申し訳ありません。 やってはいるのですが、なかなかうまくいかなくて…もう少し研究してみます。 また、何かあればよろしくお願いします。

関連するQ&A

  • Access 再クエリについて

    メインフォーム(単票)に合計を表示したサブフォームと、その合計の元になり入力可能なサブフォームを作成しました。 この入力可能なサブフォームにデータを入力した場合、合計のサブフォームの表示を更新したいのですが、 入力可能なサブフォームに更新後処理で再クエリを指定したのですが、名前が正しくないとエラーが表示されます。 サブフォームに再クエリの指定はどのようにするのでしょうか? 名前:(入力可能なフォーム) ■F調査データ(売上構成)のサブフォーム 名前:合計サブフォーム ■売上構成比 店舗別合計のサブフォーム 更新したいフィールド名 売上構成の合計

  • Access アクセスについて

    Accessでデータベースを作っています。 テーブル、クエリは下記のようになっており、リレーションシップで紐付けしてあります。 クエリからフォームを作成し、商品番号を入力することでマスタテーブルに登録されていれば自動で商品名等の情報が表示されるようになっています。(フォーム1) 商品番号を入力しカーソルが移動した時、マスタテーブルに該当する項目がなかった場合、マスタテーブルから作成した新規追加用のフォームが表示されるようになっています。(サブフォームではありません) 新規追加用フォームに商品名を入力し、閉じてもフォーム1の商品名の欄に反映されません。新規追加用フォームを閉じる時にVBAで”Requery”,”Refresh”もやってみましたがダメでした。商品番号を入力し直すと表示されます。 どうすれば自動で商品名が表示されるようになるか教えてください。 テーブル1(入力用) 1.ID(主キー) 2.商品番号 3.etc. テーブル2(マスタテーブル) 1.商品番号(主キー) 2.商品名 3.etc. クエリ 1.ID(テーブル1) 2.商品番号(テーブル1) 3.商品名(テーブル2) 4.etc.(テーブル2) 5.etc.(テーブル1)

  • Access2016 サブフォームへのデータ取込み

    メインフォームに入力したコードによって、マスターに登録してある複数のレコードデータをサブフォームに取り込みたいのですが。 例: メインフォームに献立コード(例えばカレーのコード)を入力すると、献立マスター(献立によって材料と使用量が登録してある)の材料(じゃがいも、人参、玉ねぎ、牛肉、ルー)と使用量がサブフォーム(今回5件のデータ)に入力されるような処理を行いたいのですが、ご教授願えませんでしょうか。もしVBAが必要ならばそれでもお願いしたいと思います。 メインとサブフォームのリンク親子フィールドは年月日にしています。 お手数おかけいたしますがよろしくお願いいたします。

  • マイクロソフト ACCESSのサブフォームについて教えてください。

    入力用のフォームを使用して、テーブルにレコードを入力し、その際にサブフォームを使用し入力履歴の一覧を参考表示させています。 フォームとサブフォームは、商品コードで関連付けていますが、フォームに商品コードを入力しただけでは サブフォームに履歴が表示されず、次のレコードに移り、再び、元のレコードに戻った場合のみ履歴が表示されます。 この場合、商品コードを入力したら、直ちにサブフォームに履歴を表示させる方法は何かありませんでしょうか。 どうぞご存知の方お助けください。

  • Access初心者です。(Access2003)

    書籍の在庫管理のフォーム作成で、、 メインフォームとサブフォームにわけました。 しかし、サブフォームで 1つの商品を入力し、2番目の商品を入力すると、 先の1つめの商品入力の履歴が、2番目と同じになってしまいます。 (数量だけは1番目の入力通り残ってくれてます) <サブフォーム> ------------------------------ 申請書番号、商品コード、版、商品名、数量 ------------------------------ 1行目 0001 060 3-5 ACCESS入門書 5 2行目 0001 061 5-6 ACCESS応用書 3 ------------------------------- となるはずが、2行目を入力すると ------------------------------ 1行目 0001 061 5-6 ACCESS応用書 5 2行目 0001 061 5-6 ACCESS応用書 3 ------------------------------- となってしまいます。 商品名の箇所は、 商品コードと版を入れると自動で商品名が反映されるように、 コントロールソースに 「=DLookUp("商品名","T_商品","商品コード='" & [コード] & "'" & "And 版='" & [版] & "'")」、 としました。 構造情報は以下の通りです。 メインフォームの元は、 <テーブル:T_入出庫> ・申請書番号 ☆「T_入出庫明細」と結合 ・提出日 ・担当者 ・備考 など サブフォームの元は、 <クエリ:Q_入出庫明細_サブフォーム> ・申請書番号(T_入出庫明細) ・商品ID(T_入出庫明細) ・商品コード(T_商品) ・版(T_商品) ・商品名(T_商品) ・数量(T_入出庫明細) Q_入出庫明細_サブフォームの元は、 <テーブル:T_入出庫明細> ・申請書番号 ・商品ID ☆「T_商品」と結合 ・数量 <テーブル:T_商品> ・商品ID ・商品コード ・商品名 ・版 ・仕入原価 ・備考 など です。 宜しくお願致します。

  • Access2000フォーム/サブフォームにつおて

    Access2000でフォーム/サブフォーム(売上伝票)を作っています。 フォーム(売上伝票メイン)には伝票番号、売上先などを入力・・・ サブフォーム(売上伝票サブ)は商品、数量、金額などを入力します。 そこで質問ですが、サブフォームの商品は商品コード(コンボボックス)を入力すると該当する商品名、単価などを商品台帳から引いてくる、としたいと思い、商品コードの「更新処理後」に以下のコードを記述しました。   Me![商品名] = DLookup("[商品名]", "[商品台帳]","[商品コード]= Forms![売上伝票メイン]![売上伝票サブ]![商品コード]")     サブフォーム上の商品名に商品台帳の商品名を入力するとしたつもりなのですが、何も表示されません。  単価も単位も同様です。  この方法ではだめなのでしょうか?  

  • アクセスでデーター抽出方法を教えて

    アクセスで、クエリー&サブフォームを使わず、テーブルのデータをフォーム上で抽出したいです。教えて下さい。(例)テーブル1:商品名A 商品番号2・・・・・、フォーム上で商品番号2と入力したら商品名Aだけを表示したい。

  • Access アクセス VBA レコード追加

    Access フォームからのレコードの追加方法を教えてください。 テーブル1 ・ID(主キー) ・窓口 ・コストセンター ---------- テーブル2 ・コストセンター(主キー) ・目的 ---------- リレーションシップ テーブル1のコストセンターとテーブル2のコストセンターを一対多 ---------- メインのフォームに”ID”を入力したときにテーブル1に一致するレコードがない場合、新規登録用のフォームが表示されるようになっています。 新規登録用のフォームにレコードを入力してもテーブルに反映されません。 新規登録用のフォームは下記のように作成しています。 また、フォームに”コストセンター”を入力したときに入力したレコードがテーブル2にあっても自動で”目的”が表示されません。 メインフォームにはサブフォームで各テーブルが表示されています。 フォーム ・ID(初期値•••メインで入力したID) ・窓口 ・コストセンター ・目的 ・コストセンター(非表示) 上から順に ・テーブル1 ・テーブル1 ・テーブル2 ・テーブル2 ・テーブル1

  • accessの操作ついて

    初めて質問します。access2000を使用しています。メインテーブルを一つとサブテーブルを一つそれに関連する(親子関係)テーブルを4から5個をリレーション(一対多)しクエリを経由しフォームにて入力したいのですがうまくいきません。 希望作業手順としては、メインフォームを入力しボタンなどでサブフォームに移りサブフォームを入力 次にサブフォームにあるボタンなどで4から5個の関連フォームに移り入力とゆう具合に作業を行いたい 単純な方法が良いのですが その他色々な方法があれば今後の勉強の為にぜひ教えて頂ければ幸いです。宜しくお願い致します。

  • Accessクエリの作り方

    OS:Windows2000 Access Version:Access2002 大変基本的なことで申し訳ないのですが、どなたか教えてください。 以下のようなテーブルがあります。 ●問合せテーブル 受付NO 受付日 受付時間 社名 担当者名 ・ ・ 機器コード1 機器コード2 問題コード1 問題コード2 対応状況コード ●機器テーブル 機器コード 機器コード名 ●問題テーブル 問題コード 問題コード名 ●対応状況テーブル 対応状況コード 対応状況名 これらのテーブルを使って、単純にクエリで ●問合せクエリ 受付NO 受付日 受付時間 社名 担当者名 ・ ・ 機器名1 機器名2 問題名1 問題名2 対応状況コード としたいのです。 対応状況は、問合せテーブル内でもひとつなので、簡単にクエリで表示できるのですが、機器1・2、及び問題1・2はふたつあり、どのようにすれば名称がそれぞれ表示できるのかが分かりません。 テーブルのリレーションシップで、 対応状況テーブルと問合せテーブル はリレーションが張れました。 機器テーブルと問合せテーブルにリレーションを張ろうと思い、テーブルを追加して、2つ機器テーブルを表示させ、リレーションを張ってみましたが、それをクエリで編集しようとするとデータが参照できないのか、エラーもなく、クエリが開くだけになってしまいます。問題テーブルも同様です。 本当に初心者のお話で申し訳ないのですが、どなたか教えてください。 よろしくお願いします。

専門家に質問してみよう