Employee System Example V4 Info (1 Viewer)

Dreamweaver

Well-known member
Local time
Today, 18:03
Joined
Nov 28, 2005
Messages
2,466
I decided to post this as wanted to see what people thought esp About the time sheet screen as I've seperated each employees entry with their colour but can't make up my mind if I like it or not so what do you think.


The defaults are used to workout overtime etc plus to fill in data so if an entry is the standard working day the system will update the record with that employees shift pattern And below is the new preferences screen again still a work in progress.



This is the time entry screen it allows for fixed, varible, and zero hour contracts plus the dinner break can be used as overtime theirs still a lot of work to do but it works



The Time sheets are in their early stages I'm just working on the U.I. at the moments again comments?
The system uses the working days to grey out the days a company does not work so it's not just set for sat and sun






 

Attachments

  • 2019-08-10.png
    2019-08-10.png
    19.4 KB · Views: 749
  • 2019-08-11.png
    2019-08-11.png
    32.2 KB · Views: 693
  • 2019-08-11 (1).png
    2019-08-11 (1).png
    31.6 KB · Views: 671
  • 2019-08-09 (1).png
    2019-08-09 (1).png
    56.4 KB · Views: 906
Last edited:

Uncle Gizmo

Nifty Access Guy
Staff member
Local time
Today, 18:03
Joined
Jul 9, 2003
Messages
16,244
I Note it's been a few days and you have yet to receive a reply.

So I thought, I'm probably thinking the same as everybody else, let somebody else make a comment!

I enjoy the process of creating a database. This means I enjoy writing queries, SQL, VBA code. I have little time for fancy interfaces. I think spending time on adding fancy background images, having labels with moving text, clocks, is wrong, and are unnecessary embellishments .

The database is designed to do a particular task, and it should do it well, and that's what your focus should be on.

Besides that, I'm rubbish at making things look aesthetically pleasing! I'm not an artist! However over the years I have picked up a few tips. There are websites which show you colour schemes, in other words sets of colours which look good together and I've started using some of those.

However from time to time I do see a really well presented database, perfect forms, the correct type of fonts, in other words somebody with some skill in that area has tarted the database up nicely.

I wouldn't be able to do it, not to the level I have seen some people produce. If I thought it was important that the database should look shit hot, then I would find one of these people and employ them to do it for me. A database "Gok Wan" springs to mind.

So unless you've got a pressing reason, some commercial reason for spending a lot of time and effort on having a perfect design, I wouldn't go that way, not on my own anyway!

Regarding your database, the images you have provided, it looks fine to me, like any other database I have, or would produce. However if you are looking for that "Quality" I don't think you're there yet. I also wonder which version of MS Access you are using? Some of the later versions of MS Access do give the forms a sort of "Quality Look" over and above the older versions.
 
Last edited:

Pat Hartman

Super Moderator
Staff member
Local time
Today, 14:03
Joined
Feb 19, 2002
Messages
42,971
Time sheets show one individual at a time. Those look more like management reports. I'm assuming the second row is over time. I don't like different data on different rows. It makes the whole thing harder to comprehend at a glance. Also, based on the format, it looks like you have not normalized your table and that will be a problem once someone in management decides they want you to do any analysis. As forms, they look like spreadsheets. Reports formatted that way would be fine. You would make them with crosstabs from a normalized schema.
 

NauticalGent

Ignore List Poster Boy
Local time
Today, 14:03
Joined
Apr 27, 2015
Messages
6,286
I enjoy the process of creating a database. This means I enjoy writing queries, SQL, VBA code. I have little time for fancy interfaces.

...

Besides that, I'm rubbish at making things look aesthetically pleasing! I'm not an artist!

I can relate, completely. My users have actually commented on how bland and boring my forms are.

And it is true, I absotively, posilutley SUCK at it. So much so I even considered asking for some help/guidance on this forum...

So...if you have something, stop keeping the secret and help me out!
 

Dreamweaver

Well-known member
Local time
Today, 18:03
Joined
Nov 28, 2005
Messages
2,466
Thanks for all the comments I do appreciate them I am using access 2016 but still updating buttons as I sometimes get lazy and copy past buttons.


The system is normalised as best I know how the form gathers info from a number of sources like public holiday, company closures Booked Holiday plus the time sheet table To be honest I'm treading new ground here as I'm building a payslip system requested by my mrs so have tried to make it user freandly (Thats the polite way of putting it lol)


I did start off building a month viewer but found using it as an entry system as well solved no end of problems.


Not sure if the form is OTT but I do like it now I've played with it for a while think I just solved the last problem related to deletng records ps. this screen is a manager level permissions or above.


Here's the newest version



 

Attachments

  • 2019-08-19.png
    2019-08-19.png
    41.7 KB · Views: 560
  • 2019-08-19 (1).png
    2019-08-19 (1).png
    41.2 KB · Views: 567
Last edited:

Uncle Gizmo

Nifty Access Guy
Staff member
Local time
Today, 18:03
Joined
Jul 9, 2003
Messages
16,244
So...if you have something, stop keeping the secret and help me out!

Well John, when I read that, I Thought no, I'm the last person who should be advising people on Form design. Then I realised, I'm probably not the last person, because I'm just the same as most developers, not much idea about design! Whatever tips I have picked up might be useful to other people like me. I'm going to put this down as an idea for a Blog, which might happen along shortly, or Longley, depending how bloodily I get on-ley....

(As you can see I also do poetry very badly)
 

Pat Hartman

Super Moderator
Staff member
Local time
Today, 14:03
Joined
Feb 19, 2002
Messages
42,971
Having 62 instances (31 * regular huurs + 31 * overtime hours) of time on a single record is a big design flaw. It violates first normal form and will cause complications once you have to write code or do analysis. Relational databases are NOT spreadsheets and there are NO functions that will let you simply sum 31 columns to get a total. You are always reduced to Nz(col1, 0) + Nz(col2, 0) + Nz(col3, 0) .... Notice that unless you default the field to 0 (which will clutter the display and cause other problems with the use of Avg() as well as Min(). Max() and others), you MUST use the Nz() function or you'll get nothing if any column in the calculation is null. The Sum() and Avg() and other aggregation functions (which is what you would use if you defined the schema properly with ONE entry for hours for each day) account properly for null values by ignoring them so if you have 31 columns and only 19 of them have a value, Avg() knows enough to divide by 19 rather than 31. If you do this manually, YOU need to figure out how many entries have a value. And defaulting to zero and averaging all of them will result in what most people would consider an inaccurate answer.

Just to convince yourself there just might be unnecessary complexity with this structure, write a query that averages the number of hours worked each day of a month. Then write another one that averages the hours worked on monday and remember that there are SEVEN days in a week.
 
Last edited:

Dreamweaver

Well-known member
Local time
Today, 18:03
Joined
Nov 28, 2005
Messages
2,466
Having 62 instances (31 * regular huurs + 31 * overtime hours) of time on a single record is a big design flaw. It violates first normal form and will cause complications once you have to write code or do analysis. Relational databases are NOT spreadsheets and there are NO functions that will let you simply sum 31 columns to get a total. You are always reduced to Nz(col1, 0) + Nz(col2, 0) + Nz(col3, 0) .... Notice that unless you default the field to 0 (which will clutter the display and cause other problems with the use of Avg() as well as Min(). Max() and others), you MUST use the Nz() function or you'll get nothing if any column in the calculation is null. The Sum() and Avg() and other aggregation functions (which is what you would use if you defined the schema properly with ONE entry for hours for each day) account properly for null values by ignoring them so if you have 31 columns and only 19 of them have a value, Avg() knows enough to divide by 19 rather than 31. If you do this manually, YOU need to figure out how many entries have a value. And defaulting to zero and averaging all of them will result in what most people would consider an inaccurate answer.

Just to convince yourself there just might be unnecessary complexity with this structure, write a query that averages the number of hours worked each day of a month. Then write another one that averages the hours worked on monday and remember that there are SEVEN days in a week.


Related topic https://www.access-programmers.co.uk/forums/showthread.php?t=306381

Pat You are looking at the screen and see what you think it correct but sorry to say you are so wrong there the screen gets it's values from the timesheet table which has the following fields



  • TimeSheetID, AutoNumber
  • EmployeeID, Number
  • EntryDate, Date/Time
  • TimeStart, Date/Time Formated for short Time
  • TimeFinish, Date/Time Formated for short Time
  • HoursWorked, Date/Time Formated for short Time
  • Overtime, Date/Time Formated for short Time
  • DinnerBreak, Yes/No
I do agree that the Hours Worked And Overtime should be calculated but please do some math if the database has 40 employees and is used for 6 year (There Is A Reason I Say six years) each employee works on avg 20 days a month???


I Decided to store the Hours Worked and Overtime as it would require running all calculations though a Function which I have to do with the totals.


At the monent I have added a months timesheet entries for the 40 employees in the example db and am over 500 records but would expect around 800 for a month without time off.


I didn't think I could use the Sum(), Avg(), Min() and max() With time values If I'm wrong please let me know.


This screen has been designed for my mrs to use so have gone out of my way to make data entry as simple as pos as she is what I would call a low level computer user.


so in a nutshell the only rules I break are the 2 above the screen is nothing more than a U.I. Entry screen like all the other forms of that type in the example.


Maybe I wont post it here anymore if It will only show incorrect ways of doing things.


P.S. I have just asked my mrs if the display confuses her she said no view image below.


I will update the display so it only displays 21 days and add a system like in the diary
 

Attachments

  • 2019-08-20.png
    2019-08-20.png
    60.5 KB · Views: 118
Last edited:

Dreamweaver

Well-known member
Local time
Today, 18:03
Joined
Nov 28, 2005
Messages
2,466
I am now at the stage where I can release version 4 within the next few days As I have other projects that need my attention

I think I have covered most of what I have see being asked like linking pictures, Time in service, Age in words, Validating Postcodes and Validating National Insurrance numbers.

There is more and please rememeber this example is not a finished product I will be adding to it from time to time.

hope this screen meets with your approval I still have a bit of coding to do but I'm happy with the format.


 

Attachments

  • 2019-08-24 (9).jpg
    2019-08-24 (9).jpg
    102.8 KB · Views: 394

Pat Hartman

Super Moderator
Staff member
Local time
Today, 14:03
Joined
Feb 19, 2002
Messages
42,971
I don't recommend using an unnormalized form to do data entry but do what you want. Just make sure to test your code to ensure it updates the normalized table correctly in all cases.

You posted here asking for opinions. I gave mine. Feel free to ignore it. I will refrain from commenting further since you actually aren't interested.
 

Dreamweaver

Well-known member
Local time
Today, 18:03
Joined
Nov 28, 2005
Messages
2,466
I don't recommend using an unnormalized form to do data entry but do what you want. Just make sure to test your code to ensure it updates the normalized table correctly in all cases.

You posted here asking for opinions. I gave mine. Feel free to ignore it. I will refrain from commenting further since you actually aren't interested.


Im Not Ignoring you pat I just doen't agree with what your saying All the screens below (Not All Designed by me I just Updated it to allow for company working methods) Thay use a local temp table to display data allowing for ease of entry.
the tables they feed have been normalised I like the concept of being able to see the data that been added this helps with duplicate entries etc plus it's easier for newer users to learn.


You should note the concept has got me one job just beacuse of the way it works.







 

Attachments

  • 2019-08-25.png
    2019-08-25.png
    56.8 KB · Views: 345
  • 2019-08-25 (1).png
    2019-08-25 (1).png
    39.7 KB · Views: 331
Last edited:

Gasman

Enthusiastic Amateur
Local time
Today, 18:03
Joined
Sep 21, 2011
Messages
14,046
I think it looks pretty tidy.
On the Employee form, I would ask where is the Employee End date.?
Also Emergency is spelt incorrectly.

Wish you had created this a few years ago Mike, I could have used it in my last place of work, as it would have been a godsend to me, and I could have been a good UAT tester for you.
 

Dreamweaver

Well-known member
Local time
Today, 18:03
Joined
Nov 28, 2005
Messages
2,466
I think it looks pretty tidy.
On the Employee form, I would ask where is the Employee End date.?
Also Emergency is spelt incorrectly.

Wish you had created this a few years ago Mike, I could have used it in my last place of work, as it would have been a godsend to me, and I could have been a good UAT tester for you.

Thanks Gasman I should be uploading what I've done to date today just checking over screens.
Their is no end date as eash day for an employee is stored in tbltimesheet

This can be archived after 6 years I think But Am not 100% sure that is how long this sort of record should be kept will need to check futher on that.

The screen below shows the timesheet in edit mode.


Their will be a wizard type screen so you can add a week at a time but have run out of time so have diabled the button I will have it working for version 5 though.


I have been asked to create a rota system like this but not sure if I can include it in the example as have no agreement to do so at present.


 

Attachments

  • 2019-08-26.png
    2019-08-26.png
    98.2 KB · Views: 331

Gasman

Enthusiastic Amateur
Local time
Today, 18:03
Joined
Sep 21, 2011
Messages
14,046
Well I would have thought that if I left, you would want to store the end date.?
That might not be my last working day?

Just thinking of what I would want from it.

You get a call from their next employer...'Can you please confirm when he left your employment, when did he actually start with you.? etc
 

Dreamweaver

Well-known member
Local time
Today, 18:03
Joined
Nov 28, 2005
Messages
2,466
Well I would have thought that if I left, you would want to store the end date.?
That might not be my last working day?

Just thinking of what I would want from it.

You get a call from their next employer...'Can you please confirm when he left your employment, when did he actually start with you.? etc


Sorry now I understand You was talking about the employee card sorry misunderstood you are correct I have missed it and will correct it thanks gasman


P.S. Now have to find some space also as a side note those details on the emplyee card are all the main details you can keep without asking permission of the employee I will be adding things like disciplinary Etc in other versions
 

Users who are viewing this thread

Top Bottom