액세스 양식에서 외국 키 콤보 상자를 사용자 친화적으로 만드는 방법은 무엇입니까?

StackOverflow https://stackoverflow.com/questions/153035

  •  03-07-2019
  •  | 
  •  

문제

두 개의 테이블이 있습니다.

Employees:
uid (number) | first_name (string) | last_name (string) | ...

Projects:
uid | project_title (string) | point_of_contact_id (FK: Employees.uid) | ...

"연락처"콤보 박스 (드롭 다운) 필드가있는 프로젝트 양식을 만들고 싶습니다. 디스플레이 값은 "First_name Last_name"이어야하지만 후원 데이터는 UID입니다. 사용자에게 한 가지를 표시하고 다른 것을 테이블에 저장하기 위해 양식을 설정하려면 어떻게해야합니까?

full_name 필드로보기를 만들 수 있기 때문에 One Field (예 : "First_name") 만 보여줄 수 있어도 괜찮습니다.

나중:

테이블 디자인 수준 에서이 작업을 수행 할 수있는 방법이 있다면, 그 이후로 UID 열당 설정 만 설정하면됩니다. 많은 UID 필드 당 하나의 설정이 아닌 테이블) (그리고 많은 각각 여러 uid 필드가있는 형태).

도움이 되었습니까?

해결책

Loesje의 답변을 확장하려면 여러 필드를 표시 할 때 열 카운트 및 열 폭과 함께 바운드 열 속성을 사용하여 데이터베이스에 작성 해야하는 액세스를 알릴 수 있습니다. (VBA를 사용하여이를 수행하는 다른 방법이 있지만 특정 사례에는 효과가 있어야합니다.)

귀하의 경우 행 소스를 설정하십시오 select uid, first_name, last_name from tablename 행 소스 (UID)의 첫 번째 열에 대해 바인딩 열이 1이어야 함을 의미합니다. 이것은 기본값이므로 다른 필드에서 값을 저장하려는 경우에만 변경하면됩니다. (예를 들어, 위의 행 소스에서 last_name을 저장하려면 바운드 열을 3으로 설정합니다.)

표시중인 다른 열의 너비를 설정하면 콤보 상자의 너비 속성이 열 너비의 합보다 크거나 동일해야한다는 것을 잊지 마십시오. 그렇지 않으면 모든 열이 표시되지 않을 수 있습니다.

테이블을 기반으로 한 양식이 특정 열을 가져와야하거나 특정 열이 외래 키임을 나타내는 방법은 없지만 콤보 상자를 다른 양식으로 복사 할 수 있으며 모든 것을 전달할 수 있습니다. 그것의 속성. 도움이되는 경우 행 소스 쿼리를 복사하여 다른 콤보 상자에 붙여 넣을 수도 있습니다.

다른 팁

Dropdownbox의 Rowsource를 "UID, First_Name, TableName의 LastName '을 선택하고 ColumnWidth를 0으로 설정하도록 설정하십시오.이 방법으로 첫 번째 열의 너비는 0으로 설정되므로 사용자가 볼 수 없습니다 (제공 할 수 있습니다. 다른 열의 너비는 세미콜론, 즉 0cm; 4cm; 4cm)로 분리된다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top