ユーザーに表示される値がIDではなく、外部テーブルの説明フィールドであるコンボボックス/ドロップダウンを使用して、1つのテーブルに外部キーフィールドを入力したいと思います。
次の設定を検討してください。
create table people (
id int identity primary key,
name varchar(250),
job_id int
);
create table jobs (
id int identity primary key,
description varchar(250)
);
insert into jobs(description) values 'foo';
insert into jobs(description) values 'bar';
関係ウィンドウで外部キー関係を指定しました。
また、フォームを介して新しいperson
を作成するときに、ユーザーにjobs.description
を表示してもらいたいです。
しかし、私はこれを行う方法がわかりません。 2つのテーブルを結合するクエリに基づいてフォームを作成すると、新しいデータを作成できません。また、people
に基づいてフォームを作成すると、Subform based on existing relation
オプションがグレー表示されます。
Accessでは、これはフォームウィザードで簡単に実行できます。
LibreOffice/OOo Baseでこれを実現するにはどうすればよいですか?
これは、フォームウィザードを使用して実行することはできません。リンクされたフォームのものは赤いニシンです。
ただし、次のように簡単に公平に実行できます。
people
テーブルのフィールドのみを使用して可能な限りフォームを取得します。Choose the table from which the data should be used as basis for the list content
で、jobs
を選択します。Display field
としてdescription
を選択します。Field from the Value Table
の下でjob_id
を選択し、Field from the List Table
の下でid
を選択します。それでおしまい!ドロップダウンボックスが期待どおりに機能するようになりました:
ウィザードが気に入らない場合は、次のようにリストボックスコントロールを手動で編集できます。
それでおしまい!