プロが教える店舗&オフィスのセキュリティ対策術

どのくらい説明すればいいのかわからないのですが、アクセス2000でリレーションシップの設定をするときに、
「主テーブルで参照されているフィールド用の固有インデックスがありません。」
というエラーメッセージが出てきてリレーションを作る事が出来ません。
問題なのは3つのテーブルのリレーションなのですが、それぞれのインデックスをチェックすればいいのだとは思いますが、対象となったフィールドは主キーではないので、重複は許可していますが、一応どちらもインデックスは作成しています。

どのようなリレーションシップかというと、業者テーブルと商品テーブルと販売履歴テーブルのリレーションで、
商品テーブルの業者IDと業者テーブルのIDのリレーション→左内部結合(商品テーブルの全フィールドに入れる)
業者テーブルの業者IDと販売履歴の業者IDのリレーション→右内部結合
は出来るのですが、商品テーブルの商品名と値段フィールドと、販売履歴の対応する部分についてのリレーションについてもたせようとするとエラーが出てしまいます。このようなリレーションはいらないのでしょうか?
どちらも固有の値でない量のリレーションだからなのでしょうか?
この二つのフィールドの参照整合性をどう保てばいいのか教えて下さい。

A 回答 (1件)

お書きになったことを誤解しているかもしれませんが、


・商品テーブル
 商品ID
 価格
・販売履歴テーブル
 商品ID
 価格
があって、価格同士のリレーションが出来ない、ってことでしょうか?

もしそうなら、ダメです。出来ない。ってのが答えです。
商品テーブルの価格を、販売履歴テーブルの価格に転記する処理については、販売履歴の入力用フォームを作って、そこで処理をしてやる必要があります。
    • good
    • 0

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