10/22/2007 12:12:52 PM
Access Q&A: Sort, Group, DateDiff, Forms!Field
By Richard Rost
Here are some Access questions I've answered recently. Have your own Access question? Submit it on the Tips Page.
Hi Richard, I have a data table with some cost info in it. It also has columns by month in it. In a few of the cost info columns, there is date info in it for tracking purposes. Is it possible to show that info an access report, where I could show the month at the top (as a column header) and show the respective data up under it according to the date in the column? For example: I have the months: Jun, Jul. I have 2 fields Cats & Dogs. I sold x amount of cats between 6/30/07 - 07/07/07. I sold x amount of dogs between 6/12/07 - 7/31/07. I would like to have the report show like a calendar with June and July at the top, and to the left, I would have cats and dogs on two rows. The dates would be under June and July respectively. Can you assist?
What you need to do, essentially, is to create a report with SORTING AND GROUPING where you have your month as one grouping level, and then under it each "item" (cats, dogs) as another grouping level. It's a bit too much detail to go into here, but I do cover this topic in my Microsoft Access 104 tutorial here: www.599cd.com?GOAC104
Hello Richard, I’m building an Access application that registers clients who comes into an office, after registering they are forwarded to an interview process. I need to track the time from when they register to when the interview begins (WaitTime), and the length of the interview (InterviewLength). The registration information is stored in registration table that is link to interview table that stores the interview information. I’m using the function “=Now()” to record the registration time and the interview start and end time. How do I stop the timer when the interview begins and end. And can I use the function “DateDiff(“n”,ReistrationTime-InterviewStart)” to calculate the wait time and the interview length?
I would use a button to close your form where the interview is taking place. This way, the OnClose event could save the time in your table, and you wouldn't need a Timer function. Just mark the time the form was opened and closed.
Yes, you could use the DateDiff function, but you can also bank on the fact that one day = 1 in Access. So if you simply subtracted the start time from the end time, you're left with a fraction of a day (so 12 hours = 0.5). Multiply that by 24 and you have the number of hours.
I start talking about Event programming in my Access 206 tutorial (www.599cd.com?GOAC206) and time differences in Access 221 (www.599cd.com?GOAC221).
I have multiple sub-reports, each based on a parameter query. The criteria field is the same in all of them. When I create a main report, it asks me to input the parameter value as many times as there are sub-reports. Is there a way that I can give the parameter value only once for the main report?
Certainly. Use a form to supply your parameter. You can refer to it as Forms!FormName!FieldName from inside your report or query. Then, just use a command button on the form to open your report. I cover this technique in my Access 202 Tutorial (www.599cd.com?GOAC202).
Keywords: access tips