Database for employee expense vouchers

Hello.

First of all, I just want to say that I'm rather new to Access 2010; although I have taken an Access course in the past, it was a short course that was most likely with Access 2003, which I know is fairly different from Access 2010.  So please bear with me if I don’t quite understand everything the first time it’s explained. J

So, I'm trying to create a database to track employee expense vouchers at work, and if it works well, to maybe extend it to (or create a separate database for) tracking other paperwork as well.  I want to create a system where I enter the details from the expense vouchers that are submitted to me (who it belongs to, the date range that the expenses occurred, when it was received by me, the total of the expenses, that it was reviewed by me and signed by their manager, when it was sent off to Finance for them to process, etc.) and then allow users to search these entries so they can see that it was in fact received, processed, and when it was sent off, etc.

So far I’ve created two tables with the following information:

I’ve also made these two forms for adding info to the tables:

Although I have already entered all of the employees that I will be working with into the employee list table, so I’m not even sure if I will need this form or not?

What I want to do is, when I receive an expense voucher from an employee, to enter it into the “Employee Expense Vouchers Received” to keep a database of all the expense vouchers I receive.  I would like the Employee #, First Name, Last Name, & Location boxes to auto-populate when I select an employee from the list (and being able to select one of either Employee #, First Name or Last Name and having it auto-populate would be awesome!  I.e., bringing up my information by either typing/selecting my employee number or first or last name from the drop-down box on this form would populate the rest of my info, if that makes sense?)

As you can see, I have the drop-down box on the Employee #, but selecting that number doesn’t populate the rest of the fields, so now I’m stuck as to what to do.  I’m pretty sure I’ve created a Foreign Key via the Employee # (which will always stay the same for the employee) between the two forms but I’m not 100% sure on that.  Here is a screenshot of my current Relationships:

THEN, once all that is working so I can actually input the information into the Employee Expense Vouchers Received Form properly, eventually I would need to figure out how to give access to the employees to search for their info.  If it’s possible, having them only able to look up their own info and not everyone else’s would be great, but I’d settle for them being able to sort/search the info to see if their latest voucher was received/processed/sent off or not.

So, obviously I need a lot of help, and I’ve tried to figure this out on my own, but I’m not smart enough for that!  And there’s not many other options for me to get help/training either.  So any help would be very greatly appreciated, since once this database is set up the way I want it to be, it will save me a LOT of headaches in the long run!

Thank you very much for reading all this and for your help in advance!!! J

Melissa

This should be a fairly straightforward project, but you do need to study up about "Normalization" - the proper design of databases. For one thing, you need to start with the Tables and their relationships; forms and data entry can only be done once you have a good foundation in the tables. In particular, each Table must represent one type of "Entity" - real-life person, thing, or event; each field in a Table refers to an "Attribute" of that entity - something that you want to know about it.

In particular, an Employee has FirstName, LastName, hire date, etc. as attributes of that person; but a Voucher doesn't have a First Name! The Vouchers table should have an EmployeeID (don't use the # character in fieldnames, it's a date delimiter) as a foreign key, and NOTHING else about the employee; that's what queries, forms, combo boxes and other tools are for.

Here are some resources which might be useful:

Utter Access discussion forum and resources:
http://www.utteraccess.com

Jeff Conrad's resources page:
http://www.accessmvp.com/JConrad/accessjunkie/resources.html

The Access Web resources page:
http://www.mvps.org/access/resources/index.html

Roger Carlson's tutorials, samples and tips:
http://www.rogersaccesslibrary.com/

A free tutorial written by Crystal:
http://allenbrowne.com/casu-22.html

A video how-to series by Crystal:
http://www.YouTube.com/user/LearnAccessByCrystal

MVP Allen Browne's tutorials:
http://allenbrowne.com/links.html#Tutorials

And don't hesitate to come back here with questions, lots of volunteers here willing to chime in!

John W. Vinson/MVP

3 people found this reply helpful

·

Was this reply helpful?

Sorry this didn't help.

Great! Thanks for your feedback.

How satisfied are you with this reply?

Thanks for your feedback, it helps us improve the site.

How satisfied are you with this reply?

Thanks for your feedback.

Hi Melissa,

First, I agree with John, but there are some specific issues I can comment on.

1) Naming. You should not use spaces in Object names. They can come back to haunt you. Use either camel notation (FirstName) or underscores (First_Name). Also don't use special characters like the octothorpe (#). Also you should keep object names short ExpenseVouchers is sufficient, even better tblExpenseVouchers to indicate its a table object.

2) It appears you used a lookup field for EmployeeID (a better name) and, worse, made it a Multi-Value Field (MVF). It is not recommended that you do lookups on the table level, they should be done on the form. Also, since it would appear that each expense record is associated with a single employee, there is no reason for a multi-value field

3) You are using redundant data. This will be covered in the links John gave you, but since the employee name info is in the EmployeeList table, they should NOT be in the ExpenseVoucher table. Please see my blog on Displaying data from related tables for how to display the Employee name info on your form after selecting the ID. While you are at my blog you might want to also check out the Login Security blog. That has instructions on how to create a login and then filter the data so the user would only see their records.

Hope this helps,
Scott<>
Blog: http://scottgem.wordpress.com
Microsoft Access MVP since 2007

3 people found this reply helpful

·

Was this reply helpful?

Sorry this didn't help.

Great! Thanks for your feedback.

How satisfied are you with this reply?

Thanks for your feedback, it helps us improve the site.

How satisfied are you with this reply?

Thanks for your feedback.

 
 

Question Info


Last updated November 21, 2023 Views 1,137 Applies to: