We help IT Professionals succeed at work.

count records by week and month

Pickriff
Pickriff asked
on
797 Views
Last Modified: 2013-11-27
In relation to my previous question, i am trying to get a select count query to count records for last week, last month, last quarter and last year so i dont have to constantly change the dates in statement.

The attached statement works but will only give me the dates i specify, how can i get this query to ask for the dates in with a date calender popup?

Hope i explained myself properly.

Thanks
SELECT Count([dbo_job list].[Job Number]) AS [CountOfjobnumber], [dbo_job list].[Engineer]
FROM [dbo_job list]
WHERE [opened date] Between #21/6/2009 00:00:01# And #27/6/2009 00:00:00#
GROUP BY [dbo_job list].[Engineer];

Open in new window

Comment
Watch Question

Scott McDaniel (EE MVE )Infotrakker Software
CERTIFIED EXPERT
Most Valuable Expert 2012
Top Expert 2014

Commented:
You can't do this directly in a query - that is, a query cannot "fire" events, which is what you would need to do in order to show a datetime picker.

You could, instead, build a small form that would be used to fill those dates, and then run your query. You didn't mention what version of Access you're using, but 2007 has a builtin datetime picker.
Kevin CrossChief Technology Officer
CERTIFIED EXPERT
Most Valuable Expert 2011

Commented:
If you use parameters, it will prompt you for dates.  I use that often and works just fine; however, you have to manually type the dates in correctly as will not present a calendar/datetime picker to you, just a text box.
Kevin CrossChief Technology Officer
CERTIFIED EXPERT
Most Valuable Expert 2011

Commented:
Syntax is like this IIRC:
SELECT Count([dbo_job list].[Job Number]) AS [CountOfjobnumber], [dbo_job list].[Engineer]
FROM [dbo_job list]
WHERE [opened date] Between [enter start date] And [enter end date]
GROUP BY [dbo_job list].[Engineer];

Open in new window

Author

Commented:
Its Access 2007, so what your saying is, create another table containing headings of start date and end date, create a form attached to this table...then   thats where i get lost.  how would i link whats in that table to the count query i want to run, also im assuming i would need to implement a little bit of VBA code? to delete the records in the start date , end table after they are used?
Kevin CrossChief Technology Officer
CERTIFIED EXPERT
Most Valuable Expert 2011

Commented:
Using LSMConsulting's suggestion, you would build a form.  Don't think you need a new table.  On the form, you could have the user pick start and end dates which you then use to dynamically build the query you had above with literal dates and execute.

Using my suggestion, you just run this as a query and it will prompt for the [enter start date] and [enter end date] since they are not real columns.
Infotrakker Software
CERTIFIED EXPERT
Most Valuable Expert 2012
Top Expert 2014
Commented:
Unlock this solution and get a sample of our free trial.
(No credit card required)
UNLOCK SOLUTION

Author

Commented:
Hi Im getting a Syntax error 3075 doesnt seem to like theend of the third line

WHERE [opened date] Between #" & Forms!YourFormName.txtStartDate & "# AND #" & Forms!YourFormName!txtEndDate & "#"

The latter of the above line of code Forms!YourFormName!txtEndDate, that should be Forms!YourFormName.txtEndDate?  Ive tried it anyway and get same error
Scott McDaniel (EE MVE )Infotrakker Software
CERTIFIED EXPERT
Most Valuable Expert 2012
Top Expert 2014

Commented:
I'm assuming that you changed YourFromName to, obviously, the name of the form you're using?

Author

Commented:
Yes, had a little play with the code, and i cant seem to get it to run, this has an SQL backend so im not sure if this will make any difference
Scott McDaniel (EE MVE )Infotrakker Software
CERTIFIED EXPERT
Most Valuable Expert 2012
Top Expert 2014

Commented:
Yes, that could ...

What exactly are you trying to do with the query? Do you want users to be able to simply view the data? Or is this being used to open a Form or Report.

Author

Commented:
Its to create a report to show how many jobs have been opened within a set time period, i want to do a second one that will report on how many of those have been closed or completed with the prioritised SLA, i know thats probably quite complicated, so im trying to take it a step at a time

Author

Commented:
Thankyou for your answer, having reverted back to access db it now works however no further info was provided on an SQL backend hence the C grade

THanks
Scott McDaniel (EE MVE )Infotrakker Software
CERTIFIED EXPERT
Most Valuable Expert 2012
Top Expert 2014

Commented:
Thanks for the "C" grade ... I'll certainly make note of that. I'm sure the other Experts can provide you sufficient assistance, as I'll not take any additional time with you.
Unlock the solution to this question.
Thanks for using Experts Exchange.

Please provide your email to receive a sample view!

*This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

OR

Please enter a first name

Please enter a last name

8+ characters (letters, numbers, and a symbol)

By clicking, you agree to the Terms of Use and Privacy Policy.