• ベストアンサー

アクセスでの複数のテーブルでのオートナンバーについて

こんにちはアクセス2000で在庫管理をしています。 超初心者です 商品テーブルで 商品コードをオートナンバーにしていますが 仕入先でテーブルを分けることになり 商品マスタA、商品マスタBとわけたのですが 主キーである商品コードを AB重複しないようにすることは可能ですか? またやり方はどうすればいいのでしょうか? リレーションシップなどの設定かなと思い いじくってみましたが、どうもうまくいかず悩んでいます。 よろしくお願いいたします

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

  • ベストアンサー
  • lul
  • ベストアンサー率41% (10/24)
回答No.3

#1です 仕方なく2つにするわけですね。 そういうことであれば、新たに商品コードをオートナンバーで付けるだけのテーブルを一つ作ればどうでしょうか?←ホントのマスタテーブル 項目としては最低限以下の情報があればよいと思います。 1.商品コード…オートナンバー 2.商品名 3.仕入先もしくは参照テーブル(商品マスタA、商品マスタB) これをリレーションシップで設定しておき、まずここに登録する。 で、その後にそれぞれの商品マスタテーブルに登録する形で。 手間が一つ増えますが…。 それ以外だとVBAを使って使用していない数値を検索するとかかな…。 それ位しか思いつかないです(^^;) でも出来るなら1つのマスタで管理するのが望ましいですね

kuragemama
質問者

お礼

ありがとうございます その方法も考えたのですが やはり手間がかかるので もう一度テーブルを一つにして出来るかどうか 組みなおしてみたいと思います 丁寧なご回答ありがとうございました

その他の回答 (3)

  • CHRONOS_0
  • ベストアンサー率54% (457/838)
回答No.4

>クエリをレコードソースにすると >一覧表示が出来なかったので クエリでも一覧表示できますよ もし出来なかったとしたらそのクエリに問題がありそうですね さらにその原因は元になるテーブルにあるのではないですか いちど全てのテーブルの情報を公開してみては?

kuragemama
質問者

お礼

こんにちは 確かに クエリに問題があるようなのですが それを使わずに設定ができているので 現状で、皆様がおっしゃるとおり 再度テーブルを一つにして 一考してみたいと思います。 また行き詰ったときはよろしくおねがいいたします ありがとうございました!!

  • CHRONOS_0
  • ベストアンサー率54% (457/838)
回答No.2

情報が不足していますが マスタを仕入れ先ごとに分けるなどということをしてはいけません 商品ごとに仕入れ先が異なるのであれば 商品マスタに仕入れ先フィールドを設けるだけでいいです 両方の仕入れ先から仕入れる商品もあるのなら 仕入れ先テーブルを別に作成します 「商品別仕入れ先」(仕入れ先 商品コード)

kuragemama
質問者

お礼

ありがとうございます 下記にも記載しましたが 本来一つのテーブルだったので 一つのままで管理したいのですが 発注書で、仕入先毎に記載や計算方法がかなり違うため、 サブフォーム「発注明細」での扱い方が難しく、 苦肉の策で大きく2分類しました。 現在はメインフォームで仕入先を選択したら、 サブフォームが切り替わる設定になっています。 サブフォームが帳票形式なのですが クエリをレコードソースにすると 一覧表示が出来なかったので こういう形になっています。もう一度再考してみます アドバイスありがとうございました!

  • lul
  • ベストアンサー率41% (10/24)
回答No.1

商品マスタテーブルに仕入先の項目を一つ追加するだけでいいんじゃないですか? 上記項目を追加して、仕入先毎のクエリを作成しておけば問題ないかと思います。

kuragemama
質問者

お礼

ありがとうございます テーブルは一つにしたいのですが (最初は仕入れコードを割り当て一つにしていた) 発注書で、仕入先毎に記載や計算方法がかなり違うため、 サブフォーム「発注明細」での扱い方が難しく、 苦肉の策で大きく2分類しました。 現在はメインフォームで仕入先を選択したら、 サブフォームが切り替わる設定になっています。 サブフォームが帳票形式なのですが クエリをレコードソースにすると 一覧表示が出来なかったので こういう形になっています。 アドバイスありがとうございました!

関連するQ&A