양식의 콤보/드롭다운을 사용하여 외래 키 채우기

양식의 콤보/드롭다운을 사용하여 외래 키 채우기

사용자가 보는 값이 ID가 아니라 외부 테이블의 설명 필드인 콤보 상자/드롭다운을 사용하여 한 테이블에 외래 키 필드를 채우고 싶습니다.

다음 설정을 고려하십시오.

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';

관계 창에서 외래 키 관계를 지정했습니다.

외래 키 관계

그리고 사용자가 양식을 통해 jobs.description새 항목을 만들 때 확인하고 싶습니다 .person

하지만 이 작업을 수행하는 방법을 알 수 없습니다. 두 테이블을 조인하는 쿼리를 기반으로 양식을 생성하면 새 데이터를 생성할 수 없으며 를 기반으로 양식을 생성하면 people옵션 Subform based on existing relation이 회색으로 표시됩니다. 기존 관계를 기반으로 하는 하위 양식

Access에서는 양식 마법사를 사용하여 이를 쉽게 수행할 수 있습니다.

액세스 양식

LibreOffice/OOo Base에서 이를 어떻게 달성할 수 있습니까?

답변1

양식 마법사를 사용하여 이 작업을 수행할 수 없습니다. 연결된 양식 항목은 붉은 청어입니다.

하지만 그것은 가능하다다음과 같이 쉽게.

  1. 양식 마법사를 사용하여 테이블의 필드만 사용하여 가능한 한 양식을 가져옵니다 people.
  2. 디자인 모드에서 양식을 편집합니다(*힌트: 아이콘은 완전히 직관적이지 않지만 다음과 같습니다. 디자인 모드 아이콘)
  3. 양식에 '목록 상자' 컨트롤을 추가합니다(참고: 콤보 상자가 아니라 Base에서 뭔가 다릅니다). 그러면 다른 모든 작업을 안내하는 마법사가 열립니다.
  4. 에서 Choose the table from which the data should be used as basis for the list content을 선택합니다 jobs.
  5. description으로 선택하세요 Display field.
  6. Field from the Value Table선택 아래 job_idField from the List Table선택 아래에 있습니다 id.

그게 다야! 이제 드롭다운 상자가 예상대로 정확하게 작동합니다. 채용정보 드롭다운

마법사가 마음에 들지 않으면 다음과 같이 목록 상자 컨트롤을 수동으로 편집할 수 있습니다.

  1. 목록 상자를 추가한 다음 마법사를 닫습니다. 기어인 "컨트롤" 아이콘을 클릭하세요. (이 역시 말이 안 된다.)
  2. '목록 내용'에는 "SELECT "DESCRIPTION", "ID" FROM "JOBS"라고 되어 있는 정보를 다음과 같이 입력합니다. 사용자에게 표시하려는 필드에 유의하세요.~ 해야 하다먼저 오고 '바인딩된 필드'는 0으로 인덱싱되며 ID 열을 참조해야 합니다.

컨트롤 속성 창

그게 다야!

관련 정보