過去の桐井戸端BBS (桐ver.8)
10025 主キーとは何ですか? カカロット 2001/03/03-12:56
主キーについて、お聞きしたいのですが。
今、2つの表をサブフォームを使ってリンクさせています。
(仮にA表、B表として、一つのフォームにA表をメインで、B表をサブフォームにして載せています。)
その中のB表が壊れたので、修理しましたら、A表が開かなくなりました。
開こうとすると、次のようなメッセージが出ます。
「関連する主キー表又は外部キー表が開けません。」
と出ます。
主キーと初めて聞いた私には主キーというものの設定がわかりません。
ので、どなたか、わかる方がいらっしゃいましたら,教えてください。よろしくお願いします。

10030 Re:定義で開けますか HERB 2001/03/04-10:09
記事番号10025へのコメント
カカロットさん、HERBです。

外していたらごめんなさい、表はご自身で作成されたものですか、他の方が作成された表をお使いの場合、
主キー、外部キーを設定していた可能性があります。

> 今,2つの表を、サブフォームを使って,リンクさせています。
> (仮にA表、B表として、一つのフォームにA表をメインで,B表
> をサブフォームにして,載せています。)その中のB表が壊れたの
> で,修理しましたら、A表が開かなくなりました。

B表は定義で開いて項目にキーのようなマークがついていますか確認してください、
主キー、外部キーについては、結合表・グラフのリファレンス48ページから詳しく載っています。
主キー、外部キーの設定がされていたら、解除することで開けるかもしれません。

> 「関連する主キー表又は外部キー表が開けません。」と出ます。
> 主キーと初めて聞いた私には主キーというものの設定がわかりませ
> ん。

フォームを開くとエラーメッセージがでるのですか、A・B表単独で開いてもエラーがでるのでしょうか?
開けないA表も、定義から開けるか試してみて、主キーが設定されていたら解除してみてください、
A・B表以外に設定されている可能性はありませんか。
表定義も開けないようだとかなり重傷かもしれません、そうだとしたら私でも解りません、
他の方のコメントお願いします、また、もう少し詳しい情報をお知らせいただけると対処方法があるかと思います。

10034 Re:主キーについて、 佐田 守弘 2001/03/04-13:54
記事番号10025へのコメント
カカロットさん
HERBさんも書かれている通り、この表は他の方(VAR業者さんなど)が作った表ではないかと思います。
主キーと参照整合性の設定を知らなければ、この設定はできないはずです。
後の説明を見て頂ければ分かると思いますが、この修復は作った人にたのんでください。

【状況】
>今,2つの表を、サブフォームを使って,リンクさせています。
>(仮にA表、B表として、一つのフォームにA表をメインで,,B表をサブフォー
>ムにして,載せています。)
>その中のB表が壊れたので,修理しましたら、A表が開かなくなりました。

と書かれていますが、ちょっと腑に落ちない部分があります。
A表をメイン、B表がサブなら、主キー表はA表で、A表が壊れたのでB表が開けなくなるはずと思います。
これは今は問わない事にして、書かれている言葉通り主キー表のB表が壊れてデータが失われたので、
これを参照しているA表が開かなくなったと仮定します。

まず状況説明ですが、B表に主キー設定がされていて、A表との間に参照整合性が設定されているはずです。
そして、その参照整合性は、主キー項目が削除された時、参照項目も削除する設定になっていると思います。
この設定のため、参照すべき主キー表Bの該当するレコードがなくなって、参照しているA表が開けなくなっていると考えます。

【対策】
手順は、まず主キー表をきちんと復活する事です。
失われたデータがあれば、これを入力し直して下さい。元来はこれで直るはずです。
それでも直らない場合、主キー表の主キーの設定を解除し、参照整合性を削除し、改めて設定し直して下さい。
なお、手順を間違えて、主キー表のレコードが完全に揃ってないままに、参照整合性の設定をやり直したりすると、
参照整合性を満たすために、参照できないレコードは自動削除される場合もあります。

いずれにしても、状況をきちんと把握できないと、対処しようがないと思います。

佐田守弘(KS-00119)



10069 Re:定義で開けますか カカロット 2001/03/07-11:42
記事番号10030へのコメント
HERBさんありがとうございました。もう一度やってみます。
10070 Re:主キーについて、 カカロット 2001/03/07-11:46
記事番号10034へのコメント
佐田 守弘先生 さすがです。これは、私が作った表ではありません。
そして,A表が壊れていました。もう一度、チェックして直してみます。
CD-ROMも買ったので,見て頑張ります。

戻る