Using an Access SQL query for two non-related tables based on a date range

Good afternoon, I have an access database that has a query (this could also be a table) consisting of a date field (DueDate).  To keep it simple, the fields are Project (string), Leader (string), DueDate (short date), and Priority (string)

Here are the values that can be put into an Access database to generate a solution for the request I'm intending to make:  Project is considered the primary key and for simplicity it's the name of the project.

Table:  tblProject
Fields:  (in order)  Project, Leader, DueDate, Priority
Values: (in order below to Fields shown above)
HR Metrics, Ed, 9/3/2014, high
GMLOS, Tom, 9/16/2014, high
Monthly Bad Debt, Ed, 9/19/2014, medium
Kronos Time Detail, Jeff, 9/20/2014, medium
Monthly generics, Jeff, 9/17/2014, high
Quarterly denial, Ed, 9/30/2014, medium
ED by facility, Tom, 9/22/2014, critical
Accounting report, Tom 9/26/2014, high
Finance report, Tom 9/24/2014,critical
Weekly task report, Jeff, 9/23/2014, low

I have another table with only 1 record in it:
table: tblDateSelection
ID: 1
TodayDate: 9/17/2014   (primary key)
BeginDateRange:  -2
EndDateRange: 6

Here's what I'm wanting to do...

I want to create a query that takes the tblProject and filter where the DateDue is between #9/17/2014# (-2) AND 9/17/2014 (+6) given from the 1 record in the tblDateSelection table.  In other words Due date is between (-2 days of 9/17/2014) and (6 days added to 9/17/2014)   ----hence it would become----   WHERE DateDue is Between #9/15/2014# AND #9/23/2014#.  I realize that the tblProject and tblDateSelection have no common field; however, maybe there's a way to do this between the two tables that I don't know about.

I'm sure memory values held in VBA code would do something, but would like to see how it can be done directly from a SQL statement directly stored in the Access database (Queries) for other reasons.

I want to use the tblDateSelection because I can change this table values when necesssary.  So with the data above shown for tblProject, I want to pull those records between 9/15 and 9/23 (as indicated in the tblDateSelection (-2 from today - 9/17/2014) and (+6 from today - 9/17/2014)


Thank you,
LVL 1
HRISTeamAsked:
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.

Dale FyeCommented:
Try:

SELECT P.* FROM tblProject as P,  tblDateSelection as DS
WHERE P.DueDate >= DateAdd("d", DS.BeginDateRange, DS.TodayDate)
AND P.DueDate <= DateAdd("d", DS.EndDateRange, DS.TodayDate)
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
HRISTeamAuthor Commented:
Thanks!  Works perfectly.  Wonderful!
0
Dale FyeCommented:
As long as the 2nd table only contains one record, that won't be a problem.  If you start adding records to the 2nd table, you will need to add a field from that table to the query set, something like:

SELECT DS.TodayDate as WeekOf, P.* FROM tblProject as P,  tblDateSelection as DS
WHERE P.DueDate >= DateAdd("d", DS.BeginDateRange, DS.TodayDate)
AND P.DueDate <= DateAdd("d", DS.EndDateRange, DS.TodayDate)
0
HRISTeamAuthor Commented:
Thanks, that makes sense if something ever occurs like that.  Simply put, it would be only one updateable record in that tblDateSelection table.  For anyone viewing this in the future --- this works great if you want to have a "master" one record value holder.  In my case, I would update the record daily when the database opens (update the field TodayDate with Now() date and use the -2 to 6 range again.  BTW, this -2 to 6 is not "set in stone" which means it can change and I would change it in that ONE record in the tblDateSelection table.
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
Microsoft Access

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.