Sql MS Access 2003基于表达式限制查询结果

Sql MS Access 2003基于表达式限制查询结果,sql,ms-access-2003,Sql,Ms Access 2003,我有一个查询,用于提取假期摘要信息。我想将结果限制为大于当前周年日期。当我在查询中只使用周年表达式时,周年表达式可以正常工作。当我输入Where子句时,它会提示输入周年纪念。如果没有Where子句,则执行表达式并显示周年日期 SELECT SchedulingLog.UserID, SchedulingLog.Category, Sum(IIf([CatDetail] Like 'Ann*',[Value],0)) AS Gain, Sum(IIf([CatDetail] Like '*Used

我有一个查询,用于提取假期摘要信息。我想将结果限制为大于当前周年日期。当我在查询中只使用周年表达式时,周年表达式可以正常工作。当我输入Where子句时,它会提示输入周年纪念。如果没有Where子句,则执行表达式并显示周年日期

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",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("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

想法?

同样的故事。周年纪念不是可以在where子句中引用的字段,它是一个别名

WHERE SchedulingLog.EventDate>= 
    DateSerial(Year(Date())-1,Month([WM DOH]) ,Day([WM DOH]))

Remou,我非常感谢你对我有限的SQL能力的揭露,通常你会引导我走上正确的道路,但我的结果并不完全正确。我已经修改了原始帖子以显示下一步。根据Remou,我最真诚的道歉!谢谢!