help designing query to get results

J

JoAnn

In my database of employees I have three date/time fields - Agency Start
date, Rehire date (a lot of our employees only work part of the year) and
Separation Date. If I wanted to show only the employees who have either
started, were rehired or separated in a certain time frame, how would I do
that? Example: Which employees started or were rehired or separted between
july 1 and july 30?
 
A

Allen Browne

In query design view, enter the date range in the Criteria row under the
first date field.

Below the Criteria row, you'll see another one marked Or. Enter the same
date range under the 2nd field, in the Or row.

Under the Or row is another Or row. Enter the same range on this next Or
row, under your 3rd date field.

If you often rehire people, it might be a better design to remove these
dates from your table, and put them in a related table (so someone can be
hired multiple times.)
 
J

JoAnn

Thanks Allen, That worked well when I put in the actual dates into the
criteria, but when I put in a parameter -ex: between [enter start date] and
[enter end date] it did not work. Is there a way to use a parameter this
way?

(I will work on redesigning my table as you suggested as well)
 
K

Ken Snell

You will need to explicitly declare the parameters as a date/time datatype.
While in design view, click on Query on menu bar (assuming you're using
ACCESS 2003 or earlier), then select Parameters from menu list. In the popup
window, type the parameters (one on each row) exactly as you'll have them in
the query, and select Date/Time as the datatype for each.

--

Ken Snell
http://www.accessmvp.com/KDSnell/


JoAnn said:
Thanks Allen, That worked well when I put in the actual dates into the
criteria, but when I put in a parameter -ex: between [enter start date]
and
[enter end date] it did not work. Is there a way to use a parameter this
way?

(I will work on redesigning my table as you suggested as well)
--
JoAnn


Allen Browne said:
In query design view, enter the date range in the Criteria row under the
first date field.

Below the Criteria row, you'll see another one marked Or. Enter the same
date range under the 2nd field, in the Or row.

Under the Or row is another Or row. Enter the same range on this next Or
row, under your 3rd date field.

If you often rehire people, it might be a better design to remove these
dates from your table, and put them in a related table (so someone can be
hired multiple times.)

--
Allen Browne - Microsoft MVP. Perth, Western Australia

Reply to group, rather than allenbrowne at mvps dot org.




.
 
A

Allen Browne

Yes, Ken's given you the right approach JoAnn.

Use actually the same expression in the criteria rows under each of your 3
date fields:
Between [enter start date] And [enter end date]

Then declare the 2 parameters in the dialog:
[enter start date] Date/Time
[enter end date] Date/Time

It will only ask you once for the start date and once for the end date.

--
Allen Browne - Microsoft MVP. Perth, Western Australia

Reply to group, rather than allenbrowne at mvps dot org.


Ken Snell said:
You will need to explicitly declare the parameters as a date/time
datatype. While in design view, click on Query on menu bar (assuming
you're using ACCESS 2003 or earlier), then select Parameters from menu
list. In the popup window, type the parameters (one on each row) exactly
as you'll have them in the query, and select Date/Time as the datatype for
each.

--

Ken Snell
http://www.accessmvp.com/KDSnell/


JoAnn said:
Thanks Allen, That worked well when I put in the actual dates into the
criteria, but when I put in a parameter -ex: between [enter start date]
and
[enter end date] it did not work. Is there a way to use a parameter
this
way?

(I will work on redesigning my table as you suggested as well)
--
JoAnn


Allen Browne said:
In query design view, enter the date range in the Criteria row under the
first date field.

Below the Criteria row, you'll see another one marked Or. Enter the same
date range under the 2nd field, in the Or row.

Under the Or row is another Or row. Enter the same range on this next
Or row, under your 3rd date field.

If you often rehire people, it might be a better design to remove these
dates from your table, and put them in a related table (so someone can
be hired multiple times.)
 
J

JoAnn

Great - thanks guys and happy new year!
--
JoAnn


Allen Browne said:
Yes, Ken's given you the right approach JoAnn.

Use actually the same expression in the criteria rows under each of your 3
date fields:
Between [enter start date] And [enter end date]

Then declare the 2 parameters in the dialog:
[enter start date] Date/Time
[enter end date] Date/Time

It will only ask you once for the start date and once for the end date.

--
Allen Browne - Microsoft MVP. Perth, Western Australia

Reply to group, rather than allenbrowne at mvps dot org.


Ken Snell said:
You will need to explicitly declare the parameters as a date/time
datatype. While in design view, click on Query on menu bar (assuming
you're using ACCESS 2003 or earlier), then select Parameters from menu
list. In the popup window, type the parameters (one on each row) exactly
as you'll have them in the query, and select Date/Time as the datatype for
each.

--

Ken Snell
http://www.accessmvp.com/KDSnell/


JoAnn said:
Thanks Allen, That worked well when I put in the actual dates into the
criteria, but when I put in a parameter -ex: between [enter start date]
and
[enter end date] it did not work. Is there a way to use a parameter
this
way?

(I will work on redesigning my table as you suggested as well)
--
JoAnn


:

In query design view, enter the date range in the Criteria row under the
first date field.

Below the Criteria row, you'll see another one marked Or. Enter the same
date range under the 2nd field, in the Or row.

Under the Or row is another Or row. Enter the same range on this next
Or row, under your 3rd date field.

If you often rehire people, it might be a better design to remove these
dates from your table, and put them in a related table (so someone can
be hired multiple times.)

.
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top