You are on page 1of 90

Hotel Database Management System Minor Project

Chrichtian A. Neal May 15, 2013 0


Chrichtian A. Neal

CERTIFICATE

This is to certify that this a bona fide record to the project work done
satifactorily at Uttar Pradesh by Chrichtian A. Neal (BSc IT015420102013027) of the
BSCIT10 program.

This report or the similar report on this topic has not been submitted for any
other examination and does not form part of any othe course undergone by the
candidate.

Date: May 15, 2013

Signature of Project Guide:________________________________

Satish Singh Nishant K Rai


Chrichtian A. Neal

ABSTRACT

With the rapid changing of today’s worlds in technological advancements and


information ‘over charge’ (surplus), it is yet to draw a definite conclusion that
there are no opposing forces to the inevitable change. Information and
Communication Technology (interchangeably used as IT) with a referenced grip on MIS
has bridge the gap between people and information, but it is more interesting how
information is derived at to making decisions affecting every aspect of our
individual lives. An investigative survey was done amongst some urban hotels with
in the city to captivate, to an extent, the acceptance of the change afforded by
Information Technology in a day-to-day handling of resource raw data by which
decisions are made and businesses thrive. For the setting, it was noticed that as
much as information (as a result of organized data) plays a leading role in the
businesses’ lives, just but a few would consider the finds. On a larger scale,
hotels were not managing data well or not at all, and proposing a more efficient
way of data management (considering the cost to the high advantage) was such a
constraint to hotel managers. At a reasonable timing a hotel was able to see the
need for such a change, allow a case study to improve it already partially manual
booking and cancellation process and semielectronic billing system. This project
proves a basis to elaborate that the more concise, centralize, and organized data
becomes, so will the output (information) be. It was discovered in analyzing the
developed system to the former that efficiency, timing, redundancy elimination,
productivity, feasibility, and cost reduction were prime in its objectives. Based
on this project, a closer look at the perception and the resource factor to
improving the overall goal to drive people and entities toward managing data which
plays a critical role in the decision they make, which improves or impedes
productivity but focusing on deriving an inexpressive module for the sole purpose
of managing small and medium (income generating) hotels facilities.
Chrichtian A. Neal

ACKNOLEWDGEMENT

I would like to extend special thanks and gratitude to the Human Resource Manager
of The Cape Hotel, Mr. Victor J. Whitfield, for his valuable time afforded me in
preparing the outcome of this project. Another big ‘thank you’ to my office (and
entire staff) for allowing be the peace I needed on Earth to complete this project.
Had it not been for their understand and less unlimited job requests, I wouldn’t
have been able to come to a reasonable finish.
Chrichtian A. Neal

TABLE OF CONTENT
1.
Introduction ......................................................................
.................................................................... 1 1.1
Background ........................................................................
........................................................... 1 1.2
Objectives.........................................................................
............................................................. 1 1.3 Purpose, Scope,
and
Applicability .....................................................................
............................ 2 1.3.1
Purpose ...........................................................................
...................................................... 2 1.3.2
Scope .............................................................................
........................................................ 2 1.3.3
Applicability......................................................................
..................................................... 2 1.4
Achievements.......................................................................
......................................................... 2 1.5 Organization of
Report.............................................................................
..................................... 3 2. Survey of
Technologies ......................................................................
................................................... 4 3. Requirements and
Analysis ..........................................................................
......................................... 8 3.1 Problem
Definition: .......................................................................
................................................ 8 3.2 System
Analysis: .........................................................................
................................................... 8 3.2.1 Cape Hotel system at
the moment runs as
follows: ........................................................... 10 3.2.2
Problems faced with system at Cape
Hotel ........................................................................ 10
3.3 Planning and
Scheduling ........................................................................
..................................... 11 3.4 Software and Hardware
Requirements:......................................................................
.............. 12 3.4.1
Computer ..........................................................................
.................................................. 12 3.4.2
Printer ...........................................................................
...................................................... 12 3.4.3 Software
Requirement: ......................................................................
................................. 12 3.5 Preliminary Product
Description .......................................................................
.......................... 13 3.5.1 End users
requirement........................................................................
................................ 13 3.5.2 Hotel
information........................................................................
........................................ 13 3.6 Conceptual
Models: ...........................................................................
......................................... 15 3.6.1 System
flowchart: ........................................................................
....................................... 16 4. System
Design ............................................................................
......................................................... 17 4.1 Data
Design ............................................................................
..................................................... 17 4.1.1 Integrity and
Constraints .......................................................................
............................. 17 4.1.2 Normalization of
entities ..........................................................................
.......................... 18 4.1.3 Entity Relationship Diagram (ER
Diagram)..........................................................................
21 4.1.4 Functional
Dependencies ......................................................................
.............................. 22 4.2 Basic
Modules: ..........................................................................
.................................................. 23 4.2.1 Form
prototype .........................................................................
................................................. 23 4.3 User Interface
Design:............................................................................
..................................... 31 4.3.1 Main
menu ..............................................................................
............................................ 32 4.3.2 Entity Relationship Diagram
(ERD) .............................................................................
......... 38 4.4 Security
Issues: ...........................................................................
................................................. 43 4.4.1 User
Identification.....................................................................
.......................................... 43 4.4.2 Network
Access ............................................................................
....................................... 43 4.4.3
Recovery...........................................................................
................................................... 43 4.4.4 Malware and
Intrusion .........................................................................
............................... 43 5. Implementation and
Testing ...........................................................................
.................................... 44 5.1
Coding: ...........................................................................
............................................................. 44 5.1.1
Forms: ............................................................................
..................................................... 44 5.1.2
Form_CreditCard ...................................................................
.............................................. 47
Chrichtian A. Neal 5.1.3
Form_Customer .....................................................................
............................................. 48 5.1.4
Form_Menu .........................................................................
............................................... 48 5.1.5
Form_Report .......................................................................
................................................ 50 5.1.6 Form_Room
Available .........................................................................
................................ 52 5.1.7
Queries: ..........................................................................
..................................................... 52 5.2
Switchboard: ......................................................................
......................................................... 54 5.2.1 Switchboard
codes: ............................................................................
................................. 55 5.3 Testing
Approach ..........................................................................
.............................................. 59 5.4 Modifications and
Improvements:......................................................................
........................ 61 6. Results and
Discussion ........................................................................
................................................ 62 6.1 Test
Reports: ..........................................................................
..................................................... 62 6.2 User
Documentation: ....................................................................
.............................................. 63 7.
Conclusion ........................................................................
................................................................... 73 7.1
Limitations of the
System: ...........................................................................
............................... 73 7.2 Future Scope of the
Project ...........................................................................
............................. 74
REFERENCES ........................................................................
.................................................................... 75
APPENDIX ..........................................................................
.......................................................................... 76
GLOSSARY
Term Definition

Data handling

the process of ensuring that research data is stored, archived or disposed in a


safe and secure manner during and after the conclusion of a research project. This
includes the development of policies and procedures to manage data handled
electronically as well as through non-electronic means (receptionist) an employee
that performs the duties of receiving guests (booking), visitors, and answer phone
calls. is a line of business accounting software developed and marketed by Intuit.
is the apartment or room located at the top floor of a building usually expensive
for very high executive. is tool kit used by programmers which allows program with
the help of MS Office-embedded Visual Basic (VB) tools to create a Graphical User
Interface (GUI) to include command buttons to drive the SAS session.

Front desk

QuickBooks

Penthouse

Switchboard

ABBREVIATIONS
The following project-specific and general technical abbreviations are used:

AIX CUI FD GUI HACMP

Advanced Interactive eXecutive Character User Interface Functional Dependency


Graphical User Interface High Availability Cluster Multiprocessing
i
Chrichtian A. Neal

HR IBM IEC ICT ISO MS MSXML ODBS OLTP OS PC RAC RDMS SAS SDLC SOE SP3 SQL TPC-C T-
SQL VBA VSC XP

Human Resource International Business Machine Corporation International


Electrotechnical Commission Information and Communication Technology International
Organization for Standards Microsoft Microsoft eXtensible Markup Language Open
Database Connectivity On-Line Transaction Processing Operating System Personal
Computer Real Application Clusters (RDBMS) Rational Database Management System
Statistical Analysis System Software Development Life Circle Standard Operating
Environment Service Pack (version 3) Structural Query Language Transaction
Processing Performance Council Transact- Structural Query Language (VB)Visual Basic
Application Vision Control System eXPerience
1. Introduction
This project provided a stimulus recipe of an investigative summary researching the
productivity afforded by employing the use of technology in helping make the most
out of our day to day situations. I goes further to dissect the SDLC in putting a
solution to the problem found with the intended to alleviating the fear relating to
cost that incur trying to take this worthy venture. The rest of the chapters will
elaborate more details findings and methods taken to resolve the problem found.

1.1 Background
This project document was done for The Cape Hotel after a feasibility done amongst
6 hotels with the urge to use ICT a productivity tool. A number of these hotel
shares, interesting, similar fate for the fear of welcoming a system to improve the
accuracy of decision made as a result of proper data storage and date manipulation.
One would deduce the fear being budgetary constraints, human resource drawback,
amongst other. In view of these facts, a turn-about phase after noticing some of
the mentioned negative perception on what ICT has to offer these hotels, a system
that incorporates very low and medium income generators (hotels) was focused upon.

1.2 Objectives
This guide seeks to create a database management system which will ease the burden
on the management of The Cape Hotel in making hotel reservations, maintaining
guests’ records, check rooms availability per dates, and bill customers as per
afforded services in a timely fashion, and gradually wipe-out a manual excel
spreadsheet ‘insert, merge and highlight’ reservation system. The project will also
work out the modality regarding the cost efficiency factor to drive more hotel
management see the need and the greater advantages there are in welcoming
technology play a key part in handling all of their today’s information from
scratch to finish.
1
Chrichtian A. Neal

1.3 Purpose, Scope, and Applicability


1.3.1 Purpose
This paper serves to provide a model for the developing and implementation a
userfriendly (GUI) and easy to use, without much provision of support, RDMS system
for a small and medium hotel managements to meet its overall hotel management
needs.

1.3.2 Scope
This paper might find itself useful by following the sequence of procedures which
are applicable in the modeling of other similar RDBMS systems (to suite users’
need) for the purpose of data handling. It ceases functionality when considering
enormous work circle of integrated heterogeneous hotel systems.

1.3.3 Applicability
This paper implementation, that which is the outcome, would be used at the front-
desk, other serves terminals and for administrative use at Cape Hotel, and is also
applicable to other similar small and medium size hotel facilities. Further
development of this project is opened to more research for improvements for
scalable entities.

1.4 Achievements
A significant achievement has been gained as a result of a fully on-hands
participation and implementation of this project. More notable the importance of
the SDLC played a strategic role in road mapping difficulties to a more manageable
piece of achievability. The strain and stressed faced by programmers and the
limitation of time factor which impedes high efficiency of application was
understood, and the question to why technological ‘problems’ would not cease to
exists was answered by the need for further improvement (updates and patches).
2
Chrichtian A. Neal

The project in itself is a hallmark which encourages deterred low income hotel
system would embrace a more meaningful data system tool for collation, analysis,
and decision based productivity. The financial constraint factor has been
eradicated to a far and better more agreeable level of a success story.

1.5 Organization of Report


This project provided a stimulus recipe of an investigative summary researching the
productivity afforded by employing the use of technology in helping make the most
out of our day to day situations. I goes further to dissect the SDLC in putting a
solution to the problem found with the intended to alleviating the fear relating to
cost that incur trying to take this worthy venture. The rest of the chapters will
elaborate more details findings and methods taken to resolve the problem found.

3
Chrichtian A. Neal

2. Survey of Technologies
It is increasingly vertiginous to database application developers when it comes to
developing and implementing database applications as there are numbers of
platforms, languages, frameworks and other technicalities (as may be specified by
user) to choose from. Many database developers might find it tedious making a
selection as per their own needs or needs of client when putting many factors into
play. Here are some database platforms and their developers:          MS
Access MS SQL Oracle Informix Sybase TeraData DB2 MySQL PostGreSQL Microsoft
Corporation ISO/IME Oracle Corporation IBM Berkeley, California IBM MySQL AB
(subsidiary of Oracle Corporation) PostgreSQL Global Development Group

Basically, the choice of database developers should be prone to questions like: who
is the user, what is the size of data (or organization) to be stored and, what kind
of business activities in line with available requirements, reliability, stability,
maintenance issues, which OS platform would the application be running on, how much
is budgeted by the user for such initiative, whether the need for an increase in
the scope of the system will emerge soon, and many others. When only looking at
inputting of data for information purpose, reference information, or an alternative
backup for data storage instead of saving such information in a file format, then a
selection of any of the above mention RDBMS platform (with distributive system
support) would do just good if considerations are not given to issues that concerns
latency, slowness of I/O, locking/blocking, and so on. However, when the need
arises for a database to play a more critical role (OLTP) in a business-critical
system, and the need to incorporate features such as no-down-time, high
availability, clustering, reliability, point-in-time recovery, scalability (for
both performance and data volume), replication for disaster recovery and reporting
purposes,
4
Chrichtian A. Neal

with extreme high speed and low latency (HPC), then such case will probably need an
RDBMS with enterprise solution features, which will incur high cost.
Table 1: Database platform comparison HA Clustering Features MS SQL
Cluster provides HA failover but no load balancing

High performance/low latency/In memory DB

Scalability/ Performance
since it only supports Active/Passive mode (instance wise), there is no scalability
at the instance level. There has to replacement of the whole cluster (or pair by
pair), if the existing hardware has been throttled if the existing hardware cannot
keep up with the performance requirement, A simple adding of a beefier box to the
cluster and gradually replace all other nodes, which protect our existing
investment better.

Replication

Oracle

RAC is the best for HA clustering and load balancing and scalability

provides TimesTen inmemory database

has log shipping and database mirroring for warm/standby DB solutions


(active/passive, r/w and read-only), and it supports transactional replication with
the granularity at the article/object level (per table) One of the best ways for
database cloning and one of the best DR solutions (using RMAN)

Informix Sybase

ASE 15 Cluster achieves the same thing as Oracle RAC is a networked/distributed DB


platform since birth works very well with IBM’s pSeries/Power server running AIX
HACMP(High Availability Cluster Multiprocessing), and Veritas VCS/Sun Cluster (see
table 2) Cluster claimed higher TPC-C performance benchmarks than Oracle RAC

provides ASE in memory database

Sybase has the best replication solution, which out performs Oracle's Data guard

TeraData DB2

MS Access MySQL

cluster uses an in-memory storage engine

cluster also supports adding nodes to the cluster with all nodes being active, but
it is a share nothing cluster. More nodes mean more copies of databases, more
storage and more network traffic for data replication among all nodes in the
cluster.

provides shared nothing cluster, which basically is synchronous replication among


all active nodes. And its asynchronous replication also supports at the transaction
and object level

PostGreSQL SQLite or eXtremeDB

5
Chrichtian A. Neal
Table 2: Microsoft Access analysis Access
Concurrent Users

Advantage
Access was designed to operate on a network. Microsoft says that the latest version
will support 255 concurrent users, however in practice it is recommended a
comfortable limit of 15 to 20 simultaneous users.

Disadvantage
it is a more practical choice to select Access when the database will be used by
only 15 to 20 simultaneous users. If more than 20 users try to gain access to the
database, performance and response time may begin to suffer Whenever various
Windows operating systems like Windows 98, Windows ME, Windows 2000, Windows XP, or
Windows Vista are used to access the same database, the database may experience
corruption issues. It is recommended that all Access users are operating with the
identical operating system. A new user to software development may find that they
are a bit overwhelmed when using MS Access. In order to maximize the potential of
Access, a thorough understanding of relational database design along with VBA
coding is highly recommended. As with any software development tool, the ease of
screen use, database performance, automation of data input, and report quality
relies on the skill level and experience of the developer If sensitive data needs
are required like storing health and medical records, financial information,
academic records or employment data, for example, it will require more extensive
database security than Access can offer Microsoft Access does have a few
limitations. Access was not designed to be used with applications that are web
based since its forms and reports are only functional in a Windows environment and
are not compatible with an internet browser like Internet Explorer. The Access Jet
database that is used by Microsoft Access is a file based system and does not
contain the server features that are available in SQL Server, Oracle or other ODBC
compliant databases. Access databases are more suited for web based solutions when
the number of users is small or when the users are just viewing data rather than
editing or deleting Unfortunately, Microsoft Access is not designed to operate on
Apple Macintosh computers. Since Access is commonly used in many businesses that
use PC’s, Microsoft does not have any future plans to expand the database to be
functional on a Mac

Multiple Windows Operating Systems Novice User – Design and Development One can use
Microsoft Access for Rapid Application Development thus keeping costs down. Its
object oriented model means it can build attractive, functional and easy to use
applications in double-quick time.

Sensitive Data Needs/Security

Internet

Access (2000 and later version) has close web links so online data access is made
easier. With a shift towards e-commerce, Access’s web integration could prove very
useful, if not now, then sometime in the near future.

OS

Cost

Benefits

Scalability

Access Database has that familiar Windows ‘look and feel’. MS Access is one of the
best-selling desktop databases of all time. As such the future support is ensured,
and with Microsoft’s backing it should be around for some time. The key advantage
of Access Database is it comes packaged with Microsoft Office Professional -
already be part of the SOE. Flexibility is the key with Access. Knowing that not
everyone is skilled at making databases, Microsoft created basic templates that a
user can go and use immediately. However, a database can be built from scratch or
the templates can be tweaked as needed to fit needs. Rather than inputting each
record every time a project is started, Access holds thousands of records for
revisit whenever needed, making it a time-saver, too. This is great because not
only is the information there, but it can be used alongside other Microsoft
programs such as Word. Simply create a mail merge with thousands of letters and
join it together with the Access database. All contacts will be pulled from Access
and dumped into each letter separately. Interaction between MS Outlook is possible
too: Import contacts from MS Outlook contact book into Access or export contact
information in Access and save it as a contact in Outlook. Access has an upgrade
path. So, if performance starts to suffer from an ever increasing number of users
or records, it can be upsized to SQL Server.

6
Chrichtian A. Neal

Based on the survey conducted and the options provided by available platforms to
undertake this project, the first pick was a backend SQL database running multiple
TSQL statements with a user-friendly frontend VB, but with constraint of time and
compelling handiness as much as possible with not much disfavor to those necessary
inputs as provided by the need of the client (The Cape Hotel), MS Access was deemed
suitable for the implementation of the project.

7
Chrichtian A. Neal

3. Requirements and Analysis


3.1 Problem Definition:
The Cape hotel has two systems for storing and gathering information upon
reservation and other requests. Due to ambiguity and cumbersomeness of their
systems in use, they desire a more robust system to alleviate the complexity of
working with a manual and half electronic automated system for the production of
desirable results. The system will store details about guest, make booking of
available rooms, price calculation and make billing report.

3.2 System Analysis:


A meeting with the HR manager (Victor Whitfield) of the Cape Hotel to find out the
inner working of his system was scheduled. To get more information about his
current systems and procedures, questions asked where:
Question: What system do you use for managing your hotel regarding room reservation
and billing and the related? Victor: We have an Excel spreadsheet with all the
booking. We print it and manually shade with a highlighter to book room/dates and
monitor. Question: So, there isn’t an automated system for doing what you’ve just
explained? Victor: We do have the Omega system but we don’t use it for that
purpose. We use it for acquiring bills from the other terminals for grand totaling.
Question: Why are you not using a system you’ve purchased to do the work in a more
simplified manner? Victor: I meet the system here, and no one actually said
anything about how efficiently the system must be handled. I was told that only the
billing aspect of the software was in use before my incumbency. Question: How are
booking done? Victor: We most times get booking by emails, and at times phone
calls. As per the date in question for booking, the booking chart printed from the
Excel spread sheet is checked,
8
Chrichtian A. Neal

and based on the information available we inform guests on available types of


rooms, pricing, and if not, then the future available dates of vacant rooms.
Question: How are booking cancellation done? Victor: The merged Excel cells are
unmerged upon cancellation, and the already printed sheets are remerged with white-
off. Question: It seems a bit of a headache but considering what you’ve just
explained, have you ever experienced a time where complications or humanly errors
with booking or cancelation occured? Victor: Very often. At times if cancellation
is done on the spreadsheet by the receptionist and not followed up to be changed in
the excel sheet. We do over-book or misinform guest with no vacant rooms. The most
difficult task is tracing dates of all future available rooms. Question: How do you
create invoices or bills for guests? Victor: We tabulate all bills from other
service points, sum from excel spreadsheet total days, and use our QuickBooks
system to print out invoices. Question: As the HR manager, what is your own level
of proficiency with computers and peripherals and that of other staff at front-desk
and terminals? Victor: I am an advanced computer user, and the rest of the front-
desk staff are all computer basics for the minimal. Question: What are the computer
devices and accessories you have here? Victor: As you can see, this office has two
desktop PCs (HR and Finance Managers) and these HP printers are inter-networked
between my computer and the finance manager. The front-desk has a desktop PC and a
printer. And the restaurant has a desktop PC for entering data via the Omega.
Question: What operating systems are you using on your computer? Victor: We have
Windows XP on our computers. Question: What do you have in your budget for the new
system to be implemented, if I should want to know? Victor: I can’t say much but I
can assure you that we run under a $5,000.00USD budget for sort of improvement
until we can move in new building in June.

9
Chrichtian A. Neal

Question: So, you’ll be moving in a new building by June. How long will the process
of moving out take? Victor: Two weeks definite.

3.2.1 Cape Hotel system at the moment runs as follows:


Reservations are done via email or phone call to the front-desk and the details are
entered either into a manual chart and later updated into the excel spreadsheet.
Cancellations are made by whiting out the colored-merged cell and unmerging merged
cell in the spreadsheet. Room preparation instructions for the room to be made
ready daily are hand written with the information gained from the chart. Customer
bills are calculated from multiple sources.

3.2.2 Problems faced with system at Cape Hotel


Searching for available rooms can be time consuming. Rooms could be booked twice.
Issuing of the days instruction is prone to mistake (eg: room cleaning). Changes
are hand correct and follow up to be updated which is also prone to mistake by
forgetfulness. Calculating costs is also prone to error.

10
Chrichtian A. Neal

3.3 Planning and Scheduling

Table 3: Simulated Gnatt chart


ID
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 Task Procedures Duration
wk1 wk2 wk3 wk4 wk5 Wk6 Wk7 Wk8 Wk9 Wk10

Begin project Survey 1 - 6 Phase1 –Forms dev. Phase2 –Table creation Phase3 –
Coding/link entities Phase4 –Creating validation Phase5 –integrating forms Phase6 –
Testing validation Phase7 –Debugging errors Phase8 –Creating queries Phase9-
Testing validation Phase10-Modifying queries Phase11-Debug SQL statements Phase12-
Creating Report design Phase13-coding (SQL & VB) Phase14-overall integration
Phase15-overall debugging Phase16-modification (CUI/GUI) Phase17 Integrated Testing
Phase18: Modification to suite spec Phase19: Testing and debugging Finish:
implementation 3days 2days 4days 8days 2days 1day 6days 14days 3days 6days 2days
5days 1day 8days 5days 4days 1day 5days 4days 5days

11
Chrichtian A. Neal

3.4 Software and Hardware Requirements:


Hardware Requirement: (minimum)

3.4.1 Computer
     

500 MHz processor or more 512 MB RAM Drive CD-ROM or DVD drive 300 MB of available
hard-disk space. Display 1024x576 or higher resolution monitor Graphics hardware
acceleration requires a DirectX 9.0c graphics card with 64 MB or more video memory.

3.4.2 Printer

Any Deskjet or LaserJet printer would do (the HP LJ1008 already in place would work
perfectly)

3.4.3 Software Requirement:


    

Microsoft Windows XP SP3 (32bits) Microsoft Access 2003/2007/2010 Microsoft .NET


Framework 3.5 MSXML 6.0 Antivirus software

12
Chrichtian A. Neal

3.5 Preliminary Product Description


The new hotel reservation system should be able to meet the following requirements:
    

keep the records of the guests and the room booked to them the system should be
able to ease the cancellation of bookings made earlier guest should be able to know
the availability of the rooms on a particular date. the record of food and services
availed to the customer should be kept. the system should be able to generate the
bill for a customer who wants to checkout.

3.5.1 End users requirement


      

reduction in paperwork and other resources needed production of reports and lists
easy to use faster means of booking and cancellation store records on all customer
orderly for easy access produce accurate bills single clicking in system rather
than double clicking

This MS Access hotel database management system would require user with a minimum
knowledge of computer basic in Microsoft Office Suite. Front-desk, restaurant, and
business (accounts) offices are the three (3) interactive users of the system. User
will decrypt database upon program startup and then be able to make data entry,
information inquiry or report printing. The entire system is menu driven and
provides easy-to-use functionality.

3.5.2 Hotel information


   

Guests are billed by per person on pay-per night basis (24 hours) There are 5 types
of rooms available and 2 conference rooms. The hotel has two sections with 3 floors
including penthouse suites. All rooms have a safe box for valuables, phone line,
TV, but Internet access, satellite TV, game console, and Crib (available in family
suites only) has to been requested due to additional cost. 75 rooms in total :
13
Chrichtian A. Neal
     

1 penthouse suite (room #200) 7 junior suites (room #191 - #197) 10 double suites
(room #170 - #180) 15 family suite (room #151 - #165) 42 single suites (room #101 -
#142) 2 conference rooms (room #11 & #22)

Table 4: Pricing chart:

Single Family Double Junior Penthouse Executive Junior

$150.00 $350.00 $300.00 $275.00 $700.00 $50.00/hr $30.00/hr $10.00/hr

Rooms

Meal options Breakfast Full meal Other options Satellite TV Gaming console Internet
Crib

$15.00 $30.00

Conference

$10.00/night $7.00/night $5.00/night $10.00/night

Service staff

NOTE : The currency is restricted to the United States Dollars (as used in Liberia
for business transactions)

14
Chrichtian A. Neal

3.6 Conceptual Models:

The system with act a mediatory role between guest request and front-desk
(receptionist) in the process of providing rational information based on stored
data. Guests will be afforded provision to make booking(s) and based on
availability of request they will also be able to make booking, and on a later date
due to reasons best known to guest also be able to request cancellation of booking
make.

The front-desk is left with the rest of the task, to query for information to make
wise decision based on the request of guest. Booking will be done if provisions are
met. Cancellation will be made if guest finds it unnecessary to buy the services,
and checkingin of new guest and checking-out of guest after expiration of stay will
be done by the front-desk. The internal process provides booking, check-in, and
check-out information to front-desk based on guests’ request or inquiry.

15
Chrichtian A. Neal

3.6.1 System flowchart:

Figure 1: ER diagrams

16
Chrichtian A. Neal

4. System Design
4.1 Data Design
4.1.1 Integrity and Constraints
The system is going to be menu driven will backend data into a database inform of
tables. See table below:
Table 5: Data Dictionary Field Name Data type

CustomerName Address PostCode TelephoneNo BookingID Arrival Checkout RoomNo


PricePerNight RoomType Crib SatelliteTV GamesConsole InternetAccess Breakfast
FullMeals PaymentMethod CreditcardNo CreditCardExpdate

Text Text Text Text AutoNumber Date/Time Date/Time Number Currency Drop Down menu
Yes/No Yes/No Yes/No Yes/No Yes/No Yes/No Drop Down menu Test Date/Time

These are attributes identified for the implementation of the system table
structure, but first we will have to normalize this structure for efficiency and
redundant alleviation; yet setting a defined relationship with normalized entities.
Field Name Data type

CustomerName Address PostCode TelephoneNo

Text Text Text Text

Customer Table

17
Chrichtian A. Neal

BookingID Arrival Checkout RoomType CribRequired SatelliteTV GamesConsole


InternetAccess Breakfast FullMeals

AutoNumber Date/Time Date/Time Drop Down menu Yes/No Yes/No Yes/No Yes/No Yes/No
Yes/No

Booking Table

PaymentMethodID AutoNumber PaymentMethod Drop Down menu CreditcardNo Test


CreditCardExpdate Date/Time RoomNumber RoomType PricePerNight Number Text Currency

Payment Method Table

CreditCard Table

Room Table

4.1.2 Normalization of entities


Additional attributes were derived to make the tables more meaningful which
includes the smallest of its attributes, for example the address attribute is
broken down in address line 1, address line 2, and Town.

Table 6: Customer Field Name CustomerID FirstName Lastname AddressLine1


AddressLine2 Town PostCode Telephone CreditCardNumber PaymentMethod Data Type Auto
Number Text Text Text Text Text Text Text Number Text Field Size/Key Primary Key 50
50 50 50 50 [input mask] (10) [input mask] (10) Foreign Key 50

18
Chrichtian A. Neal

Table 7: Booking Field Name BookingID Arrival Checkout CustomerID RoomNumber


CribRequired(nights) SatelliteTVRequired (nights) GamesConsoleRequired(nights)
InternetRequired(nights) HoursRequire StaffRequired BreakfastRequired
FullMealsRequired PaymentMethod Data Type Auto Number Date/Time (short date)
Date/Time (short date) Number Number Number Number Number Number Number Number
Number Number Text Field Size/Key Primary Key NA NA Foreign Key Foreign Key NA NA
NA NA NA NA NA NA Foreign Key

Table 8: Credit card Field Name CreditCardNumber ExpiryDate CardHolderName Data


Type Text Text Text Field Size/Key Primary Key (25) Short date (6) 50

Table 9: Rooms Field Name RoomNumber RoomType PricePerNight CribAvailible


SatelliteAvailible GamesConsoleAvailible InternetAvailible Data Type Number Text
[combo box] Currency Yes/No [check Yes/No [check Yes/No [check Yes/No [check Field
Size/Key Primary Key ["Single";"Double";"Junior";"Family";"Pen thouse";"Conference"
NA NA NA NA NA

box] box] box] box]

Table 10: Payment Method Field Name PaymentMethodID PaymentMethod Data Type Auto
Number Text [List box] Field Size/Key Primary Key (25) NA

19
Chrichtian A. Neal
Table 11: Validation Table Booking Field Name Arrival Validation rule Not Between
#01/06/12# And #15/06/12# * Validation text “Hotel is close until relocation is
over”

* The HR manager did talk about the hotel closure for relocation the first 2 weeks
in June 2012

Table 12: Input (using input masks) Table Customer Customer Field Name PostCode
Telephone Validation rule >LL00\ 0LL;;_ \(9999)”999999;;_ Place holder _ _

Table 13: Queries Table Rooms Reserved Criteria PARAMETERS [Please enter arrival
date] DateTime, [Please enter checkout date] DateTime; SELECT Booking.Room,
Booking.Arrival, Booking.Checkout FROM Booking WHERE ((Booking.Arrival) Between
[Please enter arrival date] And [Please enter checkout date]-1)) Or ((([Checkout]-
1) Between [Please enter arrival date] And [Please enter checkout date])) Or
((Booking.Arrival)<[Please enter arrival date]) And (([Checkout]-1)>[Please enter
checkout date]-1)); SELECT Rooms.RoomNum FROM Rooms LEFT JOIN [Rooms Reserved] ON
Rooms.RoomNum=[Rooms Reserved].Room WHERE ((([Rooms Reserved].Room) Is Null)); None
(combines Rooms Available query and Rooms table of Staff, Breakfast, Set Meals,
Arrival, Checkout Fields & table to include Booking Reports produced No

Checks room availability (uses Rooms Reserved Query

Rooms table & Rooms Reserved query

No

Rooms Available and Room type Invoice details for a report

Rooms table and Rooms Available Booking, Rooms Credit Card Number, FirstName,
Surname, Address line 1, Address line 2, Town, Postcode, Telephone Number, Booking
ID,

No Yes

20
Chrichtian A. Neal
Customer Number, Room Num, PricePerNight, Crib, Satellite TV, Games console and
game hire, Internet Access, , Number of hours needed, Number Bookings, Rooms Room
type, Arrival, RoomNum Bookings, Rooms, Room type, checkout, Room Num Bookings,
Rooms RoomNum, Room Type, Arrival, Checkout Rooms RoomNum,Type,Intenret,Cot, meals,
Breakfasts, games console, satalite

Which rooms need cleaning or preparing for new guest Which rooms need cleaning for
guest departure Daily Room Clean

Arrival=Date()

Yes

Checkout=Date()

Yes

Yes

Rooms Query (shows the features available in the room

RoomNum [Enter Room Number]

4.1.3 Entity Relationship Diagram (ER Diagram)

Booking
BookingID Arrival Checkout CustomerID RoomNumber CribRequired SatelliteRequired
GamesRequired InternetRequired HoursRequired ServiceStaffRequired FullMeals
Breakfast PaymentMethod

Customer
CustomerID FirstName SurName AddressLine1 AddressLine2 Town PostCode Telephone
CreditCardNumber PaymentMethodID

CreditCard
CreditCardNumber Expiry Date CardHolderName

Rooms
RoomNumber RoomType PricePerNight CribAvailable SataliteTVAvailable
GamesAvailalable InternetAvaliable

Legend Primary Key Foreign Key

PaymentMethod
PaymentMethodID PaymentMethod

21
Chrichtian A. Neal

4.1.4 Functional Dependencies


The Entity Relationship diagram above depicts the following: 1. that In all tables
attribute values are atomic, each with their own primary key necessarily making it
into first normal form(1NF) 2. all tables have no partial dependency and in that a
relationship was created between tables employing foreign keys to put them in the
second normal form (2NF), yet with a transitive dependency amongst the Customer,
Booking, and Payment Method tables. 3. There is a transitive dependency between
PaymentMethod and booking tabled , so they are NOT in 3NF. 4. All tables are also
in BCNF because all FDs contain only primary key (which is of course superkey)
corresponding to their respective relation.

22
Chrichtian A. Neal

4.2 Basic Modules:

4.2.1 Form prototype


Database structure main menu

Hotel Logo Check room availability

Add new customer record

Reports: -daily cleaning -rooms for cleaning -invoices, etc Booking/ reservation

Add credit card information

Exit button

Booking Form

23
Chrichtian A. Neal

4.2.1.1 Startup main menu

Hotel Logo

Command buttons

Check Room Availability

View/ Add Customer Records

Labels

View/ Add Credit Card Records View/ Add Booking

Reports

Exit

24
Chrichtian A. Neal

4.2.1.2 Check Room Availability Form


Room Availability For caption/ title bar List box (From the rooms and room type
query – displays the rooms and types/ according to date entered in query)

System scrollbar

25
Chrichtian A. Neal

4.2.1.3 View/ Add Customer Record Form


Customer Details

First Name Last Name Address Line 1 Address Line 2 Town/City Postcode Telephone
Payment Method Credit Card Type

ID: To Add a new customer, click 'Add Customer' Button. To delete a customer, press
the button with the rubbish bin on. To Navigate the Customer Records, use the
arrows to cycle through.

Instructions (label) – visible on screen

Add Customer

Go to Booking

Delete button (Deletes current customer record)

Navigation buttons (to flip between records) Creates new Booking (add new record)

Combo box (shows credit card numbers)using lookup wizard

Combo box (shows payment method : “Cash” or “Credit card”). It also enables the
credit card combo button if payment method = “creditcard”

26
Chrichtian A. Neal

4.2.1.4 View/ Add Credit Card Record Form


Credit Card Entry Form
Card Number Expiry Date Card Holders Name To Add a new Credit Card, click 'Add
Credit Card' Button. To delete a Credit Card, press the button with the rubbish bin
on. To Navigate the Credit Cards, use the arrows to cycle through.

Add new credit card record button

Add Credit card

Onscreen instructions

Delete current record

Navigation bottom

4.2.1.5 View/ Add Booking Form


Booking Form
Command button to run Room availability form

Arrival Checkout Room Customer ID

mm/dd/yyyy mm/dd/yyyy

Room Availability

101 24

No. of NightsCrib Required No. of Satellite Required No. of Game Required

0 0 0

27

Features Available in Rooms

To Create a new Booking, click on the 'New Booking' Button below. To Delete the
current Booking, click the rubbish bin button. To navigate the bookings, click the
arrows to cycle through the bookings

Instructions (label) – visible on screen


Chrichtian A. Neal

Notes on Booking form: 1. Room: Drop down combo box (Lookup wizard) showing the
Room Number, Room type and Price Per Night (from the Rooms table). 2. Customer ID:
Drop down or combo box (Lookup wizard) showing the Customer ID, First Name, Last
Name and Postcode (from the Customer table). This enables the user to easily see
which customer they are using. (the other details are hidden once the Customer
number is selected). 3. Payment Method: Drop down combo box (Lookup wizard) allows
the payment type “Cash” or “CreditCard” to be entered in the payment method table.

Additional notes (for the rest of the forms):

28
Chrichtian A. Neal

Most of the data entries fields have help text (controlTip Text), so that when the
user hovers the pointer over an icon/button, a brief description is displayed as
tip.

4.2.1.6 Invoice Design

Table 14: Query to get the Report Query Description Invoice Criteria RoomNumber =
[Enter Room Number] Checkout = date() Fields & table to include SELECT
Booking.Arrival, Booking.Checkout, Rooms.RoomNum, Rooms.RoomType,
Rooms.PricePerNight, Booking!CheckoutBooking!Arrival AS NoOfNights,
[NoOfNights]*Rooms!PricePerNight AS AccomodationCost,Booking![SataliteRequired(ni
ghts)]*10 AS SatelliteTV, Booking![GamesRequired(nights)]*7 AS GamesConsole,
Booking![InternetRequired(nights)]*5 AS Internet, Booking![CribRequired(nights)]*10
AS Crib, Booking!FullMeals*30 AS FullMeal, Booking!Breakfast*15 AS Breakfast,
[AccomodationCost]+[SatelliteTV]+[GamesConsol e]+[Internet]+[Crib]+[FullMeal]+
[Breakfast]*0 .07 AS TotalVAT FROM Rooms INNER JOIN Booking ON Rooms.RoomNum =
Booking.Room WHERE (((Booking.Checkout)=Date()) AND ((Rooms.RoomNum)=[Enter Room
Number])); Reports produced Yes

4.2.1.7 Design of the report form

Customer Invoice Hotel Logo


Arrival: mm/dd/yyyy Room: Room No : xx Room Price /night : xx No. of nights
stayed : xx Room Type: xxxx Checkout: mm/dd/yyyy

Accommodation cost: xx Services upon request: Satellite TV : xxxx GameConsole: xxxx


29
Chrichtian A. Neal

4.2.1.8 Queries Reports


Query Layout

Daily Room Cleaning Rooms to Prepare for Guests arriving Rooms to Prepare for
Guests leaving

Columnar (sorted ascended by room date) Columnar (sorted ascended by room date)
Columnar (sorted ascended by room date)

30
Chrichtian A. Neal

4.3 User Interface Design:


The design provides use a group of buttons driven by event handlers to ease
transactions within the system. The database is mapped to the desktop of the
user(s) computer. It requires a user’s name and password (as provided by the
database administrator – which can be created in the ‘Users and permission’ tab of
MS Access) to decrypt the database for interaction.

User name and password authentication window

When user name and password is authenticated, and second screen requesting database
password with prompt user:

Upon authentication with then the main menu is displayed. See on next page:

31
Chrichtian A. Neal

4.3.1 Main menu

32
Chrichtian A. Neal

Quit button: Exit with saving

Command buttons: linking different forms

4.3.1.1 Room availability form

The criteria set for the provision of this form would require the arrival and
checkout dates of guest to determine consistency in avoiding over-booking.
Parameter prompt input boxes:

Arrival date

checkout date

Certifying the input criteria above would render the available rooms as shown
below:

33
Chrichtian A. Neal

The rooms displayed is based on the dates Input as in this case 12/03/12 and
13/04/12)

34
Chrichtian A. Neal

4.3.1.2 Customer form


Customer ID number

Onscreen instructions

Shortcut button back to Booking form

Delete existing record button

Navigate between records buttons

Add new record button

4.3.1.3 CreditCard form

Onscreen instructions

Add new credit card detail button

Booking form

Deleted credit card button

Navigate button to view existing details

35

Command button to check availability of rooms (see Room availability form)


Chrichtian A. Neal

Combo box to select payment method: ‘Cash’ or ‘Creditcard’

Command button resets displayed details to allow new input data. It store new input
when clicked

Command button to delete already stored data in database relating to booking. Let’s
call it cancelation

4.3.1.4 Features available in room table

User is prompted to input room in question to proving a list of available features.


Feature could also be added from same table upon request.
Room 170 available features:

Room 170 was validated for query

36
Chrichtian A. Neal

4.3.1.5 Report forms

Command button for various forms

37
Chrichtian A. Neal

4.3.2 Entity Relationship Diagram (ERD)

Live samples:

38
Chrichtian A. Neal

Total cost for nights stayed

Breakdown cost for other services

Total (accommodation + services)

7% GST total

Grand total

39
Chrichtian A. Neal

Room type and number

Guest check out date

Guest check in date

40
Chrichtian A. Neal

Room type

Date of arrival

Room number

41
Chrichtian A. Neal

42
Chrichtian A. Neal

4.4 Security Issues:


4.4.1 User Identification
This project runs very minimal on high-level security provision based on the scope
of operation of the client and its operational size. The database is password
encrypted and decryption is done when a valid password is entered.

4.4.2 Network Access


Same password policy applies to network used except the source database is shared
with the attribute ‘$’ making it invincible to network user. The database source is
subsequently mapped to specific users’ desktops.

4.4.3 Recovery
An automatic backup will be schedule for a daily differential backup to an external
hard disk or network disk.

4.4.4 Malware and Intrusion


A recommendation for a robust antivirus and spyware application will be deployed.
Example Kaspresky 2011, and or Microsoft Security Essential.

43
Chrichtian A. Neal

5. Implementation and Testing


Due to the highly unstructured nature of the project, it was indeed difficult to
run smoothly with the implementation phase. The debugging and test of codes which
practically took most of the time estimated ran ‘top-down’.

5.1 Coding:
Here included are queries (SQL statement) and coding (VB) implementing workability
in the database:

5.1.1 Forms:
Form_Booking Option Compare Database Private Sub Command22_Click() On Error GoTo
Err_Command22_Click 'declaring modular variables Dim stDocName As String Dim
stLinkCriteria As String 'wizard decleared: button that opens a Rooms Available
form stDocName = "Rooms Available" DoCmd.OpenForm stDocName, , , stLinkCriteria
Exit_Command22_Click: Exit Sub Err_Command22_Click: MsgBox Err.Description Resume
Exit_Command22_Click End Sub Private Sub Command26_Click() On Error GoTo
Err_Command26_Click Dim stDocName As String

44
Chrichtian A. Neal
stDocName = "Rooms Query" DoCmd.OpenQuery stDocName, acNormal, acEdit
Exit_Command26_Click: Exit Sub Err_Command26_Click: MsgBox Err.Description Resume
Exit_Command26_Click End Sub Private Sub Delete_Record_Click() On Error GoTo
Err_Delete_Record_Click DoCmd.DoMenuItem acFormBar, acEditMenu, 8, , acMenuVer70
DoCmd.DoMenuItem acFormBar, acEditMenu, 6, , acMenuVer70 Exit_Delete_Record_Click:
Exit Sub Err_Delete_Record_Click: MsgBox Err.Description Resume
Exit_Delete_Record_Click End Sub Private Sub Command32_Click() On Error GoTo
Err_Command32_Click DoCmd.GoToRecord , , acNewRec Exit_Command32_Click: Exit Sub
Err_Command32_Click: MsgBox Err.Description Resume Exit_Command32_Click End Sub
Private Sub Command33_Click() On Error GoTo Err_Command33_Click
DoCmd.GoToRecord , , acNext Exit_Command33_Click: Exit Sub Err_Command33_Click:
MsgBox Err.Description Resume Exit_Command33_Click End Sub Private Sub
Command34_Click() On Error GoTo Err_Command34_Click

45
Chrichtian A. Neal

DoCmd.GoToRecord , , acPrevious Exit_Command34_Click: Exit Sub Err_Command34_Click:


MsgBox Err.Description Resume Exit_Command34_Click End Sub Private Sub
Command45_Click() On Error GoTo Err_Command45_Click Dim stDocName As String Dim
stLinkCriteria As String stDocName = "Menu" DoCmd.OpenForm stDocName, , ,
stLinkCriteria Exit_Command45_Click: Exit Sub Err_Command45_Click: MsgBox
Err.Description Resume Exit_Command45_Click End Sub Private Sub Command52_Click()
On Error GoTo Err_Command52_Click 'to reset all inputs on the form Dim ctlC As
Control For Each ctlC In Me.Controls If ctlC.ControlType = acTextBox _ Or
ctlC.ControlType = acComboBox Then ctlC = Null Next ctlC DoCmd.RunCommand
acCmdRefresh Exit_Command52_Click: Exit Sub Err_Command52_Click: MsgBox
Err.Description Resume Exit_Command52_Click End Sub

46
Chrichtian A. Neal

5.1.2 Form_CreditCard
Private Sub Command7_Click() On Error GoTo Err_Command7_Click DoCmd.GoToRecord , ,
acNewRec Exit_Command7_Click: Exit Sub Err_Command7_Click: MsgBox Err.Description
Resume Exit_Command7_Click End Sub Private Sub Command8_Click() On Error GoTo
Err_Command8_Click DoCmd.GoToRecord , , acNewRec Exit_Command8_Click: Exit Sub
Err_Command8_Click: MsgBox Err.Description Resume Exit_Command8_Click End Sub
Private Sub Command9_Click() On Error GoTo Err_Command9_Click DoCmd.DoMenuItem
acFormBar, acEditMenu, 8, , acMenuVer70 DoCmd.DoMenuItem acFormBar, acEditMenu,
6, , acMenuVer70 Exit_Command9_Click: Exit Sub Err_Command9_Click: MsgBox
Err.Description Resume Exit_Command9_Click End Sub Private Sub Command10_Click() On
Error GoTo Err_Command10_Click DoCmd.GoToRecord , , acPrevious
Exit_Command10_Click: Exit Sub Err_Command10_Click: MsgBox Err.Description

47
Chrichtian A. Neal
Resume Exit_Command10_Click End Sub Private Sub Command11_Click() On Error GoTo
Err_Command11_Click DoCmd.GoToRecord , , acNext Exit_Command11_Click: Exit Sub
Err_Command11_Click: MsgBox Err.Description Resume Exit_Command11_Click End Sub

5.1.3 Form_Customer
Private Sub AddressLine2_BeforeUpdate(Cancel As Integer) End Sub Private Sub
Combo29_BeforeUpdate(Cancel As Integer) 'to enable and disable payment method combo
method If Combo29.Value = "Cash" Then Combo24.Enabled = False Else: Combo24.Enabled
= True End If End Sub

5.1.4 Form_Menu
Private Sub Command1_Click() On Error GoTo Err_Command1_Click Dim stDocName As
String Dim stLinkCriteria As String stDocName = "Rooms Availabe" DoCmd.OpenForm
stDocName, , , stLinkCriteria Exit_Command1_Click:

48
Chrichtian A. Neal
Exit Sub Err_Command1_Click: MsgBox Err.Description Resume Exit_Command1_Click End
Sub Private Sub Command5_Click() On Error GoTo Err_Command5_Click Dim stDocName As
String Dim stLinkCriteria As String stDocName = "Customer" DoCmd.OpenForm
stDocName, , , stLinkCriteria Exit_Command5_Click: Exit Sub Err_Command5_Click:
MsgBox Err.Description Resume Exit_Command5_Click End Sub Private Sub
Command7_Click() On Error GoTo Err_Command7_Click Dim stDocName As String Dim
stLinkCriteria As String stDocName = "CreditCard" DoCmd.OpenForm stDocName, , ,
stLinkCriteria Exit_Command7_Click: Exit Sub Err_Command7_Click: MsgBox
Err.Description Resume Exit_Command7_Click End Sub Private Sub Command11_Click() On
Error GoTo Err_Command11_Click DoCmd.Quit Exit_Command11_Click: Exit Sub
Err_Command11_Click: MsgBox Err.Description Resume Exit_Command11_Click End Sub
Private Sub Command13_Click() On Error GoTo Err_Command13_Click

49
Chrichtian A. Neal

Dim stDocName As String Dim stLinkCriteria As String stDocName = "Reports"


DoCmd.OpenForm stDocName, , , stLinkCriteria Exit_Command13_Click: Exit Sub
Err_Command13_Click: MsgBox Err.Description Resume Exit_Command13_Click End Sub
Private Sub Command14_Click() On Error GoTo Err_Command14_Click Dim stDocName As
String Dim stLinkCriteria As String stDocName = "Booking" DoCmd.OpenForm stDocName,
, , stLinkCriteria Exit_Command14_Click: Exit Sub Err_Command14_Click: MsgBox
Err.Description Resume Exit_Command14_Click End Sub

5.1.5 Form_Report
Private Sub Command0_Click() On Error GoTo Err_Command0_Click Dim stDocName As
String stDocName = "Daily Room Cleaning" DoCmd.OpenReport stDocName, acPreview
Exit_Command0_Click: Exit Sub Err_Command0_Click: MsgBox Err.Description Resume
Exit_Command0_Click End Sub Private Sub Command2_Click()

50
Chrichtian A. Neal
On Error GoTo Err_Command2_Click Dim stDocName As String stDocName = "Rooms to
Prepear for guests arriving" DoCmd.OpenReport stDocName, acPreview
Exit_Command2_Click: Exit Sub Err_Command2_Click: MsgBox Err.Description Resume
Exit_Command2_Click End Sub Private Sub Command4_Click() On Error GoTo
Err_Command4_Click Dim stDocName As String stDocName = "Rooms to Prepear for guests
leaving" DoCmd.OpenReport stDocName, acPreview Exit_Command4_Click: Exit Sub
Err_Command4_Click: MsgBox Err.Description Resume Exit_Command4_Click End Sub
Private Sub Command6_Click() On Error GoTo Err_Command6_Click Dim stDocName As
String Dim stLinkCriteria As String stDocName = "Menu" DoCmd.OpenForm
stDocName, , , stLinkCriteria Exit_Command6_Click: Exit Sub Err_Command6_Click:
MsgBox Err.Description Resume Exit_Command6_Click End Sub Private Sub
Command6_Exit(Cancel As Integer) End Sub Private Sub Command9_Click() On Error GoTo
Err_Command9_Click Dim stDocName As String

51
Chrichtian A. Neal

stDocName = "Invoice" DoCmd.OpenReport stDocName, acPreview Exit_Command9_Click:


Exit Sub Err_Command9_Click: MsgBox Err.Description Resume Exit_Command9_Click End
Sub

5.1.6 Form_Room Available


Private Sub Command3_Click() On Error GoTo Err_Command3_Click DoCmd.Close
Exit_Command3_Click: Exit Sub Err_Command3_Click: MsgBox Err.Description Resume
Exit_Command3_Click End Sub

5.1.7 Queries:
Query
Booking

Creteria

Daily room cleaning

Date()

SQL Code SELECT Booking.[Booking ID], Booking.Arrival, Booking.Checkout,


Booking.RoomNum, Booking.CustomerID, Booking.[CribRequired(nights)], Booking.
[SataliteRequired(nights)], Booking.[GamesRequired(nights)], Booking.
[InternetRequired(nights)], Booking.HoursRequired, Booking.ServiceStaffRequired
FROM Booking; SELECT Booking.Arrival, Booking.Checkout, Booking.RoomNum,
Rooms.RoomType FROM Rooms INNER JOIN Booking ON Rooms.RoomNum = Booking.[RoomNum]
WHERE (((Booking.Arrival)=Date()));

52
Chrichtian A. Neal
Rooms to clean when guest leaves

Date()

Rooms to clean upon guest arrival

Date()

Invoice

Date(),[Enter the Room number]

Room available

Is Null

Room available and room type Room Query

SELECT Rooms.RoomNum, Rooms.RoomType, Booking.Checkout FROM Rooms INNER JOIN


Booking ON Rooms.RoomNum = Booking.[RoomNum] WHERE (((Booking.Checkout)=Date()));
SELECT Booking.Arrival, Booking.RoomNum, Rooms.RoomType FROM Rooms INNER JOIN
Booking ON Rooms.RoomNum = Booking.[RoomNum] WHERE (((Booking.Arrival)=Date()));
SELECT Booking.Arrival, Booking.Checkout, Rooms.RoomNum, Rooms.RoomType,
Rooms.PricePerNight, Booking!CheckoutBooking!Arrival AS NoOfNights,
[NoOfNights]*Rooms!PricePerNight AS AccomodationCost, Booking!
[SataliteRequired(nights)]*10 AS SatelliteTV, [Booking]![GamesRequired(nights)]*7
AS GamesConsole, Booking![InternetRequired(nights)]*5 AS Internet, [Booking]!
[CribRequired(nights)]*10 AS Crib, Booking!FullMeals*30 AS FullMeal, [Booking]!
[Breakfast]*15 AS Breakfast, [AccomodationCost]+[SatelliteTV]+[GamesConsole]+
[Internet]+[Crib]+[FullMeal]+[Breakfast]*0.07 AS TotalVAT FROM Rooms INNER JOIN
Booking ON Rooms.RoomNum = Booking.[RoomNum] WHERE (((Booking.Checkout)=Date()) AND
((Rooms.RoomNum)=[Enter the Room number])); SELECT Rooms.RoomNum FROM Rooms LEFT
JOIN [Rooms Reserved] ON Rooms.RoomNum = [Rooms Reserved].[RoomNum] WHERE ((([Rooms
Reserved].RoomNum) Is Null)); SELECT [Rooms Available].RoomNum, Rooms.RoomType FROM
[Rooms Available] INNER JOIN Rooms ON [Rooms Available].RoomNum=Rooms.RoomNum;
SELECT Rooms.RoomNum, Rooms.RoomType, Rooms.PricePerNight, Rooms.CribAvailable,
Rooms.SataliteTVAvailable, Rooms.GamesConsoleAvailable, Rooms.InternetAvailable
FROM Rooms WHERE (((Rooms.RoomNum)=[Enter Room Number])); PARAMETERS [Please enter
arrival date] DateTime, [Please enter checkout date] DateTime; SELECT Booking.
[RoomNum], Booking.Arrival, Booking.Checkout FROM Booking WHERE (((Booking.Arrival)
Between [Please enter arrival date] And [Please enter checkout date]1)) Or
((([Checkout]-1) Between [Please enter arrival date] And [Please enter checkout
date])) Or (((Booking.Arrival)<[Please enter arrival date]) And (([Checkout]-
1)>[Please enter checkout date]-1));

[Enter the Room number]

Rooms reserved

Between [Please enter arrival date] And [Please enter checkout date]-1, Between
[Please enter arrival date] And [Please enter checkout date], <[Please enter
arrival date], >[Please enter checkout date]-1

53
Chrichtian A. Neal

5.2 Switchboard:
This programmer user kit which allows program with the help of MS Office-embedded
Visual Basic (VB) tools to create a Graphical User Interface (GUI) to include
command buttons to drive the SAS session, connect to project directories,
documents, forms, online help, etc. It, in short, reduces work and saves time by
allowing flow of information within projects. A basic advantage of using a
switchboard in your project is that it groups similar tasks, which will give users
a more organized and user-friendly interface. Depending on how much information is
needed to present on the switchboard, there are several ways to group the tasks. A
switchboard not only provides programmers with handy-tools, and henceforth greatly
improving efficiency, reducing workload of employees; but it also provides the
projectrelated team with an information delivery kit, thus efficiently monitoring
and delivering information amongst the team. For this purpose, a switchboard was
implemented in this project:

54
Chrichtian A. Neal

5.2.1 Switchboard codes:


Private Sub Form_Open(Cancel As Integer) ' Minimize the database window and
initialize the form. ' Move to the switchboard page that is marked as the default.
Me.Filter = "[ItemNumber] = 0 AND [Argument] = 'Default' " Me.FilterOn = True End
Sub Private Sub Form_Current() ' Update the caption and fill in the list of
options. Me.Caption = Nz(Me![ItemText], "") FillOptions End Sub Private Sub
FillOptions() ' Fill in the options for this switchboard page. ' The number of
buttons on the form. Const conNumButtons = 8 Dim Dim Dim Dim con As Object rs As
Object stSql As String intOption As Integer

' Set the focus to the first button on the form, ' and then hide all of the buttons
on the form ' but the first. You can't hide the field with the focus. Me!
[Option1].SetFocus For intOption = 2 To conNumButtons Me("Option" &
intOption).Visible = False Me("OptionLabel" & intOption).Visible = False Next
intOption ' Open the table of Switchboard Items, and find ' the first item for this
Switchboard Page. Set con = Application.CurrentProject.Connection stSql = "SELECT *
FROM [Switchboard Items]" stSql = stSql & " WHERE [ItemNumber] > 0 AND
[SwitchboardID]=" & Me![SwitchboardID] stSql = stSql & " ORDER BY [ItemNumber];"
Set rs = CreateObject("ADODB.Recordset") rs.Open stSql, con, 1 ' 1 = adOpenKeyset '
If there are no options for this Switchboard Page, ' display a message. Otherwise,
fill the page with the items. If (rs.EOF) Then Me![OptionLabel1].Caption = "There
are no items for this switchboard page" Else

55
Chrichtian A. Neal
While (Not (rs.EOF)) Me("Option" & rs![ItemNumber]).Visible = True Me("OptionLabel"
& rs![ItemNumber]).Visible = True Me("OptionLabel" & rs![ItemNumber]).Caption = rs!
[ItemText] rs.MoveNext Wend End If ' Close the recordset and the database. rs.Close
Set rs = Nothing Set con = Nothing End Sub Private Function
HandleButtonClick(intBtn As Integer) ' This function is called when a button is
clicked. ' intBtn indicates which button was clicked. ' Constants for the commands
that can be executed. Const conCmdGotoSwitchboard = 1 Const conCmdOpenFormAdd = 2
Const conCmdOpenFormBrowse = 3 Const conCmdOpenReport = 4 Const
conCmdCustomizeSwitchboard = 5 Const conCmdExitApplication = 6 Const conCmdRunMacro
= 7 Const conCmdRunCode = 8 Const conCmdOpenPage = 9 ' An error that is special
cased. Const conErrDoCmdCancelled = 2501 Dim con As Object Dim rs As Object Dim
stSql As String On Error GoTo HandleButtonClick_Err ' Find the item in the
Switchboard Items table ' that corresponds to the button that was clicked. Set con
= Application.CurrentProject.Connection Set rs = CreateObject("ADODB.Recordset")
stSql = "SELECT * FROM [Switchboard Items] " stSql = stSql & "WHERE
[SwitchboardID]=" & Me![SwitchboardID] & " AND [ItemNumber]=" & intBtn rs.Open
stSql, con, 1 ' 1 = adOpenKeyset ' If no item matches, report the error and exit
the function. If (rs.EOF) Then MsgBox "There was an error reading the Switchboard
Items table." rs.Close Set rs = Nothing Set con = Nothing Exit Function End If

56
Chrichtian A. Neal

Select Case rs![Command] ' Go to another switchboard. Case conCmdGotoSwitchboard


Me.Filter = "[ItemNumber] = 0 AND [SwitchboardID]=" & rs![Argument] ' Open a form
in Add mode. Case conCmdOpenFormAdd DoCmd.OpenForm rs![Argument], , , , acAdd '
Open a form. Case conCmdOpenFormBrowse DoCmd.OpenForm rs![Argument] ' Open a
report. Case conCmdOpenReport DoCmd.OpenReport rs![Argument], acPreview ' Customize
the Switchboard. Case conCmdCustomizeSwitchboard ' Handle the case where the
Switchboard Manager ' is not installed (e.g. Minimal Install). On Error Resume Next
Application.Run "ACWZMAIN.sbm_Entry" If (Err <> 0) Then MsgBox "Command not
available." On Error GoTo 0 ' Update the form. Me.Filter = "[ItemNumber] = 0 AND
[Argument] = 'Default' " Me.Caption = Nz(Me![ItemText], "") FillOptions ' Exit the
application. Case conCmdExitApplication CloseCurrentDatabase ' Run a macro. Case
conCmdRunMacro DoCmd.RunMacro rs![Argument] ' Run code. Case conCmdRunCode
Application.Run rs![Argument] ' Open a Data Access Page Case conCmdOpenPage
DoCmd.OpenDataAccessPage rs![Argument] ' Any other command is unrecognized. Case
Else MsgBox "Unknown option." End Select ' Close the recordset and the database.
rs.Close

57
Chrichtian A. Neal

HandleButtonClick_Exit: On Error Resume Next Set rs = Nothing Set con = Nothing


Exit Function HandleButtonClick_Err: ' If the action was cancelled by the user for
' some reason, don't display an error message. ' Instead, resume on the next line.
If (Err = conErrDoCmdCancelled) Then Resume Next Else MsgBox "There was an error
executing the command.", vbCritical Resume HandleButtonClick_Exit End If End
Function

58
Chrichtian A. Neal

5.3 Testing Approach


The testing procedure is to verify each component’s functionality of the database.
By checking (eg: combo, command button, etc) to see if the actual outcome of the
test is the same as the expected. The below table provides comments and feedback as
a result of such testing.

Table 15: Testing result


Test # 1 2 3 User validation Validation of database Booking Form Check that hotel
can not be booked between June 1 and June 15, 2012 Booking Form Check that hotel
can not be booked between June 1 and June 15, 2012 Rooms Available Query June 4,
2012 S/authentication Prompt for user name and password Load database and display
main menu “Hotel is close until relocation is over” (validate record) Prompts for
user name and password Database main menu is displayed “Hotel is close until
relocation is over” (validated record) Validation for the year 2012 only Test
description Test data Expected result Actual result Comments

June 4, 2013

Feb 12, 2012

Main menu Test if the check room availability command button works correctly Main
menu Test if the exit command button exits the database Main menu Test if the
report command button shows various report buttons Main menu Test if the ‘View /
Add Customer Record’ command button works correctly Main menu Test if the ‘View /
Add Credit Card Record command button works correctly Main menu Test if the ‘View /
Add Booking’ command button works correctly Check Room availability menu Test if
the click on command button works correctly If ‘true’ then

(only non-booked rooms are to display) Input box requesting to enter the arrival
date Exits the database

(only non-booked rooms displayed) Input box requesting to enter the arrival ate
Exits and close entire the database Displays report form of various reports
Customer details form are displayed Credit Card details form are displayed

Report form of various reports Display Customer details form

10

Display Credit Card details form

11

Display Booking details form


Booking details form are displayed Displays input box requesting arrival date
Displays input box requesting checkout date (only non-booked rooms displayed)
creditcard number combo box enables

12

13

Rooms Available Query

Feb 12, 2012 ‘Creditcard’

14

Customer Details Form Test if the payment method combo box enables Creditcard
number when set to ‘creditcard’

Input box to be displayed requesting arrival date Input box requesting checkout
date to be displayed (only non-booked rooms are to be displayed) Enable creditcard
number combo box

59
Chrichtian A. Neal
Customer Details Form Test if the ‘payment method’ combo box disables Creditcard
number when set to ‘cash’ Customer Details Form Test ‘add new customer’ command
button functionality Customer Details Form Test delete record’ command button
functionality Customer Details Form Test ‘previous record’ command button
functionality Customer Details Form Test ‘next record’ command button functionality
Customer Details Form Test ‘go to booking’ shortcut command button functionality
Credit Card Details Form Test ‘Add Credit Card’ command button functionality Credit
Card Details Form Test ‘Delete Credit Card’ command button functionality Credit
Card Details Form Test ‘previous record’ command button functionality Credit Card
Details Form Test ‘next record’ command button functionality Booking Details Form
Test ‘next record’ command button functionality Booking Details Form Test ‘previous
record’ command button functionality Booking Details Form Test ‘Delete’ command
button functionality Booking Details Form Test ‘New Booking’ command box
functionality Booking Details Form Test ‘Payment Method’ combo box functionality
Booking Details Form Test ‘Feature Available in Room ’ command button functionality
Booking Details Form Test ‘Feature Available in Room ’ command button functionality
Booking Details Form Test ‘Room Availability ’ command button functionality Booking
Details Form Test ‘Room Availability ’ command button functionality Report Form
Test ‘Daily Room Cleaning ’ command button functionality Report Form Test ‘Room to
prepare for guest arrival today’ command button functionality Report Form Test
‘Room to Clean guest leaving today ’ command button ‘Cash’ Disable creditcard
number combo box creditcard number combo box doesn’t get disabled New record added
This function needs working on to enable desired result First click clears
displayed data for new entry Accept ‘yes’ to confirm deletion of focused data

15

16

Add new record

17

Delete existing focused record Go to previous existing record Go to next existing


record Display Booking form Add/create new credit card record Delete current credit
card record Go to previous existing record Go to next existing record Go to
previous existing record Go to next existing record Delete current credit card
record Add new record

Focused record deleted Previous record is displayed Next record is displayed


Booking form displayed New credit card record added/created Current/focused credit
card record deleted Previous record is displayed Next record is displayed Previous
record is displayed Next record is displayed Current/focused credit card record
deleted New record added

18

19

20

21

22

23

24
25

26

27

28

First click clears displayed data for new entry

29

30

Drop down a list to select ‘cash’ or ‘creditcard’ from Prompt for user input on
room number in question Display table with services available Prompt for user input
on room number in question Prompt for user input on room number in question Display
Report for Daily Room Cleaning in print preview Display Report for Rooms to clean
for guests arriving today in print preview Display Report for Rooms to clean for
guests leaving in

List drop for selection: ‘cash’ or ‘creditcard’ Room number prompted for Available
service as per room number displayed in table Room number prompted for Non-booked
rooms displayed (room no and type) Report displayed in print preview The section
might need to be worked on

31

32

33

Report displayed in print preview

34

Report displayed in print preview

60
Chrichtian A. Neal
functionality Report Form Test ‘Customer Invoice’ command button functionality
print preview Display Customer Invoice in print preview

35

Invoice displayed in Print preview

36

Report Form Test ‘Customer Invoice’ command button functionality

Room 105

Display Customer Invoice in print preview

Invoice displayed in Print preview

Section width is greater than page with. Needs to be reduced See Print out
(Appendix A) for actual invoice (not date specific - only prints out for that room)

5.4 Modifications and Improvements:


After days of debugging with much confusion, a few things were notice. Some of
which were corrected: The main menu form was too primitive and so a stylish design
was given The buttons on main menu also had a change to a more classical touch The
customer details form in it well manner intentions lacked the identification of
guest by their assigned Customer ID numbers. A field on the customer details was
inserted to display customer ID alongside other details. An additional table
‘Payment Method’ was added when it was discovered that not all users were credit
card holders, and perhaps not all credit cards are valid. Creditcard method combo
box was inserted on customer form to depict paying method either by ‘cash’ or
‘creditcard’, both of which are accessible to the system Since customer details
inputting of date are before booking, it was then necessary to include on the
customer detail form a shortcut linking the booking form rather than closing forms.
A payment method combo box was also included on the booking form ascertain at the
point of entry by which means payment would be made.

61
Chrichtian A. Neal

6. Results and Discussion

6.1 Test Reports:


Now it is clear that based on the outputted information The Cape Hotel can now be
able to make rational decisions taking time into consideration. The new system has
proven its eligibility to marginalize the two (2) systems employed by The Cape
Hotel, that which is a manual Excel spreadsheet for booking reservation and
cancellation and other tasks susceptible to human errors alongside a partially used
application to manage other hotel related needs. The new Access database
application strongly demonstrates with efficiency the ability to take on the many
tasks of The Cape Hotel in storing, managing, and enabling the management make
decision to increase production and bottom line - profit. Booking is not a simple
click, and more on cancellation is a single ‘delete record’ button. The use of
unnecessary stationery is alleviated with a one-time final print bill which
automatically summarizes all detailed financial interaction made between the guest
and the hotel with a single click.

62
Chrichtian A. Neal

6.2 User Documentation:

The Cape Hotel MS Access Database User Guide

Table of contents 1. What is database …………………………………………………………………. 2. Database


authentication (login and decryption) ………………… 3. Main Menu
…………………………………………………………………………. 4. Data Manipulation ……………………………………………………………… 5.
Booking Process …………………………………………………………………. 6. Reports
………………………………………………………………………………. 7. Customer Invoice ……………………………………………………………….. 8.
Closing database ………………………………………………………………… 9. Glossary
……………………………………………………………………………….

Page 65 65 68 69 70 72 73 73 73

63
Chrichtian A. Neal

What is database
A database is an organized collection of data for one or more purposes (for
example, the availability of rooms in hotels), that would impact decision when
processed into information. In order for data to be properly organized and
referenced easily they are stored in a table which is a cross section of rows and
columns. (see figure below of a table)

Database authentication (login and decryption)


Authentication is the process where in user must provide the right answer, key or
password when requested by the software application. If you don’t have a user name
and password, then please see your database administrator. User and password
creation

This section is strictly for administrator of the database. Only in admin mode will
you be able to create user names and password. (see figure below) 64
Chrichtian A. Neal

1. Go to the file menu of your application

2. Click ‘uses and permissions’ button, and select ‘Users and Group accounts’. Use
the ‘Users’ tab to create new users.

3. Use the ‘Group’ table to create new groups. The Change Logon Password tab is to
change database password. (see figures below)

65
Chrichtian A. Neal

4. Back at the file menu of your application window. Click ‘Users and permissions’
this time select ‘user and groups permission’.

5. In here the admin is able to grant restricted or unrestricted access to users on


specific data objects individually or in group.

66
Chrichtian A. Neal

Main menu
When you’ve entered your user name and password and database password, the first
screen that welcomes you is the Main menu. 1. Enter Username and password

2. Enter database password

3. Welcome menus is displayed considering you’ve passed the authentication process:

67
Chrichtian A. Neal

Data Manipulation

Queries database for available rooms

Adds new data or deletes/views current data

Displays queries in report form

Exits entire database

The Main menu consists of button when displays addition forms for purpose of: -data
input/deletion -data display -data query -data report

68
Chrichtian A. Neal

Booking Process It is important to note that before making a booking into the
system, customer credit card details should first be entered into the system,
followed by the customer details, expect in the case where the customers is
returning (is an old customers with data already in system). 1. Enter ‘Customer
Credit Card Details’ (if customer is new) as shown.
Click to delete current record displayed

Click to a new credit card record

Click to either go to next record or previous record

2. Next: Enter ‘Customer Details’

Click to either go to next record or previous record

Click to delete current record

Click to go to Booking window

4
Click to add new record

3. Next: Enter ‘Booking Details’

69
Chrichtian A. Neal

Entering data with Booking Details window should be easy: -Before you make your
booking, make sure to check if there is a room available for the date specified by
the guest. 1. Click the Room Availability button. It will prompt you to enter check
in date and checkout date; in format: mm/dd/yyyy. See figure below for result:

2. Guest arrival date and checkout date could be typed in format ‘mm/dd/yyyy, or by
clicking in the text box of the field to display a system calendar.

70
Chrichtian A. Neal

3. The Room Numbers and Customer ID are automatically stored in system memory and
are available through a drop down menu from which one can select desire result.

Reports Predefined queries are designed into report to project specific details for
decision making. The Report Form has four (4) sub-reports button link separate
forms as follows: i. Daily Room Cleaning ii. Rooms to prepare for Guests Arriving
Today iii. Rooms to Clean for Guest Leaving Today iv. Customer Invoice

Click button to display desired report

71
Chrichtian A. Neal

Customer Invoice To create a customer invoice, you have to follow the following
steps: 1. Click Customer Invoice button ( ) on Report Form

2. An input dialog box is displayed request Room Number needing invoice for.

3. The invoice for the Room Number inputted is displayed. The report or any other
report can be printer by clicking the printer :

Closing database To close database, ensure that all other previously and current
opened windows, menus or forms are closed to avoid data loss. Click the exit button
to to terminate application.

Glossary
Query – a report on a database is the answer to a query Record – is a row of data
in a database table consisting of a single value from each column of data in the
table. Report – presents information retrieved from a table or query in a
preformatted, attractive manner. Dialog box – is a little box that pops up when a
button is clicked, to either get information from user or perform action based on
provided options. System memory – is the place where the computer holds current
programs and data that are in use. Field – is a data structure for a single piece
of data. Data Manipulation – is a family of syntax elements similar to a computer
programming language used for inserting, deleting and updating data in a table.
Authentication – is any process by which you verify that someone is who they claim
they are. This usually involves a username and a password.

72
Chrichtian A. Neal

7. Conclusion
This database finally, in a tailored category, conforms to the specifics as was
expected to. Feasibility of this system as compared to a manual Excel spreadsheet
along with a partially functional software application which seems to be
marginalized do to it complexity has met user requirement. All customer records are
store in a single location (centralization) for fast and easier decision making
purpose.

7.1 Limitations of the System:


Much yet needs to be done to improve the system functionality, give time, space,
resource, notably: - Validation check on services requested does not exceed
duration of stay. - Input data from ‘payment method’ combo box on Customer Details
did not successful trigger into the Customer table, unlike the Booking Form - On
Customer Form, payment method combo was able to enable combo box credit card number
but not disable when ‘cash’ is selected. - When all records are deleted in a table,
instead of a default value being displayed, a “#deleted” field is displayed. - A
reverse of entering data in creditcard details form then after, customer details
from needs to be modify in a way that only one form would inherit all data and
separately located allocation data to specified tables. - A separate form for
restaurant service needs to be incorporated for independent data input. -
Conference room needs to be a separate entity to ease booking. - The query to sum
all financial transaction for each customer was unable to materialize using the SQL
statements. It was done in design view of the Customer Invoice Form by means of
Expression builder via ‘control source’. - Customer Invoice Form needs a function
to automatically insert unique invoice number on each invoice created. - A ‘goto’
button or search/find function is needed on Booking form to find specific record
quickly when the database has been highly populated.

73
Chrichtian A. Neal

7.2 Future Scope of the Project


With this system, the possibility of new investigation into migration from an
inherent MS Acces

database system is of the essence. Providing a VB interactive front-end and an SQL


or Oracle database backend would be intriguing. Due to time limitation, the
Restaurant Form and associate attributes was not developed.

74
Chrichtian A. Neal

REFERENCES
http://www.dbms2.com/2007/12/14/data-warehouse-database-management
http://www.computerworld.com/s/article/9218729/Hadoop_growing_not_replacing_RDBMS_i
n_enterprises http://www.databasejournal.com/sqletc/article.php/3869736/Choosing-a-
Database-Platform.htm http://www.sql-programmers.com/DisadvantagesofAccess.aspx
http://www.galleryimage.com.au/Why-Access-Database.htm
http://www.lexjansen.com/pharmasug/2005/posters/po36.pdf http://en.wikipedia.org/
www.wiki.answers.com http://databases.about.com/cs/administration/g/report.htm
http://www.alexecooper.co.uk/blog/2006/01/access-hotel-reservation-
database/#comment-329

75
Chrichtian A. Neal

APPENDIX
Appendix 1:

76

You might also like