2017-02-06 6 views
0

MS Access 2010에는 후보가있는 테이블과 패키지 작업이있는 테이블 두 개가 있습니다. 조치는 응시자 테이블의 자 동 번호 인 응시자 ID 필드를 통해 응시자와 연관됩니다. 조치 테이블에는 각 조치에 대한 날짜 필드가 있습니다. 응시자 필드에 특정 후보와 관련된 가장 최근 작업의 작업 유형을 표시하고 싶지만이를 수행하는 방법을 파악할 수없는 필드가 있습니다. '자체에서이 쿼리는 후보 (13)에 대한 가장 최근의 조치를 반환하지만 이상적으로 내가 =CandidateID=13을 교체하고 싶지만 내가 할 수있는, 분명히다른 테이블에 대한 쿼리의 결과 인 테이블에 필드 추가

SELECT TOP 1 ActionT.ActionType FROM ActionT WHERE 
(((ActionT.CandidateID)=13)) 
ORDER BY ActionT.DateCompleted DESC; 

: 나는 기본 값으로 하위 쿼리를 실행하려고했습니다 그 결과를 그대로 필드에 채워야합니다. 나는 또한 DLookup을 사용해 보았지만 기본값을 만들기 위해 오류가 발생했습니다. 나는 또한 "Modify Lookup"버튼을 사용하여 질의와 DLookup을 직접 셀에 붙여 넣고 필드의 유형을 "Text"에서 "Calculated"로 변경하려고 시도했다.

초보자 MS 여기에 사용자가 액세스하므로 추가 설명을 주시면 감사하겠습니다.

감사의 말 전진.

편집 :

그냥 명확하게하기 위해, 나는, 그 자체 쿼리 찾는 게 아니에요. 위의 쿼리 결과를 항상 후보 테이블의 필드 값으로 만들 수있는 방법을 알고 싶습니다. (위의 코드에서 수정이 필요한 경우 공개적으로 대답하지만 실제로는 내 질문이 아닙니다.)

예 : 후보 A는 관련된 ActionTable에 몇 가지 작업이 있습니다. ResumeRecieved, ResumeReviewed 및 Interviewed입니다. 면담과 관련된 날짜가 가장 최근의 정보이므로 후보자 테이블에서 후보자 A의 상태는 "면접"되어야합니다. 그런 다음 오퍼를 연장하기로 결정 했으므로 ActionTable "OfferExtended"에 액션을 추가합니다.

읽을 업데이 트를 automaticaaly한다 후보 A의 CandidateTable의 상태 필드 메인 SELECT 문 내부

답변

0

을 "OfferExtended"당신을 위해 가장 최근 DateCompleted를 얻을 수 내림차순 DateCompleted에 의해 주문 중첩 된 SELECT 문이 필요 각 CondidateId. 다음은

당신을 위해 트릭을 수행해야합니다

SELECT con.Id, 
     con.Name, 
     (SELECT TOP 1 ActionType FROM ActionT 
     WHERE CandidateId = con.Id ORDER BY DateCompleted DESC) AS ActionType 
FROM Candidates AS con 
+0

가 어떻게 내 테이블 내의 필드해야합니까? 후보 필드에 계산 된 필드를 추가하고 "식"으로 사용했지만 작동하지 않았습니다. '이 오류는 다음 중 하나로 인해 발생할 수 있습니다. 테이블에 허용 된 최대 열 수 또는 단일 파일에 대한 최대 잠금 수를 초과했습니다. 테이블에 중복 데이터가 있으면 필드의 인덱싱 된 속성이 예 (중복 확인)에서 예 (중복 없음)로 변경됩니다. 계산 된 필드의 Expression 속성에 표현식이 지정되어 있지 않습니다. ' – WarBro

+0

또한 ID, Name 및 Status가 반환됩니다. 내가 원하는 것은 상태이지만, 특정 후보와 관련된 ActionTable의 가장 최근 상태를 해당 후보에 대한 후보 테이블의 필드 값으로 원합니다. – WarBro

+0

업데이트 된 쿼리 작성 및 값 (최근 "ActionType"을 사례에 삽입)을 실행하는 등 필드를 조작하는 다른 방법이 있지만 계산 된 데이터 유형을 사용하여 다른 테이블의 필드를 선택할 수 없다는 것은 유감입니다. 특정 테이블. –