Booking system

I have been asked to devise a booking system in Access97, where 15 conference rooms can be booked.  I am wondering how to go about this - what table structure etc I should be considering.

I would need to be able to uniquely identify each room.  Be able to specify a date, start time and end time of the booking.  Who the booking is assigned to would need to be included.

And probably the most interesting aspect - how to visually display the bookings.  Something like the way Project displays jobs would be really good!  ie, for each day, a line showing the currently booked periods...  

Has anyone done this sort of thing before in access?

If you have any pointers to pass on would be good..

I have assigned 100 points, but will up them if someone can give me a pretty good explanation along the lines above.

Who is Participating?
threeps99Connect With a Mentor Commented:
Thank you. I'll keep my notifications on and if you have any futher questions post them here and I'll help you out. Let me know how it goes :)
I find that booking systems are always a bit of a hassle. But, basically you gonna need :

BookingNumber  - Unique identifier for each booking
BookedRoom     - What is the booking room number
BookingDate    - The date of the booking
StartTime      - Booking Start Time
EndTime        - End Booking time
BookedBy       - Who books the room

To display it, I used a list box and few textbox/combo box controls. Have a box for date, and a combo to choose which room (or all rooms) and then the list box updates with your selection, the SQL might look a little like this:

SELECT DISTINCTROW tblBookings.BookingNumber, tblBookings.BookedRoom, tblBookings.BookingDate, tblBookings.StartTime, tblBookings.EndTime, tblBookings.BookedBy
FROM tblBookings
WHERE (((tblBookings.BookedRoom)=[cboBookingRoom]) AND ((tblBookings.BookingDate)=[txtDate]));

This is a very roundabout suggestion, if you want anymore help with shout up.


Just a comment before you start you may also want to include type of rooms or equipment in the rooms.
ex over head projector, computer, White board, etc.
Get 10% Off Your First Squarespace Website

Ready to showcase your work, publish content or promote your business online? With Squarespace’s award-winning templates and 24/7 customer service, getting started is simple. Head to and use offer code ‘EXPERTS’ to get 10% off your first purchase.

jdesharnais? What about the view from the room as well :) :)
i think he/she needs help on the design of the system and how to display/filter information! :)

I have done this before in access. You will need the following tables...


All are easy and as you would expect (ID's and text etc) except for RoomBooking*

RoomBooking needs:
RoomBookingCode (autonumber)

RoomBookingEquipment needs:

Remember -
*when double booking, you should show alternative rooms (rooms may have max no delegates etc)
*Watch for weekends/bank holidays
*Allow a batch booking, e.g. RoomA, every monday until 1/9/99 with an OHP for Mrs Brown.

To display you could you the access calender control and a subform (for the roombooking table).


Almost forgot - you will find the code easier to write then th SQL sometimes (especially for batch bookings, checking double bookings etc) - I think you wil lfind it quite a simple task in the end.

How is he/she going to display the data?

I have achieved this several ways (in order of user preference..)

1)7 large text boxes labelled sun-sat, populated with code when the user selects a date from the calendar control. This was VSlow on 486's with Access 2, but now with P5's and 97 it is fine (although VB is faster)
2)As above but with a standard subform, the link child/parent properties utilise the date for simple updating.
3)A standard query type screen with unbound fields at the top (to build the SQL string) and a subform below.

These are all cheesey, and I know using a fat line graph a'la msproject would be better, but that entails a lot of hassle when you want to click on and change a booking.
Yes. The 7 text boxes sound best, though I would argue a list box is more visually pleasing. A listbox and A calendar control sounds even better, though Active X controls are usually more hassle then they are worth in access.
Agree T99...

I have done this about a month ago. Mine also prints a reservation form for each day. It has rooms across the top and times down the side. Let me know if you want it.


What the hell kind of answer is that? Please reject that answer willink.

willlinkAuthor Commented:
Threeps - settle, settle, steady, calm down.

Now having got your blood pressure down to normal...

Gigo, thanks for your offer but threeps has a point.  Both he and SimonBennet have put quite a bit of effort in here.

Threeps you can answer this question. Simon, I will post another question for your attention, quoting your help with this question.  you can answer the second question.

thanks to all

I am settled :) , I just think its quite annoying where other experts jump in with one sentance answers. His offer of the DB was good but to post it as a answer?

>Let me know if you want it.

That means that the others in the thread cant learn from it. Im here to learn, I think the forum benefits from open discussion as me and simonbennett have been doing earlier in the thread, as oppose to "I'll send you the DB".

I dont want to talk politics here but I have seen this expert posting these kind of answers in the Access forum (plus others) and I think its not very fair on ther experts. As always though, just my opinion :)

willlinkAuthor Commented:
Yep, I can understand how you feel :)

I won't be starting this little project for a wee while yet.  But this question has helped my early thinking on how to structure things and get started.

I'll come back if needbe.

Good, let me know. I have done a few booking systems, they get better as you go on. The biggest consideration to remember is:

- What happens to a booking slot if a booking is cancelled?
- What if 2 bookings want to swap?
- How are you going to answer "Got any free slots on Thursday?"
- How to answer "Can I book every thursday for 6 weeks" (ie you dont want to maunally have to book each session)

Just a few considerations to remember, since I learnt the hard way.

Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.