基于VB的酒店管理系统设计报告Word文档下载推荐.docx
《基于VB的酒店管理系统设计报告Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《基于VB的酒店管理系统设计报告Word文档下载推荐.docx(26页珍藏版)》请在冰豆网上搜索。
作为提供多功能服务的综合场所,吸引顾客是酒店生存的重要条件。
提高酒店的经营管理,为顾客提供更优质的服务,同时降低酒店的运营成本是酒店发展的关健。
面对信息时代的机遇和挑战,利用科技手段提高企业管理无疑是一条行之有效的途径。
计算机的智能化管理技术可以极大限度地提高服务管理水平,进行准确、快捷和高效的管理。
因此,采用全新的计算机酒店管理系统,已成为提高酒店管理效率、改善服务水平的重要手段之一。
酒店管理方面的信息化已成为现代化酒店的重要标志。
一、系统功能设计
1.1、VisualBasic简介
微软公司的VisualBasic6.0是由微软公司于1998年推出的Windows应用程序开发工具,是目前最为广泛的、易学易用的面向对象的开发工具。
VisualBasic提供了大量的控件,这些控件可用于设计界面和实现各种功能,减少了编程人员的工作量,也简化了界面设计过程,从而有效的提高了应用程序的运行效率和可靠性。
故而,实现本系统VB是一个相对较好的选择。
微软公司在VisualBasic6.0增加了ADO(ActiveXDataObjects)。
ADO是一个用于存取数据源的COM组件。
它提供了编程语言和统一数据访问方式OLEDB的一个中间层。
开发人员通过ADO,就可以很容易地编写出同时支持多种数据库的软件了。
此外,借助COM/COM+强大的功能,使用VisualBasic可以轻松地开发多层结构的分布式应用程序以及高效的Web应用程序。
为什么选择VisualBasic来开发本系统呢?
下面来介绍一下VisualBasic的独到之处:
(1)VisualBasic主要特性
1易于学习和使用。
VisualBasic的中心思想就是便于程序员使用,无论是新手还是专家,都能轻松上手并很快掌握它。
VisualBasic基于图形界面的开发环境使开发者对各种功能一目了然、容易理解。
用户仅仅通过鼠标的简单操作就可以构建出一个复杂的软件图形界面。
2开发高效,功能强大。
VisualBasic提供的图形用户界面和快速应用程序开发系统,使程序员可以轻松使用VisualBasic提供的各种功能的组件快速搭建一个应用程序。
在数据库编程方面,使用微软提供的DAO、RDO、ADO等控件可以直观、高效地完成各种数据库操作。
虽然VisualBasic易于使用,但这并不表明VisualBasic的功能薄弱,使用VisualBasic不仅可以开发简单的应用程序,还可以编写出商业级的客户端/服务器程序,以及强大的数据库应用程序。
使用VisualBasic开发面向终端用户的具有良好界面的程序更是得以就手。
3支持多种数据库访问机制。
VisualBasic6.0具有强大的数据库管理功能。
利用其提供的ADO访问机制和ODBC数据库连接机制,可以访问多种数据库,如Access、SQLServer等。
1.2系统功能分析
通过对用户需求的分析,得出该系统大致可分为九个功能:
酒店管理、客房管理、客户管理、报表打印、备份数据、帮助和退出。
系统的功能框图如图1.1所示。
1.3模块功能的设计
总模块
酒店管理模块
1.4系统结构分析和设计
在开发小型酒店管理系统时,对客户的信息的管理必不可少,通过对系统进行的需求分析、业务流程设计以及系统功能结构的确定,规划出系统中使用的数据库实体对象及实体E-R图。
客房入住需要以客人信息及入住信息进行登记,这就存在一个登记信息实体,其实体如图所示:
客人退房时需要对退房信息进行登记,退房登记实体包含人的基本信息以及对房费进行结算登记的信息,退房登记实体图如图所示:
二、数据库设计
2.1MicrosoftofficeAccess2003简介
MicrosoftAccess是一种关系式数据库,是由微软公司开发的。
关系式数据库由一系列表组成,表又由一系列行和列组成,每一行是一个记录,每一列是一个字段,每个字段有一个字段名,字段名在一个表中不能重复。
表与表之间可以建立关系(或称关联,连接),以便查询相关联的信息。
Access数据库以文件形式保存,文件的扩展名是MDB。
Access数据库由六种对象组成,它们是表、查询、窗体、报表、宏和模块。
表(Table)是数据库的基本对象,是创建其他5种对象的基础。
表由记录组成,记录由字段组成,表用来存贮数据库的数据,故又称数据表。
查询(Query)可以按索引快速查找到需要的记录,按要求筛选记录并能连接若干个表的字段组成新表。
窗体(Form)提供了一种方便的浏览、输入及更改数据的窗口。
还可以创建子窗体显示相关联的表的内容。
窗体也称表单。
报表(Report)的功能是将数据库中的数据分类汇总,然后打印出来,以便分析。
宏(Macro)相当于DOS中的批处理,用来自动执行一系列操作。
模块(Module)的功能与宏类似,但它定义的操作比宏更精细和复杂,用户可以根据自己的需要编写程序。
2.2数据库表结构设计
该系统使用了Access数据库,名称为data.mdb,其各表的功能和具体设计结构如下:
2.2.1用户信息表(管理表)
功能是保存系统的用户数据,表如下所示:
字段名称
数据类型
字段大小
姓名
文本
20
密码
2.2.2登记信息表(入住表)
功能是用来保存客人住宿时的住宿登记信息,表如下所示:
登记号
8
楼层号
2
房间号
4
性别
客房等级
10
客房类型
14
客房价格
预交定金
登记日期
日期/时间
2.2.3客房基础信息表(客房信息表)
功能是用来保存客房基础信息,表如下所示:
5
50
客房状态
客房备注信息
2.2.4退房登记信息表(退房登记表)
功能是用来保存客人退宿登记信息,表如下所示:
退房日期
付款金额
房间备注信息
12
2.2.5客户基本信息表(客户表)
功能是用来保存客户的基本信息,表如下所示:
身份证号码
18
3
籍贯
三、系统实现
1.用户登录界面
如果你有用户名,那你就登录,它可以识别用户合不合法,如果合法,就登录成功,进入到下一个界面;
如果不合法,就登录失败,重新登录。
如果你没有用户名,你也可以在这里点击注册新用户。
界面如下:
代码如下:
DimsqlAsString
Dimrs_loginAsNewADODB.Recordset
DimconnAsNewADODB.Connection
conn.Open"
provider=Microsoft.Jet.OLEDB.4.0;
datasource="
&
App.Path&
"
\data.mdb"
IfTrim(Text1.Text)="
"
Then
MsgBox"
用户名不能为空,请重新输入!
Text1.SetFocus
Else
sql="
select*from管理表where姓名='
Trim(Text1.Text)&
'
rs_login.Opensql,conn,adOpenKeyset,adLockPessimistic
Ifrs_login.EOF=TrueThen
没有这个用户,请重输入!
vbOKOnly+vbExclamation,"
Text1.Text="
username=Text1.Text
IfTrim(rs_login.Fields
(1))=Trim(Text2.Text)Then
UnloadMe
Form2.Show
Form1.Hide
密码不正确,请重输入!
Text2.SetFocus
Text2.Text="
EndIf
cnt=cnt+1
Ifcnt=3Then
2.用户注册界面
新用户在这里注册,如果你所输入的用户名己存在,它就会提示“用户名己存在,请重新注册!
”密码和确认密码要一致,否则就会提示“两次密码不一致,请重新输入!
”。
Dimrs_bookstyleAsNewADODB.Recordset
DimconnAsNewADODB.Connection
DimsqlAsString
findform=False
select*from管理表where姓名='
Text1.Text&
conn.Open"
rs_bookstyle.CursorLocation=adUseClient
rs_bookstyle.Opensql,conn,adOpenKeyset,adLockPessimistic
IfText1.Text="
用户名不能为空,请输入用户名!
vbOK0nly+vbExclamation,"
ElseIfText2.Text="
密码不能为空,请输入密码!
ElseIfrs_bookstyle.EOFThen
Dimhh
hh=MsgBox("
确信要注册新用户吗?
vbYesNo,"
)
Ifhh=vbYesThen
rs_bookstyle.AddNew
rs_bookstyle("
姓名"
)=Trim(Text1.Text)
密码"
)=Trim(Text2.Text)
IfText2.Text=Text3.TextThen
rs_bookstyle.Update
恭喜,您已经注册成功!
您的用户名是:
,密码是"
Text2.Text&
,请牢记!
vbOKOnly,"
Text3.Text="
两次密码不一致,请重新输入!
已取消注册!
用户名已存在,请重新注册!
3.主界面
本界面是系统的主界面,主要有菜单栏和工具栏。
点击菜单栏或工具栏的任何一个选项,都可以进入到相关界面,有更详细的介绍或功能。
菜单栏的设置
按钮的设置
按钮功能代码如下:
SelectCaseButton.Index
Case"
1"
Form14.Show
Form2.Hide‘调出客户信息
2"
Form13.Show
Form2.Hide‘调出入住信息
3"
Form15.Show
Form2.Hide‘调出退房信息
4"
Form19.Show
Form2.Hide‘调出客房信息
5"
Form23.Show
Form2.Hide‘调出入住信息浏览
6"
Form24.Show
Form2.Hide‘调出退房信息浏览
7"
Form22.Show
Form2.Hide‘调出客户信息浏览
CaseElse
Form25.Show
Form2.Hide‘调出客房信息浏览
EndSelect
4.入住信息
可以查询用户的入住信息,增加用户入住的信息,修改用户的入住信息,删除用户的入住信息,更新用户的入住信息。
如果你在增加、修改、删除用户的入住信息,先点击上面的按钮,然后在表里进行增加、修改、删除,最后保存的时候你就点击更新就可以保存了。
全局变量
Dimrs_tushuAsNewADODB.Recordset
Load事件
PrivateSubForm_Load()
select*from入住表"
provider=microsoft.jet.oledb.4.0;
datasource="
rs_tushu.CursorLocation=adUseClient
rs_tushu.Opensql,conn,adOpenKeyset,adLockPessimistic
DataGrid1.AllowAddNew=False
DataGrid1.AllowUpdate=False
DataGrid1.AllowDelete=False
SetDataGrid1.DataSource=rs_tushu
EndSub
4.0.1
增加信息提示框
增加的代码
DimanswerAsString
answer=MsgBox("
真的增加吗?
增加"
Ifanswer=vbYesThen
DataGrid1.AllowAddNew=True
DataGrid1.AllowUpdate=True
rs_tushu.AddNew
1+48,"
Else
ExitSub
EndIf
4.0.2
修改信息提示框
修改的代码
真的修改吗?
修改"
rs_tushu.Update
DataGrid1.Refresh
4.0.3查询的代码
Dimrs_bookAsNewADODB.Recordset
select*from入住表where登记号='
rs_book.CursorLocation=adUseClient
rs_book.Opensql,conn,adOpenKeyset,adLockPessimistic
Ifrs_book.EOF=TrueThen
没有这个用户,请重新输入!
SetDataGrid1.DataSource=rs_book
4.0.4
删除信息提示框
删除的代码
DimanswerAsString
真的删除吗?
删除"
DataGrid1.AllowDelete=True
rs_tushu.Delete
4.0.5更新的代码
5.退房信息
IfTrim(Text1.Text)="
MsgBox"
登记号不能为空"
Text1.SetFocus
IfTrim(Text2.Text)="
房间号不能为空"
Text2.SetFocus
select*from退房登记表where登记号='
Ifrs_bookstyle.EOFThen
rs_bookstyle.Fields(0)=Trim(Text1.Text)
rs_bookstyle.Fields
(1)=Trim(Text7.Text)
rs_bookstyle.Fields
(2)=Trim(Text2.Text)
rs_bookstyle.Fields(3)=Trim(Text3.Text)
rs_bookstyle.Fields(4)=Trim(Text4.Text)
rs_bookstyle.Fields(5)=Trim(Text5.Text)
rs_bookstyle.Fields(6)=Trim(Text6.Text)
退房成功!
Text4.Text="
Text5.Text="
Text6.Text="
Text7.Text="
信息重复!
rs_bookstyle.Close
5.1、退房查询
可以查看有那一些房间已经退房了。
5.2.退房浏览
代码好下:
5.3.退房信息删除
数据保存有一定的保存期限,如果过了那一个期限,就把数据删除。
select*from退房登记表where登记号='
Text1.Te