firstweekofyear in access 2010

How do you use the constant firstweekofyear in access 2010 DateDiff function?
I am trying to filter if a date result is in previous year, current year or null
LVL 1
simernetAsked:
Who is Participating?
I wear a lot of hats...

"The solutions and answers provided on Experts Exchange have been extremely helpful to me over the last few years. I wear a lot of hats - Developer, Database Administrator, Help Desk, etc., so I know a lot of things but not a lot about one thing. Experts Exchange gives me answers from people who do know a lot about one thing, in a easy to use platform." -Todd S.

Gustav BrockCIOCommented:
That for week calculations, it won't tell you about the year.

Use Year for that:

intYearOfDate = Year(datYourDate)
If intYearOfDate = Year(Date()) Then ' this year.
If intYearOfDate = Year(Date()) - 1 Then ' last year.
Else ' other year.

/gustav
0
NorieVBA ExpertCommented:
Not sure what constant you mean.

Anyway you don't need a constant for this, you could use Date /Year in an expression like this.

Switch(IsNull([DateField]), "Null", Year([DateField]) = Year(Date()), "This Year", Year([DateField]) = Year(Date())-1, "last Year")
0
simernetAuthor Commented:
In english I am looking to see if a date occured anytime in the current year or if it falls anytime withing the previous year.  I also want to know if it is null.  
I have the Null part IsNull([disenrollDate])
0
Ultimate Tool Kit for Technology Solution Provider

Broken down into practical pointers and step-by-step instructions, the IT Service Excellence Tool Kit delivers expert advice for technology solution providers. Get your free copy now.

NorieVBA ExpertCommented:
The expression I posted does that and returns a string indicating if its null, in the current year or form last year.

What do you want have returned?
0
simernetAuthor Commented:
I want this as a filter, so True or False.
I am looking for
True,  IsNull,
True,  This year
True, Last calendar year  ex. (01 JAN 2011  -  31 DEC 2011)
False if any year prior.

Cannot hard code in dates as it will float from year to year.
0
NorieVBA ExpertCommented:
What I posted didn't hardcode anything.

Anyway, just use this in the criteria for the filter.


Not IsNull([disenrollDate]) AND (Year([isenrollDate]) = Year(Date()) OR [disenrollDate]= Year(Date())-1

The Year functions returns the year of a date and Date returns the current date.

So today Year(Date()) returns 2012  but on this day next year will return 2013 and so on.
0

Experts Exchange Solution brought to you by

Your issues matter to us.

Facing a tech roadblock? Get the help and guidance you need from experienced professionals who care. Ask your question anytime, anywhere, with no hassle.

Start your 7-day free trial
simernetAuthor Commented:
Year([DisenrollDate])=Year(Date())-1 Or Year([DisenrollDate])=Year(Date()) Or IsNull([DisenrollDate])=True

Thanks,
0
NorieVBA ExpertCommented:
Oops, don't know where that AND came from.
0
It's more than this solution.Get answers and train to solve all your tech problems - anytime, anywhere.Try it for free Edge Out The Competitionfor your dream job with proven skills and certifications.Get started today Stand Outas the employee with proven skills.Start learning today for free Move Your Career Forwardwith certification training in the latest technologies.Start your trial today
Query Syntax

From novice to tech pro — start learning today.

Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.