View Single Post
  #28  
Old July 24th, 2006, 04:39 PM posted to microsoft.public.access.tablesdbdesign
Amy Blankenship
external usenet poster
 
Posts: 539
Default Hostel Database Setup

I am not aware if there is something like an Access Jobs board. Maybe
someone else has more information on that.

"andreainpanama" wrote in message
...
Thank you for such a detailed response but I must admit that I got lost.
I
will try to get a little further along in my thinking process and post
again.


The truth is that I think I am going to need some professional help with
this project. (someone to do it for me!) Any recommendations of how I can
get cheap development help on line?

"Amy Blankenship" wrote:

Try this:

Clients
=======
ClientID
LastName
FirstName
NationalityID

Rooms
=======
RoomID
RoomNo
NumberofBeds
etc.

RoomStay
========
StayID
RoomID
StayBegin
StayEnd

ClientRoomStay
=========
StayID
ClientID
IsMainClient

Nationalities
=========
NationalityID
NationalityName
etc.

Then you want to make a Rooms form. Insert a new subform into your Rooms
form that uses RoomStay as a data source. That will need controls for
the
stay beginning and the stay end, but the RoomID will be set by the
LinkMaster/LinkChild relationship between Rooms and RoomStay. If you
used a
wizard, it would have inserted a visible control for that field. Leave
it
on the form, but set its visible property to false. Also hide the StayID
field, since users won't need to set it.

You'll also want to insert a subform control on the RoomStay subform.
Use
ClientRoomStay as the data source for it. Its StayID will be set by the
LinkMaster/LinkChild relationship between it and RoomStay. Again, hide
the
StayID field. Leave the IsMainClient check box as is.

Now things get a little tricky. If you inserted the subform with a
wizard,
it probably gave you a control for ClientID. Select FormatChange To,
and
change it to a combobox control instead. Open the properties sheet for
the
combobox and go to the data tab. Click the ... on the row source line
and
then show the Client table. Double-click ClientID, LastName, and
FirstName
to move those fields to the query grid. Close the window, saving the
change.

Switch to the Format tab and set the column count to 3. Set the column
widths to 0"; 1"; 1".

Now click in the little box in the upper left of your ClientRoomStay
Subform. Change its default view to continuous form.

What you have will now allow you to select your clients from the combobox
and associate them with a particular stay in a room as well as specifying
if
a client is the main client. You can manually enter clients in a
different
form, or you can use the not in list event of the combobox to
automatically
pop up a new client form if the name you enter in the combobox is not in
the
database. I am not going through the steps for that here, as it has been
covered on many occasions.

HTH;

Amy
"andreainpanama" wrote in message
...
Thanks to all of you for all of your help.

I have a small backpackers hostel and I am currently working on a
database
to help me keep track of all of my guests.

These are the two basic design issues that I am running into.

Issue 1. Sometimes, there are 2 or 3 guests staying to gether in a
private
room (as opposed to individuals staying in dorm beds which are always
registered separately). Since we rent the private rooms by the room,
groups
are considered to be one booking and one stay in one room, even though
there
are three individuals. I want to keep track not only of the guest that
is
the official guest in my register (the one who pays for the room), but
the
2
people who are accompanying him. Why? Because I a) want to know how
many
different individuals have walked through my doors b) I want to know
the
nationalities of every individual and c) Many times one of the people
who
have stayed as a friend of a guest in a private room, will come back on
their
own a few days later, and then they might become the paying guest or an
individual in a dorm. Therefore, I want a way that every single person
has a
client ID number.

I have managed to do this rather haphazardly...by having a table with
the
following fields,

MAIN GUEST 1(TITLE)
clientid1
lastname1
firstname1
nationality1
etc1
FRIEND2 (TITLE)
clientid2
lastname2
firstname2
nationality2
etc2
FRIEND 3 (TITLE)
clientid3
lastname3
firstname3
nationality3
etc3

And I just go in and manually assign a number to each person. Tried
using
subforms, could't get them to work. Didn't use autonumbers because I
wasn't
sure how to deal with the following Issue 2 below.....

Issue 2. Repeat Bookings. I currently have a booking table which
allows
each guest to have a booking with dates, prices, room choice, etc. How
do
I
deal with repeat bookings of the same person? How do I structure
tables
and
forms to deal with the infinite amount of booking data that might apply
to
one guest since I have no idea if a person will come back 0 times, or 3
times
or 65 times, or if they will be in the same room the next night, etc.
How
do
I limit my table and form size? How can I pull up a client number say
55,
and then enter new booking records? Should I do this with individual
booking
tables? And once again, are my problems solve with autonumbers?


Finally, let me explain why I want this data...

To present real and true financial and marketing data to perspective
buyers
of my business.
To answer my guests questions, eg, "How many guests have you had?"
"What
country are the majority of your guests from?" "How many Swiss visitors
have
you had?" "Are most of your guests under 30?" etc.


I would really appreciate someone's opinions.


(PS, I am a relative newbie, and know nothing about programming
language.)

AndreainPanama

you can see my webpage at www.purplehousehostel.com