※ ChatGPTを利用し、要約された質問です(原文:Access初心者です。(Access2003))
Access初心者の書籍在庫管理のフォーム作成での問題
このQ&Aのポイント
Access初心者の質問者は、在庫管理のフォーム作成で問題が発生しています。メインフォームとサブフォームを使用していますが、サブフォームで商品の入力履歴が正しく表示されない問題が発生しています。
サブフォームで1つの商品を入力すると、次の商品の入力時に前の商品の入力履歴がコピーされてしまいます。ただし、数量だけは正しく残っています。この問題の解決策を求めています。
商品名は商品コードと版を入力すると自動的に反映されるように設定しています。しかし、入力履歴が正しく表示されないため、商品名の反映に問題がある可能性があります。
書籍の在庫管理のフォーム作成で、、
メインフォームとサブフォームにわけました。
しかし、サブフォームで
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
・商品コード
・商品名
・版
・仕入原価
・備考 など
です。
宜しくお願致します。
お礼
当初は、商品IDで検索し、入力しようと思い商品IDを作っていたのですが、 途中で、商品コードと版で検索して入力していくことにしたので、 商品IDが宙ぶらりんになっていました...。 明細の主キーは、007MUKADEさんのおっしゃる、商品明細IDにオートナンバーでつけてみました。 サブフォームに、商品コードと版のフィールドを設けてみたところ、 上手くいきました。 アドバイスをいただきまして、 本当にありがとうございます。