2012-12-20 2 views
0

휴가 요약 정보를 가져 오는 쿼리가 있습니다. 현재의 기념일보다 더 큰 결과를보고 싶습니다. 기념일 표현식만으로 쿼리를 실행하면 기념일식이 올바르게 작동합니다. Where 절을 넣으면 기념일을 묻습니다. Where 절을 사용하면 exp를 수행하고 Anniversary 날짜를 표시합니다.MS-Access 2003 식을 기반으로 쿼리 결과 제한

SELECT SchedulingLog.UserID, SchedulingLog.Category, Sum(IIf([CatDetail] Like 'Ann*',[Value],0)) AS Gain, Sum(IIf([CatDetail] Like '*Used*',[Value],0))+Sum(IIf([CatDetail] Like 'Adj*',[Value],0)) AS Used, [Gain]+[Used] AS [Left], Month([WM DOH]) & "/" & Day([WM DOH]) & "/" & Year(Date()) AS Anniversary 
FROM SchedulingLog INNER JOIN Roster ON SchedulingLog.UserID = Roster.UserID 
WHERE (((SchedulingLog.EventDate)>=[Anniversary])) 
GROUP BY SchedulingLog.UserID, SchedulingLog.Category, Month([WM DOH]) & "/" & Day([WM DOH]) & "/" & Year(Date()) 
HAVING (((SchedulingLog.Category) Like "Vac*")); 

내가 찾고있는 것은 표현식 기념일 이후에 이벤트 날짜에 대한 합계 값을 제한하는 방법입니다.

필자의 SQL 미숙 및 지침에 대한 인내심을 바탕으로합니다. 나는 빛을보기 시작했다. 그래서이

DateAdd("yyyy",Year(Date())-1,[WM DOH]) 
This returns something completely wrong. but illustrates what I am trying to accomplish 
desired result ex. 12-25-2011 

생각처럼 뭔가

DateAdd("yyyy",1,[WM DOH]) 
it returns the individuals date of Hire and the year advances by 1. 
ex. employee DOH 12-25-2003 
The expression returns 12-25-2004 

나는 DATEADD를 조정하고 걸릴 때?

답변

2

같은 이야기. 기념일은 where 절에서 참조 할 수있는 필드가 아니며 별칭입니다.

+0

Remou, 당신은 내 제한된 SQL 능력에서 흘리고있는 빛에 크게 감사하고 ususal로 올바른 길을 인도하고 있지만 내 결과는 꽤 없습니다. 원본 게시글을 수정하여 다음 단계를 보여줍니다. –

+0

오늘 편집 됨 – Fionnuala

+0

로 http://stackoverflow.com/questions/13952164/ms-access-2003-sql-modification-for-resetting-sum-values-based-on-a-date – Fionnuala