2014-11-20 3 views
1

업데이트 쿼리에서 별도의 쿼리 값을 사용하는 것과 관련하여 약간의 지원을 찾고 있습니다. 배경은 tbl_ConvertToDouble.XCoeff의 평균을 계산하는 쿼리 calle qry_AvgOfXCoeff입니다. 내가 뭘하고 싶은 건 0보다 큰 모든 Xcoeff 값을 첫 번째 쿼리에서 계산 된 평균값으로 대체하는 것입니다. 현재 '업데이트 가능한 쿼리를 사용해야합니다'오류가 발생하여 업데이트 쿼리에서 qry를 직접 사용할 수 없습니다.동일한 테이블의 평균값으로 테이블의 값을 업데이트하는 쿼리

qry_AvgOfXCoeff :

SELECT Avg(tbl_ConvertToDouble.XCoeff) AS [Avg] 
FROM tbl_ConvertToDouble; 
이제

내가 업데이트 쿼리에 IN 조건을 사용하여이 작업을 수행 할 수 있지만 메신저가 정말이 하나 난처한 상황에 빠진 어떤을 찾을 수 없습니다 것을 통보했습니다 어떻게 구현할 것인지 예를 들어 보겠습니다. 나는 아래와 같은 코드를 가지고 놀았지만, 누군가 도와 줄 수있다. 그것은 아주 간단한 것 같습니다.

UPDATE qry_AvgOfXCoeff, tbl_ConvertToDouble SET tbl_ConvertToDouble.[Xcoeff] 
WHERE (((tbl_ConvertToDouble.[xcoeff]) IN (SELECT [qry_AvgOfCoeff].[Avg] 
            FROM [qry_AvgOfCoeff] AS Tmp 
            Where [tbl_ConvertToDouble].[Xcoeff] > 0))) 
ORDER BY tbl_calcreg.[xcoeff]; 

감사합니다.

도나

답변

1

액세스 문제 "작업이 업데이트 가능한 쿼리를 사용해야합니다"피하는데 도움이 될 수 있습니다 도메인 집계 기능을 제공합니다. 이 경우, 당신은 DAvg() 기능을

UPDATE tbl_ConvertToDouble 
SET XCoeff = DAvg("XCoeff", "tbl_ConvertToDouble") 
WHERE XCoeff>0 
+0

감사 고드, 아주 간단한 솔루션을 사용할 수 있습니다, 제가받은 이전의 조언 내가 필요한 것에 대해 복잡한 생각했다. – Dtorr1981

관련 문제