2010-03-24 4 views
0

에서 다른 테이블에 필드를 복사 나는 조금 여기 물어 당황 해요,하지만 여기 간다 : 나는 두 테이블을 가지고액세스

, 당신은 여기에서 볼 수있다 :

http://img411.imageshack.us/img411/4562/query.jpg

한 테이블에서 다른 테이블로 작업 ID를 복사하여 값이 여전히 수정 관계를 유지하는지 확인해야합니다. 각각의 기본 키는 loggerid & datetime의 조합입니다. 이 작업을 수행하는 가장 좋은 방법은 무엇입니까? 사전에

덕분에, 재미 :) 대신 업데이트 쿼리에

답변

1

변경을하지 않습니다. 조인은 올바르게 작동해야하지만 누락 된 행은 추가되지 않습니다. 이를 위해, 당신은 Append Query를 사용할 것입니다. 셋업이있는 것처럼 왼쪽 join과 null 체크가 있습니다. 아래 샘플에서는 LogSiteID 테이블에있는 정보로 LogID 테이블을 업데이트합니다. 로거 사이트 ID에서

추가] 누락 된 기록은

UPDATE logID AS l INNER JOIN [Logger Site ID] AS ls ON (l.Datetime = ls.datetime) AND (l.temp = ls.temp) AND (l.loggerid = ls.loggerid) SET l.effortid = [ls].[effortid]; 
+0

이봐,이 환상적이다 LOGID하는 로거 사이트 ID에서

INSERT INTO logID ([Datetime], loggerid, temp, effortid) SELECT ls.datetime, ls.loggerid, ls.temp, ls.effortid FROM logID AS l RIGHT JOIN [Logger Site ID] AS ls ON (l.temp = ls.temp) AND (l.loggerid = ls.loggerid) AND (l.Datetime = ls.datetime) WHERE (((l.loggerid) Is Null)); 

업데이트 effortids을 LOGID합니다. 무리 감사! 실제로 null 값을 포함하여 loggersiteid.effortid에 logid.effortid를 추가하려고합니다. 나는 당신의 답장을 토대로이 작업을하려고 노력할 것입니다. –