473,386 Members | 1,741 Online
Bytes | Software Development & Data Engineering Community
Post Job

Home Posts Topics Members FAQ

Join Bytes to post your question to a community of 473,386 software developers and data experts.

How to create a stopwatch to record time spent on a report.

2
Hello Bytes,

I am very new at using Microsoft Access and have just recently implicated it in recording productivity on outbound calls for my team.

My team is in charge of making outbound calls to agents to verify insurance on people's loans. We make a first call, and if it is not solved we will make a second call.

At the end of the day, we are required to send our totals in to workforce management to calculate the amount of calls we make per hour on certain reports, and an average of hour many calls per hour on that day. Basically to make sure everyone is working at all times as well.

What we are using currently, is one table, and one form on Microsoft Access 2003 on a server. Everyone can enter the info at the same time on a client computer running Windows XP.

The table has fields that record the date the record was entered, the representative's name, the date of the report, type of report, account, time worked, 1st calls and 2nd calls.

In the form, it shows the primary key, the day (as a default value), the representative's name (with a combo box connected to a table for names), the report date (with an input mask of 99/99/00;;_), the report types (with a combo box connected to a table of types), the account (with a combo box connected to a table for accounts), the time, the first calls and second calls.

(Sorry for explaining everything with too much detail)

The problem is, that the representative can accidentally enter any info in over another representative's record, and can falsify the calls per hour they make easily. Anyone can say that they worked on a report for one hour and made 15 calls in that time (which is very difficult).

So I have been trying to implement a timer of some sort, to record the time started on a report and the time finished on a report.

I have learned somewhat (from this site) how to make a stopwatch that resets, but I would like the reset button to save the time to a table with everything else and then reset (like a save button).

I cannot figure out how to implement this on a server for every representative to use at the same time though, with out creating a page for each one of them. I am getting so over my head though, that I feel like I'm just going to have to take a course in order to learn all of Microsoft Access and Visual Basic (which I cannot take off time to do).

At the very least, could you help me get in the right direction on making a page with a start and stop timer that the representative can keep open on the screen? A page will ensure they can each use their own timer at once. Then when they are finished, they click the reset/save button to add it to a new record in a table (kind of like punching in and out).
I do appreciate your time, and understand if this would be too much to reply on in detail. I just need a direction on how to organize all of this.
Thank you.
Attached Images
File Type: jpg PrintScreenAccess.jpg (15.5 KB, 658 views)
May 7 '10 #1
4 6537
Megalog
378 Expert 256MB
At first I thought maybe using a timer would be a good solution, but having a Timer run on the form that is open can cause visual quirks from what i've seen. So maybe the solution can be simpler such as having a variable on the form that resets every time you move to a new record, and then recording those times to a new table for this purpose only. So "Bob" opens up the record, and dteStartTime gets set to Now() (using either the onCurrent event, or a 'Start' button). When Bob hits Save on the form, a new record is created in the time table, tied to that customer's record. This new table should record the Start Time, Saved Time, (or just the difference in minutes), Bob's name or user ID, as well as the row ID for the table he was working on. This can be done with a simple Append query. This new table can be tied to the orginal form using a subform, queried seperately, however you wish.
May 7 '10 #2
TwoBit
2
@Megalog
Hello Megalog,

Thank you for responding.

That sounds like a good Idea, but would there be a way to emphasize the stopwatch in a page so that the representative's would not be able to go into the actual database?

My first thought was to have a table, showing Date (default value), Time (with Time() as default value), Name, Report, 1st calls, 2nd calls and Finished (check box). Then a page listing only Name (with combo box), Report (with combo box), 1st calls and 2nd calls and Finished (check box). Then have fun with the query's later. Once the representative clicks the save button (on the record navigation), the record is put into the table with the time it was entered. So start times and end times are listed.

The thing was that while taking a break, I would would have to click Finished, then make a new record and finish that one. For one report, there would sometimes be 6 records (depending on how long the report).

The reason for the page and stopwatch, is so I can lock the database (not just the tables) so that once they hit stop and then reset/save, they would not be able to alter any of their times. Only administrators like myself would be able to go into the database to run query's and pull the times.

Lets say that I get a report. I click start, then start working. I take a break, hit stop. I come back from break, hit start again and when finished, hit stop, then reset/save and there would be no way of changing how long I was working on that report. The amount of time would automatically be in there with no query's.

Right now, the metrics are working on how many calls per hour you can make. If you make 13 calls an hour or more, you are a top performer. The problem is that not only are people rushing through the reports, and making several mistakes while doing so (quantity, not quality) they are also able to falsify what they put in to make them look better.

What I would like to propose to "the powers that be" is that as long as the representative's are making at least 10 calls an hour (which is easy) and working the full 7.5 hours (two 15 minute breaks and 1 hour lunch), then they will be graded a top performer.

In other words, graded on scheduled adherence, not quantity. That way there will be less "gaps" in the time.
May 8 '10 #3
Jim Doherty
897 Expert 512MB
@TwoBit
Just a design thought for you to consider....you mentioned playing with queries later, May I suggest to you start playing with them now my logic being this. If your database is on the Windows server and you are accessing it from a client machine then your user will have logged on to the network thus exposing their network login credentials ie their network login username.

So... whichever machine the user logs in from, it does does not matter, they are still identifiable via their network login.

a) Set any default for identifying who pumped records into the backend database by reference to the network logon and if you like the machine name logged into.

c) Insert and retrieve data via a query ONLY those records that pertain to them.(ie: have restrictive criteria in your SQL query WHERE clause that interacts with the network user login credentials. This eradicates any suggestion of overwriting someone elses records or even viewing someone elses records (provided you do the usual hiding of various elements of the database to the non savvy user for instance prefixing a table name with 'Usys' which automatically gives it hidden attributes).

Any forms would be based on a query essentially restricting returnable datasets to only those that pertain to the network user (irrespective of which machine they might log onto)

I realise you are new to Access and may well not know certain strategies that are common and that simplify to a degree, certain design approaches when using on a network
May 8 '10 #4
ADezii
8,834 Expert 8TB
In my opinion, the best mechanism by far for creating a Stop Watch or Elapsed Time Calculator is by using the timeGetTime() API Function. I won't go into details, the Link says it all.
http://bytes.com/topic/access/insigh...ttime-vs-timer
May 9 '10 #5

Sign in to post your reply or Sign up for a free account.

Similar topics

10
by: Yang Li Ke | last post by:
Hi guys, Im about to build a script which will log visitor time spent on my website. I got a few ideas about this, maybe checking visitors ip and storing that info in db with time in and then...
3
by: RR | last post by:
What would be a good way to keep track of how much time a form was opened to each individual record? Thanks
2
by: Will | last post by:
I am trying to send a report by email using DoCmd.SendObject acSendReport. When I send the report, it sends the report with all the records whereas I only want the report to show one record. I...
4
by: CH | last post by:
Hi, I recently encountered a problem while trying to create a report grouped by certain time frames. However, Access only allows grouping in Minutes or Hours. For example, the first time frame is...
4
by: Justin | last post by:
Using SQL server and VS.NET with ASP.NET/C# how can I retrieve the Key ID of a record right after creating that record in the same event? Do I need to close and reopen the connection and requery? ...
2
by: marvin | last post by:
I would like a user to be able to click a button whilst viewing a record within a form and see the /same/ record in a report. By default Access shows the first record in the table because no query...
3
by: jm.suresh | last post by:
I am trying to measure the time the processor spends on some operation, and I want this measure to not depend on the current load of the machine. But doing the following prints different values...
19
by: xianwei | last post by:
#include <stdio.h> #include <stdlib.h> #include <time.h> int main ( int argc, char *argv ) { long i = 10000000L; clock_t start, end; double duration;
15
by: vsts2007 | last post by:
Hi all, is it possible to display the record numbers in report. please help me out regards, vsts
0
by: AmateurDBer | last post by:
Hello, I'm looking for Allen. I hate to bother you again, but I am now trying to e-mail the single record from the same form mentioned before (using a macro button) (reference thread about...
0
by: taylorcarr | last post by:
A Canon printer is a smart device known for being advanced, efficient, and reliable. It is designed for home, office, and hybrid workspace use and can also be used for a variety of purposes. However,...
0
by: ryjfgjl | last post by:
If we have dozens or hundreds of excel to import into the database, if we use the excel import function provided by database editors such as navicat, it will be extremely tedious and time-consuming...
0
by: ryjfgjl | last post by:
In our work, we often receive Excel tables with data in the same format. If we want to analyze these data, it can be difficult to analyze them because the data is spread across multiple Excel files...
0
by: emmanuelkatto | last post by:
Hi All, I am Emmanuel katto from Uganda. I want to ask what challenges you've faced while migrating a website to cloud. Please let me know. Thanks! Emmanuel
0
BarryA
by: BarryA | last post by:
What are the essential steps and strategies outlined in the Data Structures and Algorithms (DSA) roadmap for aspiring data scientists? How can individuals effectively utilize this roadmap to progress...
1
by: nemocccc | last post by:
hello, everyone, I want to develop a software for my android phone for daily needs, any suggestions?
0
by: Hystou | last post by:
Most computers default to English, but sometimes we require a different language, especially when relocating. Forgot to request a specific language before your computer shipped? No problem! You can...
0
Oralloy
by: Oralloy | last post by:
Hello folks, I am unable to find appropriate documentation on the type promotion of bit-fields when using the generalised comparison operator "<=>". The problem is that using the GNU compilers,...
0
jinu1996
by: jinu1996 | last post by:
In today's digital age, having a compelling online presence is paramount for businesses aiming to thrive in a competitive landscape. At the heart of this digital strategy lies an intricately woven...

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.