473,387 Members | 3,750 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,387 software developers and data experts.

Check out system in microsoft access

Hello!
Im designing a check out system for a small library we have at my office. I want to make an easy check out system, but this is my first time using acces. If you could help me figure out where to go from here, please let me know.

The book table is
ID (key)
title
author
isbn
location

I would like to be able to check books in and out i with some sort of form. We have IDs that when swiped type our the your name, id, and time swiped. I would like the check out prosses to be as simple as possable. For example
Enter book id
Swipe ID
enter email adress

We are at a university, so there are thousands of potentail users. We dont want to have to create a profile for every person, just take there name and email when the check out a book.

My questions:
SHould this all be done on one table?
If not, what others would you recommend I have with what info?
How can i create a form that automatically calculates a due date 2 weeks from wehn the book is checked out?
Can I automate an email people a reminder to return the books before the due date?

Thanks for your help, I am totally new to access.
May 1 '13 #1
1 3858
Seth Schrock
2,965 Expert 2GB
This sounds like a fun project! We limit threads to only one question, so I'll tackle the table design as that is the foundation for the database and is very important to make a functional database. If you could ask the question about the 2 weeks and the emails (which are totally possible) in two additional threads, we would be more than happy to assist you. (Breaking up the threads helps keep the threads clean and easier for others to benefit from them.)

A word of advice about table/field/control names: Don't use spaces or special characters (other than underscore "_") in the names. You can use camel case (first letter of each word capitalized for readability, i.e. MyField) or use the underscore in place of the spaces. It will make it easier to design your database.

Just to be clear, is the Swipe ID the ID of the person checking the books out/in? Also, I assume that each person can check out more than one book at a time? Something to consider, if you don't create profiles for each person checking out a book, you will have to enter their name and email address every time they check out a book. If you did create a profile for each person, that information could be stored and then you would be able to pull up that information the next time they come in and don't have to risk typing in a name or an email address incorrectly each time. To me, this seems worth the slight amount of extra time to create the profile once and then not have to again. This is totally up to you, but it does effect the table design and not having the profile makes generating the email address harder. It also makes it harder to find all the books that a particular person has out as you would have to type the person's name the exact same way each time (period after middle initial or not, including the middle initial or not, using a nickname, OConner vs O'Conner, etc.).

Enough about the profile. What I would do is to create a table that would hold the information about the checking out process and a table of the books that were checked out. For example, I'll name the first table tblCheckOut and the second table tblBooksCheckedOut. Fields would be as shown below
Expand|Select|Wrap|Line Numbers
  1. tblCheckOut
  2. CheckOutID
  3. SwipeID
  4. CheckOutDate_Time
  5. Patron
  6. EmailAddress 
If you decide to use patron profiles, then make Patron a number field and leave out EmailAddress. Otherwise, make Patron a text field and leave EmailAddress.

Expand|Select|Wrap|Line Numbers
  1. tblBooksCheckedOut
  2. BookCheckID
  3. CheckOutID_fk
  4. BookID
  5. DueDate      'If books cannot be renewed, then leave out this field as it is just a calculated field.
  6. CheckInDate
Relate the tables using the tblCheckOut.CheckOutID = tblBooksCheckedOut.CheckOutID_fk one-to-many relationship. This will allow you to checkout books with a single swipe by utilizing subforms.

The check-in process would use a query to find all the books still out (CheckInDate Is Null) and then try to find a match for the BookID you typed in. If no match, the book has already been checked in or it never was checked out (this does happen occasionally at my library).

Also, since you are the one who really knows what you are dealing with and what you are wanting, it makes sense to give you the tools to help you decide for yourself what is needed. Here is a link that will help you know how to design your tables correctly: Database Normalization and Table Structures. You are still totally welcome to ask for help here, but this will help you understand the reasoning behind the suggestions.
May 2 '13 #2

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

Similar topics

1
by: Raju | last post by:
Exception Details: System.UnauthorizedAccessException: Access is denied. ASP.NET is not authorized to access the requested resource. Consider granting access rights to the resource to the ASP.NET...
2
by: Bill Nguyen | last post by:
I got this error emssage trying to run an ASP.NET application on my Win2003/IIS6.0 server: Exception Details: System.UnauthorizedAccessException: Access to the path...
11
by: Robert | last post by:
Would you use Access to create a car rental reservation system? I would think that the complexity of such a system would be better suited to a procedural language like Visual Basic or C++. Your...
0
by: Efi | last post by:
Hi, We have a simple 3 tier application which its core application is VC++ 6.0 ATL COM running as a server application in the COM+. An asp pipe is in charge of handling the requests and passes it...
4
by: Anbu | last post by:
Hi all, I have developed an application in VS .NET 2003 (framework 1.1) on a XP platform. It is working fine in that PC. Now, I setup new PC with same configuration for another develper....
2
by: job | last post by:
In a sharepoint setup using smartpart to load our user controls using enterprise blocks (data) we are getting some strange errors (logged to the event log). We dont get the error all the time. When...
9
by: snipersix | last post by:
Anyone know how to set up a simple ID and password system in access. So that when someone login, they either have access to the database window or not. like administrators, and managers login do, and...
2
by: kelvinweb | last post by:
Hi All, I don't why alert below error message when I am using "Excel Application". I have to following the instruction, but the error is still here. Please help .. Dim excelApp As New...
1
by: ahmed222too | last post by:
how can i check if an access field is null using VB6 these codes donot work: If rs("lemmaid").Value is null If rs("lemmaid").Value = null If rs("lemmaid").Value =""
1
by: eclipse93081 | last post by:
I need a way to sum check boxes in Access. On the database interface I have 3 boxes you can check; "Scheduled/Went On", "Scheduled/Did Not Go On", and "Not Scheduled". I have the boxes set up as...
0
by: Charles Arthur | last post by:
How do i turn on java script on a villaon, callus and itel keypad mobile phone
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?
1
by: Sonnysonu | last post by:
This is the data of csv file 1 2 3 1 2 3 1 2 3 1 2 3 2 3 2 3 3 the lengths should be different i have to store the data by column-wise with in the specific length. suppose the i have to...
0
by: Hystou | last post by:
There are some requirements for setting up RAID: 1. The motherboard and BIOS support RAID configuration. 2. The motherboard has 2 or more available SATA protocol SSD/HDD slots (including MSATA, M.2...
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.