You are on page 1of 84

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 IT01542010-
2013027) 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 semi-
electronic 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

Front desk (receptionist) an employee that performs the duties of receiving guests
(booking), visitors, and answer phone calls.

QuickBooks is a line of business accounting software developed and marketed by


Intuit.

Penthouse is the apartment or room located at the top floor of a building usually
expensive for very high executive.

Switchboard 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.

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

AIX Advanced Interactive eXecutive


CUI Character User Interface
FD Functional Dependency
GUI Graphical User Interface
HACMP High Availability Cluster Multiprocessing

i
Chrichtian A. Neal

HR Human Resource
IBM International Business Machine Corporation
IEC International Electrotechnical Commission
ICT Information and Communication Technology
ISO International Organization for Standards
MS Microsoft
MSXML Microsoft eXtensible Markup Language
ODBS Open Database Connectivity
OLTP On-Line Transaction Processing
OS Operating System
PC Personal Computer
RAC Real Application Clusters
RDMS (RDBMS) Rational Database Management System
SAS Statistical Analysis System
SDLC Software Development Life Circle
SOE Standard Operating Environment
SP3 Service Pack (version 3)
SQL Structural Query Language
TPC-C Transaction Processing Performance Council
T-SQL Transact- Structural Query Language
VBA (VB)Visual Basic Application
VSC Vision Control System
XP 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 user-
friendly (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 Microsoft Corporation


 MS SQL ISO/IME
 Oracle Oracle Corporation
 Informix IBM
 Sybase Berkeley, California
 TeraData
 DB2 IBM
 MySQL MySQL AB (subsidiary of Oracle Corporation)
 PostGreSQL 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 High performance/low Scalability/ Replication
Features latency/In memory DB Performance

MS SQL Cluster provides HA since it only supports has log shipping and
failover but no load Active/Passive mode database mirroring for
balancing (instance wise), there is no warm/standby DB solutions
scalability at the instance (active/passive, r/w and
level. There has to read-only), and it supports
replacement of the whole transactional replication
cluster (or pair by pair), if with the granularity at the
the existing hardware has article/object level (per
been throttled table)
Oracle RAC is the best for HA provides TimesTen in- if the existing hardware One of the best ways for
clustering and load memory database cannot keep up with the database cloning and one of
balancing and scalability performance requirement, the best DR solutions (using
A simple adding of a RMAN)
beefier box to the cluster
and gradually replace all
other nodes, which
protect our existing
investment better.
Informix
Sybase ASE 15 Cluster achieves provides ASE in memory Sybase has the best
the same thing as database replication solution, which
Oracle RAC out performs Oracle's Data
guard
TeraData is a
networked/distributed
DB platform since birth
DB2 works very well with
IBM’s pSeries/Power
server running AIX
HACMP(High
Availability Cluster
Multiprocessing), and
Veritas VCS/Sun Cluster
MS Access (see table 2)
MySQL Cluster claimed higher cluster uses an in-memory cluster also supports provides shared nothing
TPC-C performance storage engine adding nodes to the cluster, which basically is
benchmarks than cluster with all nodes synchronous replication
Oracle RAC being active, but it is a among all active nodes. And
share nothing cluster. its asynchronous replication
More nodes mean more also supports at the
copies of databases, more transaction and object level
storage and more network
traffic for data replication
among all nodes in the
cluster.
PostGreSQL
SQLite or
eXtremeDB

5
Chrichtian A. Neal

Table 2: Microsoft Access analysis


Access Advantage Disadvantage
Concurrent Access was designed to operate on a network. it is a more practical choice to select Access when the database
Users Microsoft says that the latest version will support 255 will be used by only 15 to 20 simultaneous users. If more than
concurrent users, however in practice it is 20 users try to gain access to the database, performance and
recommended a comfortable limit of 15 to 20 response time may begin to suffer
simultaneous users.
Multiple Whenever various Windows operating systems like Windows
Windows 98, Windows ME, Windows 2000, Windows XP, or Windows
Operating Vista are used to access the same database, the database may
Systems experience corruption issues. It is recommended that all Access
users are operating with the identical operating system.
Novice User – One can use Microsoft Access for Rapid Application A new user to software development may find that they are a
Design and Development thus keeping costs down. Its object bit overwhelmed when using MS Access. In order to maximize
Development oriented model means it can build attractive, functional the potential of Access, a thorough understanding of relational
and easy to use applications in double-quick time. 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
Sensitive Data If sensitive data needs are required like storing health and
Needs/Security medical records, financial information, academic records or
employment data, for example, it will require more extensive
database security than Access can offer
Internet Access (2000 and later version) has close web links so Microsoft Access does have a few limitations. Access was not
online data access is made easier. With a shift towards designed to be used with applications that are web based since
e-commerce, Access’s web integration could prove very its forms and reports are only functional in a Windows
useful, if not now, then sometime in the near future. 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
OS Access Database has that familiar Windows ‘look and Unfortunately, Microsoft Access is not designed to operate on
feel’. MS Access is one of the best-selling desktop Apple Macintosh computers. Since Access is commonly used in
databases of all time. As such the future support is many businesses that use PC’s, Microsoft does not have any
ensured, and with Microsoft’s backing it should be future plans to expand the database to be functional on a Mac
around for some time.
Cost The key advantage of Access Database is it comes
packaged with Microsoft Office Professional - already
be part of the SOE.
Benefits 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.
Scalability 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 T-
SQL 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 Task Procedures Duration wk1 wk2 wk3 wk4 wk5 Wk6 Wk7 Wk8 Wk9 Wk10
1 Begin project
2 Survey 1 - 6 3days
3 Phase1 –Forms dev. 2days
4 Phase2 –Table creation 4days
5 Phase3 –Coding/link entities 8days
6 Phase4 –Creating validation 2days
7 Phase5 –integrating forms 1day
8 Phase6 –Testing validation 6days
9 Phase7 –Debugging errors 14days
10 Phase8 –Creating queries 3days
11 Phase9- Testing validation 6days
12 Phase10-Modifying queries 2days
13 Phase11-Debug SQL statements 5days
14 Phase12-Creating Report design 1day
15 Phase13-coding (SQL & VB) 8days
16 Phase14-overall integration 5days
17 Phase15-overall debugging 4days
18 Phase16-modification (CUI/GUI) 1day
19 Phase17 Integrated Testing 5days
20 Phase18: Modification to suite spec 4days
21 Phase19: Testing and debugging 5days
22 Finish: implementation

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 $150.00 Meal options


Rooms

Family $350.00 Breakfast $15.00


Double $300.00 Full meal $30.00
Junior $275.00
Penthouse $700.00 Other options
Satellite TV $10.00/night
Conference Executive $50.00/hr Gaming console $7.00/night
Junior $30.00/hr Internet $5.00/night
Crib $10.00/night
Service staff $10.00/hr

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 checking-
in 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 Text
Address Text
PostCode Text
TelephoneNo Text
BookingID AutoNumber
Arrival Date/Time
Checkout Date/Time
RoomNo Number
PricePerNight Currency
RoomType Drop Down menu
Crib Yes/No
SatelliteTV Yes/No
GamesConsole Yes/No
InternetAccess Yes/No
Breakfast Yes/No
FullMeals Yes/No
PaymentMethod Drop Down menu
CreditcardNo Test
CreditCardExpdate 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 Text
Address Text Customer Table
PostCode Text
TelephoneNo Text

17
Chrichtian A. Neal

BookingID AutoNumber
Arrival Date/Time
Checkout Date/Time
RoomType Drop Down
menu
CribRequired Yes/No Booking Table
SatelliteTV Yes/No
GamesConsole Yes/No
InternetAccess Yes/No
Breakfast Yes/No
FullMeals Yes/No

PaymentMethodID AutoNumber
PaymentMethod Drop Down Payment Method Table
menu

CreditcardNo Test
CreditCard Table
CreditCardExpdate Date/Time

RoomNumber Number
RoomType Text Room Table
PricePerNight Currency

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 Data Type Field Size/Key
CustomerID Auto Number Primary Key
FirstName Text 50
Lastname Text 50
AddressLine1 Text 50
AddressLine2 Text 50
Town Text 50
PostCode Text [input mask] (10)
Telephone Text [input mask] (10)
CreditCardNumber Number Foreign Key
PaymentMethod Text 50

18
Chrichtian A. Neal

Table 7: Booking
Field Name Data Type Field Size/Key
BookingID Auto Number Primary Key
Arrival Date/Time (short date) NA
Checkout Date/Time (short date) NA
CustomerID Number Foreign Key
RoomNumber Number Foreign Key
CribRequired(nights) Number NA
SatelliteTVRequired (nights) Number NA
GamesConsoleRequired(nights) Number NA
InternetRequired(nights) Number NA
HoursRequire Number NA
StaffRequired Number NA
BreakfastRequired Number NA
FullMealsRequired Number NA
PaymentMethod Text Foreign Key

Table 8: Credit card


Field Name Data Type Field Size/Key
CreditCardNumber Text Primary Key (25)
ExpiryDate Text Short date (6)
CardHolderName Text 50

Table 9: Rooms
Field Name Data Type Field Size/Key
RoomNumber Number Primary Key
RoomType Text [combo box] ["Single";"Double";"Junior";"Family";"Pen
thouse";"Conference"
PricePerNight Currency NA
CribAvailible Yes/No [check box] NA
SatelliteAvailible Yes/No [check box] NA
GamesConsoleAvailible Yes/No [check box] NA
InternetAvailible Yes/No [check box] NA

Table 10: Payment Method


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

19
Chrichtian A. Neal

Table 11: Validation


Table Field Name Validation rule Validation text
Booking Arrival Not Between #01/06/12# “Hotel is close until relocation is
And #15/06/12# * 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 Field Name Validation rule Place holder
Customer PostCode >LL00\ 0LL;;_ _
Customer Telephone \(9999)”999999;;_ _

Table 13: Queries


Table Criteria Fields & table to include Reports
produced
Rooms Reserved PARAMETERS [Please enter arrival Booking No
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));
Checks room SELECT Rooms.RoomNum Rooms table & Rooms No
FROM Rooms LEFT JOIN
availability Reserved query
[Rooms Reserved] ON
(uses Rooms Rooms.RoomNum=[Rooms
Reserved Query Reserved].Room WHERE
((([Rooms Reserved].Room) Is
Null));
Rooms Available None (combines Rooms Rooms table and Rooms No
and Room type Available query and Rooms table Available
Invoice details for a of Staff, Breakfast, Set Booking, Rooms Yes
report Meals, Arrival, Checkout Credit Card Number,
FirstName, Surname,
Address line 1,
Address line 2, Town,
Postcode, Telephone
Number, Booking ID,

20
Chrichtian A. Neal

Customer Number, Room


Num, PricePerNight, Crib,
Satellite TV, Games console
and game hire, Internet
Access, , Number of hours
needed, Number
Which rooms need Arrival=Date() Bookings, Rooms Yes
cleaning or Room type, Arrival,
preparing RoomNum
for new guest
Which rooms need Checkout=Date() Bookings, Rooms, Room Yes
cleaning for guest type, checkout, Room Num
departure
Daily Room Clean Bookings, Rooms Yes
RoomNum, Room Type,
Arrival, Checkout
Rooms Query RoomNum [Enter Room Rooms
(shows the features Number] RoomNum,Type,Intenret,Cot,
available in the meals,
room Breakfasts, games console,
satalite

4.1.3 Entity Relationship Diagram (ER Diagram)

Booking Customer
BookingID CustomerID
Arrival FirstName
Checkout SurName
CustomerID AddressLine1
RoomNumber AddressLine2
CribRequired Town
SatelliteRequired PostCode
GamesRequired Telephone
InternetRequired CreditCardNumber
HoursRequired PaymentMethodID
ServiceStaffRequired
FullMeals
Breakfast
PaymentMethod

CreditCard Rooms
CreditCardNumber RoomNumber
Expiry Date RoomType
CardHolderName PricePerNight
CribAvailable Legend
SataliteTVAvailable
GamesAvailalable Primary Key
InternetAvaliable
PaymentMethod Foreign Key
PaymentMethodID 21
PaymentMethod
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

Add credit
Reports:
card
-daily cleaning
information
-rooms for
cleaning
-invoices, etc

Exit
Booking/
button
reservation

Booking Form

23
Chrichtian A. Neal

4.2.1.1 Startup main menu

Hotel Logo

Command Check Room Availability


buttons
Labels
View/ Add Customer Records

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 ID:

Last Name
To Add a new customer,
Address Line 1 click 'Add Customer' Button.
To delete a customer, press
Address Line 2 the button with the rubbish
bin on. To Navigate the
Town/City Customer Records, use the
arrows to cycle through.
Postcode

Telephone Instructions
(label) –
Payment Method visible on
screen
Credit Card Type

Add Customer Go to Booking


Combo box
(shows payment
Navigation buttons method : “Cash” or
Delete button “Credit card”). It also
(Deletes current (to flip between
records) enables the credit
customer record) Combo box (shows
card combo button if
credit card
Creates new payment method =
numbers)using
Booking (add new “creditcard”
lookup wizard
record)

26
Chrichtian A. Neal

4.2.1.4 View/ Add Credit Card Record Form

Credit Card Entry Form

Card Number To Add a new Credit Card,


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

Add new Add Credit


credit card card
record button

Onscreen
instructions

Navigation
Delete
bottom
current
record

4.2.1.5 View/ Add Booking Form

Booking Form

Arrival mm/dd/yyyy Room Availability


Command
button to run
Checkout mm/dd/yyyy Room
availability
To Create a new Booking,
Room 101 form
click on the 'New Booking'
Customer ID Button below. To Delete the
24
current Booking, click the
rubbish bin button. To
navigate the bookings, click
No. of NightsCrib Required 0 27 the arrows to cycle through
Features the bookings Instructions
No. of Satellite Required 0 Available
in Rooms (label) –
No. of Game Required 0 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 Criteria Fields & table to include Reports
Description produced
Invoice RoomNumber = SELECT Booking.Arrival, Booking.Checkout, Yes
[Enter Room Rooms.RoomNum, Rooms.RoomType,
Number] Rooms.PricePerNight, Booking!Checkout-
Booking!Arrival AS NoOfNights,
Checkout = date() [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]));

4.2.1.7 Design of the report form

Customer Invoice

Hotel Logo
Arrival: mm/dd/yyyy Checkout: mm/dd/yyyy

Room:
Room No : xx Room Type: xxxx
Room Price /night : xx
No. of nights stayed : xx

Accommodation cost: xx

Services upon request: 29

Satellite TV : xxxx
GameConsole: xxxx
Chrichtian A. Neal

4.2.1.8 Queries Reports

Query Layout
Daily Room Cleaning Columnar (sorted ascended by room date)
Rooms to Prepare for Guests Columnar (sorted ascended by room date)
arriving
Rooms to Prepare for Guests Columnar (sorted ascended by room date)
leaving

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

Navigate between
Delete existing record records buttons
button

Add new record button

4.3.1.3 CreditCard form

Onscreen instructions

Add new credit card Navigate button to


Deleted view existing details
detail button Booking form credit card Command button to
button check availability of
rooms (see Room
35 availability form)
Chrichtian A. Neal

Combo box to select


payment method:
‘Cash’ or ‘Creditcard’

Command button resets Command button to delete


displayed details to allow new already stored data in
input data. It store new input database relating to booking.
when clicked 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 Creteria SQL Code


Booking 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;
Daily room Date() SELECT Booking.Arrival, Booking.Checkout,
cleaning Booking.RoomNum, Rooms.RoomType
FROM Rooms INNER JOIN Booking ON Rooms.RoomNum =
Booking.[RoomNum]
WHERE (((Booking.Arrival)=Date()));

52
Chrichtian A. Neal

Rooms to Date() SELECT Rooms.RoomNum, Rooms.RoomType,


clean when Booking.Checkout
guest leaves FROM Rooms INNER JOIN Booking ON Rooms.RoomNum =
Booking.[RoomNum]
WHERE (((Booking.Checkout)=Date()));
Rooms to Date() SELECT Booking.Arrival, Booking.RoomNum,
clean upon Rooms.RoomType
guest arrival FROM Rooms INNER JOIN Booking ON Rooms.RoomNum =
Booking.[RoomNum]
WHERE (((Booking.Arrival)=Date()));
Invoice Date(),[Enter the Room SELECT Booking.Arrival, Booking.Checkout,
number] Rooms.RoomNum, Rooms.RoomType,
Rooms.PricePerNight, Booking!Checkout-
Booking!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]));
Room Is Null SELECT Rooms.RoomNum
FROM Rooms LEFT JOIN [Rooms Reserved] ON
available
Rooms.RoomNum = [Rooms Reserved].[RoomNum]
WHERE ((([Rooms Reserved].RoomNum) Is Null));
Room SELECT [Rooms Available].RoomNum, Rooms.RoomType
FROM [Rooms Available] INNER JOIN Rooms ON
available and
[Rooms Available].RoomNum=Rooms.RoomNum;
room type
Room Query [Enter the Room SELECT Rooms.RoomNum, Rooms.RoomType,
number] Rooms.PricePerNight, Rooms.CribAvailable,
Rooms.SataliteTVAvailable,
Rooms.GamesConsoleAvailable,
Rooms.InternetAvailable
FROM Rooms
WHERE (((Rooms.RoomNum)=[Enter Room Number]));
Rooms Between [Please enter PARAMETERS [Please enter arrival date] DateTime,
[Please enter checkout date] DateTime;
reserved arrival date] And
SELECT Booking.[RoomNum], Booking.Arrival,
[Please enter checkout Booking.Checkout
date]-1, Between FROM Booking
[Please enter arrival WHERE (((Booking.Arrival) Between [Please enter
arrival date] And [Please enter checkout date]-
date] And [Please
1)) Or ((([Checkout]-1) Between [Please enter
enter checkout date], arrival date] And [Please enter checkout date]))
<[Please enter arrival Or (((Booking.Arrival)<[Please enter arrival
date], >[Please enter date]) And (([Checkout]-1)>[Please enter
checkout date]-1));
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, on-
line 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 project-
related 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 con As Object


Dim rs As Object
Dim stSql As String
Dim 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 Test description Test data Expected result Actual result Comments
#
1 User validation S/authentication Prompt for user Prompts for user
name and password name and password
2 Validation of database Load database and Database main
display main menu menu is displayed
3 Booking Form June 4, 2012 “Hotel is close until “Hotel is close until
Check that hotel can not be booked relocation is over” relocation is over”
between June 1 and June 15, 2012
4 Booking Form June 4, 2013 (validate record) (validated record) Validation for
Check that hotel can not be booked the year 2012
between June 1 and June 15, 2012 only
5 Rooms Available Query Feb 12, 2012 (only non-booked (only non-booked
rooms are to rooms displayed)
display)
6 Main menu Input box Input box
Test if the check room availability requesting to requesting to enter
command button works correctly enter the arrival the arrival ate
date
7 Main menu Exits the database Exits and close
Test if the exit command button entire the database
exits the database
8 Main menu Report form of Displays report form
Test if the report command button various reports of various reports
shows various report buttons
9 Main menu Display Customer Customer
Test if the ‘View / Add Customer details form details form are
Record’ command button works displayed
correctly
10 Main menu Display Credit Card Credit Card details
Test if the ‘View / Add Credit Card details form form are displayed
Record command button works
correctly
11 Main menu Display Booking Booking
Test if the ‘View / Add Booking’ details form details form are
command button works correctly displayed

12 Check Room availability menu Input box to be Displays input box


Test if the click on command displayed requesting
button works correctly requesting arrival date
arrival date
b If ‘true’ then Input box Displays input box
requesting requesting
checkout date checkout date
to be displayed
13 Rooms Available Query Feb 12, 2012 (only non-booked (only non-booked
rooms are to be rooms displayed)
displayed)
14 Customer Details Form ‘Creditcard’ Enable creditcard creditcard number
Test if the payment method combo number combo box combo box enables
box enables Creditcard number
when set to ‘creditcard’

59
Chrichtian A. Neal

15 Customer Details Form ‘Cash’ Disable creditcard creditcard number This function
Test if the ‘payment method’ number combo box combo box doesn’t needs working
combo box disables Creditcard get disabled on to enable
number when set to ‘cash’ desired result
16 Customer Details Form Add new record New record added First click clears
Test ‘add new customer’ command displayed data
button functionality for new entry
17 Customer Details Form Delete existing Focused record Accept ‘yes’ to
Test delete record’ command focused record deleted confirm deletion
button functionality of focused data
18 Customer Details Form Go to previous Previous record is
Test ‘previous record’ command existing record displayed
button functionality
19 Customer Details Form Go to next existing Next record is
Test ‘next record’ command button record displayed
functionality
20 Customer Details Form Display Booking Booking form
Test ‘go to booking’ shortcut form displayed
command button functionality
21 Credit Card Details Form Add/create new New credit card
Test ‘Add Credit Card’ command credit card record record
button functionality added/created
22 Credit Card Details Form Delete current credit Current/focused
Test ‘Delete Credit Card’ command card record credit card record
button functionality deleted
23 Credit Card Details Form Go to previous Previous record is
Test ‘previous record’ command existing record displayed
button functionality
24 Credit Card Details Form Go to next existing Next record is
Test ‘next record’ command button record displayed
functionality
25 Booking Details Form Go to previous Previous record is
Test ‘next record’ command button existing record displayed
functionality
26 Booking Details Form Go to next existing Next record is
Test ‘previous record’ command record displayed
button functionality
27 Booking Details Form Delete current credit Current/focused
Test ‘Delete’ command button card record credit card record
functionality deleted
28 Booking Details Form Add new record New record added First click clears
Test ‘New Booking’ command box displayed data
functionality for new entry
29 Booking Details Form Drop down a list to List drop for
Test ‘Payment Method’ combo box select ‘cash’ or selection: ‘cash’ or
functionality ‘creditcard’ from ‘creditcard’
30 Booking Details Form Prompt for user input Room number
Test ‘Feature Available in Room ’ on room number in prompted for
command button functionality question
b Booking Details Form Display table with Available service as The section
Test ‘Feature Available in Room ’ services available per room number might need to
command button functionality displayed in table be worked on
31 Booking Details Form Prompt for user input Room number
Test ‘Room Availability ’ command on room number in prompted for
button functionality question
b Booking Details Form Prompt for user input Non-booked rooms
Test ‘Room Availability ’ command on room number in displayed (room no
button functionality question and type)
32 Report Form Display Report for Report displayed in
Test ‘Daily Room Cleaning ’ Daily Room print preview
command button functionality Cleaning in print
preview
33 Report Form Display Report for Report displayed in
Test ‘Room to prepare for guest Rooms to clean for print preview
arrival today’ command button guests arriving today
functionality in print preview
34 Report Form Display Report for Report displayed in
Test ‘Room to Clean guest leaving Rooms to clean for print preview
today ’ command button guests leaving in

60
Chrichtian A. Neal

functionality print preview


35 Report Form Display Customer Invoice displayed in Section width is
Test ‘Customer Invoice’ command Invoice in print Print preview greater than
button functionality preview page with.
Needs to be
reduced
36 Report Form Room 105 Display Customer Invoice displayed in See Print out
Test ‘Customer Invoice’ command Invoice in print Print preview (Appendix A) for
button functionality preview 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 Page

1. What is database …………………………………………………………………. 65

2. Database authentication (login and decryption) ………………… 65

3. Main Menu …………………………………………………………………………. 68

4. Data Manipulation ……………………………………………………………… 69

5. Booking Process …………………………………………………………………. 70

6. Reports ………………………………………………………………………………. 72

7. Customer Invoice ……………………………………………………………….. 73

8. Closing database ………………………………………………………………… 73

9. Glossary ………………………………………………………………………………. 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 Exits entire


queries in database
report form

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 Click to go to


current record 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_in_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