• ベストアンサー

ACCESS2000 テーブルの更新方法

テーブルAがデータベース(商品番号、単価)が入力されています。 テーブルBが入庫されたデータ(オーダー番号、商品番号、個数)が入力されてます。 クエリで 入庫されオーダー番号を入力すると、テーブルBから入荷した商品番号、個数、テーブルAから単価が表示されるようになっています。 商品番号でリンクさせている状態です。 そこで単価に変更があった場合、この時点でテーブルAの単価を上書き訂正したいのですが、入力できませんでした。 何かよい方法はありますか?アクセスはじめたばかりでよくわかりませんが、よろしくお願いします。

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

  • ベストアンサー
  • mshr1962
  • ベストアンサー率39% (7417/18945)
回答No.1

テーブルB 1→∞ テーブルAの状態ですよね。 この場合クエリ上ではテーブルAのデータの単価は変更できません。 方法1.テーブルAを直に変更する。 方法2.テーブルA ∞→1 テーブルB の形にクエリを変更する。 注意:このような単価の変更は過去のデータも変更されてしまいますがいいのでしょうか? 単価の初期値として値を参照して、テーブルB上の単フィールドとして登録(変更可能)にした方がいいと思いますが...

a32
質問者

補足

ありがとうございます。過去のデータは消去してかまわないのですが・・・ その都度単価の変更になるもののあるので上書きをその都度したいな~と思っています。テーブルAの単価を最新の状態にしておきたいと思っておりましたが・・・ 難しいですよね

すると、全ての回答が全文表示されます。

その他の回答 (1)

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

>テーブルAがデータベース・テーブルBが入庫されたデータ という事はテーブルAが1でテーブルBが多ではないのでしょうか。 テーブルAが商品のマスタになっているのですよね。 テーブルAとテーブルBで1対多のリレーションですか。 もしくはクエリ上だけでの結合でしょうか。 上記のリレーションでテーブルBを元にクエリを作ってあってテーブルAを追加して単価のフィールドを追加して場合は単価の変更もできるはずですが。 出来ないとしう事はクエリ上での結合のリンクであって商品番号に主キーか重複なしのインデックスが設定されていない状態なのではないでしょうか。 テーブルAをデザインビューで開き商品番号のフィールドにを確認してみてください。

すると、全ての回答が全文表示されます。

関連するQ&A