Can you track time sheets/payroll with Access 2003?

R

Ron

I am new to Access. I would like to be able to track the total number of
days an employee has worked and the total number of day the same employee has
worked at various work sites. There are roughly 150 employees at 17
different sites. The employees move from site to site on a regular basis.
Any suggested reading would be welcome. So far, I have "Office 2003 for
Dummies." Any starter templates would be welcome as well. HELP!!
 
F

FredFred

Id' suggest two tables. One with Employee name, any info the employee that
needs to be stored in this system, plus a employee number ("EmployeeNum") or
other short unique identifier.

Then a table with a record for each instance of any employee working.
Three fields:

EmployeeNum of the person who did it.
Amont of time in this instance of working
Location of the work


Link the tables EmployeeNum to EmployeeNum.

The whatever info, forms, reports you need should shake out from that
structure.

Hope that helps get you started int he right direction.

Fred
 
R

Ron

Thank you for the assistance.

FredFred said:
Id' suggest two tables. One with Employee name, any info the employee that
needs to be stored in this system, plus a employee number ("EmployeeNum") or
other short unique identifier.

Then a table with a record for each instance of any employee working.
Three fields:

EmployeeNum of the person who did it.
Amont of time in this instance of working
Location of the work


Link the tables EmployeeNum to EmployeeNum.

The whatever info, forms, reports you need should shake out from that
structure.

Hope that helps get you started int he right direction.

Fred
 
J

Jamie Collins

Id' suggest two tables. One with Employee name, any info the employee that
needs to be stored in this system, plus a employee number ("EmployeeNum") or
other short unique identifier.

Then a table with a record for each instance of any employee working.
Three fields:

EmployeeNum of the person who did it.
Amont of time in this instance of working
Location of the work

I see some problems with this. You could only ever enter the number of
days an employee had worked at a particular location after they had
ceased working there; the alternative would be to increment all
durations by one every day (i.e. simulate the ticking of the clock),
in which case you wouldn't be able to record durations for locations
an employee formerly worked -- catch 22. Also, I get the impression
that the OP wants to be able to model durations for the same employee
in the same location at different points in time.

Rather, I would expect the required table to be a valid-time state
table, using start- and end date pairs on each row to model periods of
time (see http://en.wikipedia.org/wiki/Temporal_database). The NULL
value for end date could be used to signify the current state (i.e. no
end date means the employee is currently working at that location) and
queries could use the DATEDIFF expression (or perhaps a Calendar
table) to calculate the duration between start date and end date,
substituting NULL end date values with the current timestamp NOW().

I don't think the OP has supplied enough in the way of detail to
attempt a proposal e.g. can an employee be considered as working at
multiple locations at the same time? how many hours/minute/seconds
must an employee work at a location for it to be considered 'one day'?
closed-closed or closed-open representation of periods? smallest
considered time granule? etc

One thing to note, however, is that valid-time state tables often
require sequenced constraints which need to be implemented in Jet
using CHECK constraints, which can be tricky to get working correctly.
I've posted on this topic on a number of occasions... Here's one from
the archives which uses a similar scenario of employees' salary
history:

http://groups.google.com/group/microsoft.public.access.forms/msg/04c3f233ba3336cc

Jamie.

--
 
R

Ron

Thank you for your help. Clearly there is a whole lot more I do not
understand/know about Access than I do.
 

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