いちばん失敗した人決定戦

アクセスで商品管理を行っています。
商品コードと数量を入力して各メーカーへの注文書を作成しますが、同じ日に同じ商品コードを選択すると2回目以降のデータが無視されてしまい困っています。
同じ商品であっても注文書に反映されるようにするにはどうしたらよいでしょうか?(複数行で表示されても、数量を合計して一行で表示されても構いません。)どなたか詳しい方助けてください。よろしくお願いします。

A 回答 (3件)

商品コードと日付(登録、販売等)を固有のキー(主キー)にしてませんか?


その場合は登録できませんので、エラーがでます。
>複数行でひょうじされても
主キーの設定を変更になります。
1.商品コード、日付、枝番を主キーにする。
2.日付に時刻値も含める。(2005/8/11 9:00と2005/8/11 10:00は別になります。)
3.別に管理用の主キーを作成して、現在のキーを固有にしない。

>数量を合計して一行で表示
前のレコードを検索して呼び出して、数量を上書き

どちらがいいのでしょうか?
    • good
    • 0
この回答へのお礼

ありがとうございます。
ご指摘の通り商品コードが主キーとなっていました。
主キーを外すことによってちゃんと2行で表示されるようになりました。 合計した方がかっこいいですがとりあえずこれで我慢します。 アドバイスありがとうございました。

お礼日時:2005/08/11 16:55

Accessはほとんどわからないし、どういったテーブル構成になっているかわからないですが、恐らく現状は商品コードのみがユニークキーになっているのではないですか?


対処法としてはユニークキーを無くす、もしくはユニークキーを増やすことで対処できると思います。
増やす場合は発注元や注文日時にでもしておけば良いかと思います。
つまり商品コード+発注元+注文日時が同じデータは重複を許さないという設定になります。
    • good
    • 0
この回答へのお礼

ご回答ありがとうございます。
ユニークキーとはNo.3の方の言われる主キーのことでしょうか?
主キーを解除したらちゃんと別々のデータとしてレポートでも反映されるようになりました。
どうもありがとうございました。

お礼日時:2005/08/12 16:44

テーブルの構造はどうなっていますか。


(1)商品マスター(商品コード、商品名、単価....)と
(2)注文書テーブル(注文書番号(連番)、商品コード、日付、数量....)
とがあると思うのですがリレーションシップはどのように設定されていますか?
それをフォームで入力行われていると思うのですが、無視されるとは
エラー表示も出ない設定ですか?
(テストで)注文書のテーブルかクエリーへ直接入力するとどうなりますか?
1行追加されるはずですよね。

そのあたりを詳しくお聞かせ下さい。

この回答への補足

早速のご回答ありがとうございます。
まず入力方法ですが、フォームで入力したものがテーブルに記載され(もちろんテーブルは2行になっています)そのテーブルを元に発注日に条件を指定してクエリーを作成して、そのクエリーよりレポートへ出力します。
繰り返しますが、入力内容はテーブル、クエリーにも2行で書き表されています。レポートの中だけで無視されてしまうのです。エラーメッセージも表示されません。
よろしくお願いします。

補足日時:2005/08/11 16:39
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!