• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:OpenOffice Baseにてデータを作成、現在2つの異なるテーブ)

OpenOffice Baseでテーブルのリレーションを設定する方法

このQ&Aのポイント
  • OpenOffice Baseで2つの異なるテーブル(A、B)を作成し、同じ定義のフィールド「a」を持つようにしました。しかし、リレーション(関連付け)を設定しようとするとエラーが発生します。
  • エラーメッセージによると、主テーブル「A」にはプライマリまたはユニーク制約が必要です。
  • この問題を解決するためには、テーブル「A」にプライマリまたはユニーク制約を追加する必要があります。そうすれば、リレーションを正しく設定することができます。

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

  • ベストアンサー
  • shinkami
  • ベストアンサー率43% (179/411)
回答No.1

共通項目 a はどちらかのテーブルでUnique(重複を許さない)に設定していなければなりません。 テーブル間にリレーション設定は 1:N の関係で関連付けを行います。 部門テーブル、社員テーブルを設計するときは 各テーブルには部門コード、社員コードとは別にキー項目として部門ID、社員IDを定義します。 そして社員テーブル内に部門IDを定義し部門IDでリレーション設定です。 勿論、部門テーブル内の部門ID,部門コード 社員テーブル内の社員IDおよび社員コードはユニークに定義します。 1見 IDとコード 無駄なようですが運用していくうちにコードを変更したい場合が起きます。 このときリレーションが設定してあるIDはそのままでコードだけを自由に変更できます。

hisashi65
質問者

お礼

クエリーの設定画面でリレーション設定を行えばうまくいきました。 アドバイスありがとうございます。

hisashi65
質問者

補足

早速のご回答ありがとうございます。ありがとうございます。概略は理解できましたが、実際にUnique(重複を許さない)に設定するには、テーブル→テーブルデザインにてフィールドの定義を行えば良いのかと思ったのですが、そのような入力制限を付加する項目が見当たりません。 実際の設定方法はどうすればよいのでしょうか?

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

関連するQ&A