资源描述
毕业设计(论文)VB+SQL宾馆酒店管理系统
宾馆酒店管理系统
林丽娟
,浙江海洋学院 石化学院~浙江 舟山 316004,
[摘要]:
对于宾馆酒店等服务性行业,服务质量是吸引客户、提高经济效益的关键因素。作为计算作应用的一部分,使用计算机对宾馆信息进行管理,具有检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等优点,能够极大地提高宾馆管理的效率,也是企业的科学化、正规化管理,与世界接轨的重要条件。因此,开发这样一套管理软件主要全面的论述了宾馆在正常运营中需要对客房资源、顾客信息、结算信息进行管理,系统可以完成对各类信息的浏览、查询、添加、删除、修改等功能.本文以Visual Basic 6。0作为开发工具,且以服务软件Microsoft SQL Server 2000作为后台数据库,通过此系统简要说明宾馆管理信息系统的需求分析、系统功能模块设计、数据库分析,并由此设计了数据库结构和应用程序。系统运行结果证明,本文所设计的宾馆管理系统可以满足顾客、宾馆工作人员和高级管理员三方面的需要。宾馆酒店采用管理信息系统来管理日常工作,合理配置资源,提升管理水平,从而在市场竞争中取得优势。
[关键词]: Visual Basic 数据库管理系统 SQL语言 宾馆管理系统 模块
目录
摘要 „„„„„„„„„„„„„„„„„„„„„„„„„„„
第一章 引言 „„„„„„„„„„„„„„„„„„„„„ 1 1。1 问题的提出
1。1。1 课题的来源„„„„„„„„„„„„„„„„„„„„„„„„1
1.1.2 研究课题的动态„„„„„„„„„„„„„„„„„„„„„1 1。2 课题的内容与意义„„„„„„„„„„„„„„„„„„„„„„„„ 2
1。2.1 课题的内容„„„„„„„„„„„„„„„„„„„„„„„„2
1。2.2 课题的意义„„„„„„„„„„„„„„„„„„„„„„„„ 第二章 宾馆管理的系统分析„„„„„„„„„„„„„„„„
2。1系统需求分析 „„„„„„„„„„„
2.2 系统体系结构设计„„„„„„„„„„„„„„„„
2.3 开发工具的选择 „„„„„„„„„„„„„„„„ 4
2.4 开发系统所需的实用技术„„„„„„„„„
2.5 本文所做的主要工作 „„„„„„„„„„„„„„ 6 第三章 宾馆管理的总体设计„„„„„„„„„„„„„„„„ 7
3。1使用计算机管理宾馆的意义„„„„„„„„„„„„„„„„„
3。2宾馆管理的设计分析„„„„„„„„„„„„„„„„„ 第四章 数据库系统功能模块设计„„„„„„„„„„„„„„16
4.1数据库设计„„„„„„„„„„„„„„„„„ 17
4。2登录模块设计„„„„„„„„„„„„„„„„„ 17 4。3主界面设计„„„„„„„„„„„„„„„„„ 17
第五章 宾馆管理信息系统具体程序实现„„„„„„„37
5.1基本信息管理管理模块设计
5.1.1客户信息编辑窗体的创建„„„„„„„„
5。1.2客户信息管理窗体的创建„„„„„„„„„„„
5。1.3客户信息选择窗体的创建„„„„„„„„„„„
5。1.4客房类型信息编辑窗体的创建„„„„„„„„„„„„„ 38
5。1。5客房状态信息管理窗体的创建„„„„„„„„„„„ 39
5.1.6客房信息编辑模块的创建„„„„„„„„„„„ 39
5。1。7客房状态信息编辑窗体的创建„„„„„„„„„„„ 39
5。1。8客房信息管理窗体的创建„„„„„„„„„„„„„ 5.2前台接待管理模块设计
5.2.1客房预定信息编辑窗体的创建„„„„„„„„„„„„ 49
5.2。2客房预定信息管理窗体的创建„„„„„„„„„„„„ 49
5。2。3客房入住登记信息编辑窗体的创建„„„„„„„„ 40
5.2.4客房入住登记信息管理窗体的创建„„„„„„„„ 40
5.2。4客房续住登记信息编辑窗体的创建„„„„„„„„ 40
5。2。4客房续住登记信息管理窗体的创建„„„„„„„„ 40
5。2。5退房登记信息编辑窗体的创建„„„„„„„„ 40
5.2。6退房登记信息管理窗体的创建„„„„„„„„ 40 5。3收银统计管理模块设计
5。3。1实收房款信息编辑窗体的创建„„„„„„
5.3。2实收房款信息管理窗体的创建„„„„„„
5.3.3客户消费统计表的创建„„„„„„
5.3.4实收房款统计表的创建„„„„„„
5。4系统用户管理模块的创建„„„„„„„„„„„„
第六章 结束语 „„„„„„„„„„„„„„„„„„„„ 6 参考文献 „„„„„„„„„„„„„„„„„„„„ 70 第1章 引言
1(1 问题的提出
1(1(1 课题的来源
当今,席卷全球的信息化大潮把信息管理推倒了时代发展的前沿,信息管理系统已经成为全社会注视的热点。随着科学技术的发展,今天的计算机已经深入到社会和生活的各个领域,尤其在信息管理系统方面其发展的规模和应用程度已经成为一个国家现代化水平的重要标志。随着科学技术的不断提高,计算机科学日渐成熟,其强大的功能已成为人们深刻认识,它已进入人类社会的各个领域并发挥着越来越重要的作用.人们可以将大量的繁琐的工作交给计算机去完成,从而大大提高了工作效率,此外,计算机可以利用长期使用过程中所存贮的大量数据进行数据分析,为管理者进行决策提供可靠的信息资料.
酒店服务项目众多,客人信息内容繁琐,而且信息量大,因而在操作上经常造成很多不便之处,浪费了时间,降低了工作效率,而且极大地影响了酒店的服务质量和经济效益。
由此我设计了宾馆酒店管理系统。该管理系统的开发,本着科学化、规范化、系统化的
原则,并考虑到酒店的实际情况,该系统支持SQL,具有查询方便、安全保密性好、用户
界面友好、容易操作等优点。应用此管理系统后,该酒店对每位客人的具体情况便可以
了如指掌,而且在对客人信息进行操作时,节省了大量时间,很大程度上提高了员工的
工作效率和酒店的服务质量。
1(1(2 研究课题的动态
当今,席卷全球的信息化大潮把信息管理推倒了时代发展的前沿,信息管理系统已经成为全社会注视的热点。国外许多发达国家在这一方面采用先进技术,发展水平领先一步。在我国也已开始应用于经营管理的各个领域,在不同的部门、不同的层次上参与和支持着各种经营、管理活动,扮演着越来越重要的角色,产生了一定的经济效益和社会效益。 酒店作为一个成熟的产业,各种酒店管理软件众多,有条件的酒店或宾馆采用自主开发或委托软件开发商开发出的专用软件,部分大型酒店也已经使用市场上的有关酒店管理系统(一般价格也较昂贵)。然而占着绝大多数的中小型酒店、宾馆由于资金、人员等多方面原因不易使用酒店管理类软件,全凭原始的手工记录管理,效率低、易出错;同时,市场上出现的各类酒店管理软件基本上都是为大型酒店专业设计的,有很多功能对于一般酒店、宾馆根本用不上.软件市场急需一套低廉的价格、完善的服务,齐全的功能为基础,结合酒店前台管理的需要进行扩展性而开发的一套酒店管理系统。
1(2 课题的内容与意义
1。2.1 课题的内容
研究的内容为酒店管理系统,该系统的主要功能模块包括:前台管理、系统维护、经理
查询、宾客系统,前台系统模块主要功能为预定、入住登记,点单,结账开单,消费查
询,房台设置等;系统维护模块主要是数据库备份,设置酒店客房,桌台,食品,折扣
方式等等;经理查询模块提供各种查询功能以便及时了解酒店即时的信息,包括查询客
人消费,客账查询,营收汇总,房台状态浏览等;宾客系统主要是提供各种查询功能,
以便让宾客酒店及自身消费情况,这些模块基本上满足了用户(酒店)在客房管理,餐
饮管理等方面的需求,并且还可随着酒店业务的发展对系统进行扩展升级。 1。2。2 课题的意义
E时代的酒店管理具有四个鲜明特点:一是国际化、一是网络化、一是高效化、一是灵活性。国际化指的是在经济全球化的趋势下,国际旅游更加活跃,客户的要求更加多样化,同时酒店业的竞争会更加透明和激烈,因此必须引进国际上先进的管理模式,来提高服务的水平和竞争力;网络化与酒店管理的复杂程度有关,现在,在一个更加开放的环境中,各项管理内容更加细化,而网络可以大大简化、规范这一切,同时还可以大大降低成本,此外,作为旅游业的一个环节,酒店业还必须努力融入整个商业链,更多的通过网上来扩展业务;高效化既是服务水平的一个体现,同时,也是酒店效益的根本;灵活性指的则是酒店必须随时能够掌握来自客户方面的需求和要求,并满足各种各样个性化的需求。宾馆在正常的运营中需要对客房资源、顾客信息、结算信息进行管理,利用宾馆管理信息系统及时了解各个环节中信息的变更,有利于提高管理效率.
第二章 宾馆管理的系统分析
2(1系统需求分析 „„„„„„„„„„„
酒店宾馆管理系统应充分利用信息技术提高宾客房的管理水平、服务水平.客房管
理系统要实现客房信息管理、客房类型管理、客房信息管理、预定客房信息管理、入住
登记信息管理、续住登记信息管理、退房登记住处管理、实收房款管理、客户消费统计
表和实收款统计表等主要功能,具体如下:
1。客房类型信息的添加、修改、删除和查询.
2。客房信息的添加、修改、删除和查询。
3。预定客房信息的添加、修改、取消预定和查看详细信息客户信息的添加修改、删
除和查询。
4.登记入住和修改登记信息.
5.保存续住登记信息;保存退房登记信息;保存实收房款信息。
6.查看客户消费统计表和实收款和实收款统计表。
2(2 系统体系结构设计„„„„„„„„„„„„„„„„
宾馆酒店管理系统 系统功能模块示意
基前前系
本台台统
信接接用
息待待户
管管管管 理 理 理 理
客客客预入续退实客实用修切
户房房定住住房收户收户改换
信类信客登登登房消款信自用
息房记记记款费统息身息型户 管管管管管管管管统计 管密
理 理 理 理 理 理 理 理 计 理 码
2(3 开发工具的选择 „„„„„„„„„„„„„„„„ 4
本系统采用ADO数据访问技术,并将每个数据库表的字段和操作封装到类中,从而成功地将面向对象的程序设计思想应用到数据库应用程序设计中.这也是本系统的特色和优势。
开发数据库管理信息系统需要选择两种工具,即前台开发语言和后台数据库。前台开发工具选择Visual Basic 6。0,Visual Basic 6.0是微软公司推出的可视化编程工具MSDN之一,是目前最为广泛的、易学易用的面向对象的开发工具.Visual Basic提供了大量的控件,这些控件可用于设计界面和实现各种功能,减少了编程人员的工作量,也简化了界面设计过程,从而有效的提高了应用程序的运行效率和可靠性.故而,实现本系统VB是一个相对较好的选择。
后台数据库则选择SQL Server,是因为SQL语言集数据查询、数据操纵、数据定义和数据控制功能于一体,是作为关系数据库管理系统中的一种通用的结构化查询语言。中间层采用ADO数据访问技术,将对数据库的操作以类的形式封装。
2(4 开发系统所需的实用技术
开发此数据库管理信息系统所需实用技术有: 1(所选开发工具的基本编程方法。
2(基本的后台数据库管理方法,例如创建数据库、创建表、创建视图、备份和还原数
据库等。
3(常用SQL语句的使用.
4(ADO数据库访问技术
2.5 本文所做的主要工作
本文论述了分析、开发、设计一个酒店管理系统的过程.该系统融入酒店科学、规范的现代管理思想,为提高各业务部门本身的工作效率,自动完成各业务部门之间的各种营业信息、帐务、报表的自动化传输与汇总,使各项业务工作制度化,科学化。结合先进的计算机技术,采用VISUAL BASIC和SQL Server2000开发而成。
本文介绍了课题相关内容,并通过设计分析,划分数据库,将系统划分为四个主要功能模块:前台管理、系统维护、经理查询、宾客系统。着重叙述了前台管理和系统维护这两个功能模块的功能实现,这些模块基本上满足了用户(酒店)在客房管理,餐饮管理等方面的需求。如对客房、员工的设置修改,相关的顾客服务等.系统中的各业务管理模块既可单机独立运行,也可在服务器/工作站组成的局域网络平台上联网运行.可随着酒店业务的发展对系统进行扩展升级
第三章 宾馆管理的总体设计„„„„„„„„„„„„„„„„ 7 3.1使用计算机管理宾馆的意义„„„„„„„„„„„„„„
随着酒店管理系统的不断完善,酒店上网业务必将成为今后的热门话题。酒店上网业务提高了宾馆酒店的知名度以及服务档次,在为顾客提供优质服务的同时,在增加了其自身的效益。客人可以在酒店上Internet进行工作和商务活动,也可以通过Internet查询酒店情况,进行酒店的预定、结帐等活动,极大地方便了顾客。虽然计算机管理并不是宾馆管理走向成功的关键元素,但它可以最大限度地发挥准确、快捷、高效等作用,对宾馆的服务管理提供强有力的支持。因此,采用全新的计算机网络和宾馆管理系统,已成为提高宾馆管理效率、改善服务水准的重要手段之一.在某种意义上,宾馆客房管理方面的信息化已成为现代化宾馆的重要标志.另外,随着信息技术的发展和人们对宾馆酒店的要求越来越高,宾馆已明显觉得手工管理已经不能适应当前宾馆高速发展的需要。
系统流程分析如图 开 始 重试
否
失败 是 用户登录 失败超过3次 退出程序
用户管理模块 宾馆酒店管理模块 成功
读取用户类型 ? 管理自己的用户信息 1系统的所? 管理领班用户的用户信息
? 管理普通用户的用户信息 有其他功能 Admin用户 ? 管理自己的用户信息
领班用户 ? 管理普通用户的用户信息
2领班用户
管理模块
管理自己的用户信息
普通用户 3普通用户
管理模块 第四章 数据库系统功能模块设计„„„„„„„„„„„„„„16
4(1数据库结构设计
宾馆酒店管理系统数据库包含8个表,即客户信息表Customer、客房类型表RoomType、客房信息表Room、客房预定信息表OrderRoom、预定客房登记表OrderList、入住登记信息表Registration、实结房款信息表PayforRoom和用户信息表Users. (1)、客户信息表Customer,
包括custld(编号,主键)、ldtype(证件类型)、custname(客户姓名)、orgname(客户单位)、custtype(客户类型)、custfrom(国籍户籍)、sex(性别)、job(职务)、office(办公电话)、mobile(移动电话)、home(住宅电话)、custlevel(客户等级)、address(家庭地址)、postcode(邮政编码)。
(2)、客房类型表RoomType,
包括typeld(类型编号,主键)、typename(类型名称)、roomnum(房间数量)、bednum(床位数量)、airconditioning(是否有空调)、tel(是否有电话)、tv(是否有电视)、toilet(是否有独立卫生间)、icebox(是否有冰箱).
(3)、客房信息表Room,
包括roomno(客房编号,主键)、typeld(客房类型编号)、position(房间朝向)、objlist(客房中所有物品的列表)、price(标准价格)、status(房间当前状态)。
(4)、客房预定信息表OrderRoom,
包括orderld(记录编号,主键)、custld(入住客户编号)、firstpay(押金)、orderdate(预定日期)、username(经办人)。
(6)、预定客房登记表OrderList,
包括listld(记录编号,主键)、orderld(客户编号)、roomno(客房编号)、indate(计划入住日期)、days(入住天数)、price(预定单价)、rate(预定折扣)、otherfee(其它收费金额)、memo(备注)。
(7)、入住登记信息表Registration,
包括regld(记录编号,主键)、cultld(客户编号)、roomno(客房编号)、indate(入住日期)、leavedate(退房日期)、days(入住天数)、price(单价)、rate(折扣)、otherfee(其他收费金额)、firstfee(押金)、memo(其它说明)、status(入住登记记录的状态:1表示入住,2表示退房,3表示结款)、username(经办人)。
(8)、实结房款信息表PayforRoom,
包括regld(登记编号)、amount(结款金额:如果结款金额为负,则表示退款)、username
(经办人)、opttime(结款日期).
(9)、用户信息表Users,
包括username(用户名,主键)、empname(员工姓名)、userpwd(密码)、usertype(用户类型:1表示领班用户,2表示普通用户).
4。2登录窗体及系统主界面设计
当系统运行时,首先打开登录窗体,只有有权限的用户才能进入系统。登录成功后将显示系统主界面。其界面布局如下图所示:
登录窗体名称为FrmLogin,其代码如下所示:
Public PasswordKey As String
Public NameKey As String
Public Try_times As Intege
Private Sub Cmd_Cancel_Click()
End
End Sub
Private Sub Cmd_OK_Click()
Dim j As Single '数据有效性检查
If txtUser = ”” Then
MsgBox "请输入用户名”
txtUser。SetFocus
Exit Sub
End If
If txtPwd = ”" Then
MsgBox ”请输入密码"
txtPwd。SetFocus
Exit Sub
End If
NameKey = MakeStr(txtUser) PasswordKey = MakeStr(txtPwd) '判断用户是否存在
If MyUser。In_DB(NameKey) = False Then
MsgBox "用户名不存在”
Try_times = Try_times + 1 If Try_times 〉= 3 Then MsgBox "您已经三次尝试进入本系统,均不成功,系统将关闭" DBapi_Disconnect
End
Else
Exit Sub
End If
End If
’判断密码是否正确
MyUser。GetInfo (NameKey) If MyUser.UserPwd 〈〉 PasswordKey Then
MsgBox ”密码错误”
Try_times = Try_times + 1 If Try_times >= 3 Then MsgBox "您已经三次尝试进入本系统,均不成功,系统将关闭" DBapi_Disconnect
End
Else
Exit Sub
End If
End If
’登录成功,将当前用户的信息保存在CurUser中
CurUser。GetInfo (NameKey) ’关闭登录对话框
Unload Me
End Sub
Private Sub Form_Load()
End Sub
4.3主界面设计
主窗体是工程的启动对象,可以在系统菜单中选择“工程”/“属性”,打开属性窗口设
置启动对象。主窗体名称为FrmMain.打开主窗体的设计窗口,选择“工具“菜单”项中的
“菜单编辑器”,对菜单内容进行编辑,设置菜单项的属性。在主窗体FrmMain中添加如下代码:
Private Sub Form_Load()
FrmLogin。Show 1
End Sub
当主窗体启动时,首先打开“登录”对话框。如果不能通过身份验证,则不能进入系统。系统主界面如下图所示.
基本信息模块设计
基本信息模块管理模块包括客户信息管理,客房类型管理和客房信息管理。 5.1.1设计客户信息编辑窗体
客户信息编辑窗体可以用来添加和修改客户的基本信息,窗体名称为FrmCustEdit,窗体的布局如下图所示。
5.1.2客户信息管理窗体
5(1(3客房类型信息编辑窗体
Private Sub Cmd_OK_Click()
’检查用户录入的数据是否完全有效
'客房类型、房间数量、床位数量是必须输入的
If Trim(txtRtype) = ”” Then
MsgBox ”请输入客房类型”
txtRtype.SetFocus
Exit Sub
End If
If Trim(txtRnum) = "" Then
MsgBox ”请输入房间数量"
txtRnum.SetFocus
Exit Sub
End If
If Trim(txtBnum) = "" Then
MsgBox "请输入床位数量"
txtBnum。SetFocus
Exit Sub
End If
'把用户录入的数据赋值到MyRoomType对象中,并保存到数据库
With MyRoomType
.TypeName = MakeStr(txtRtype。Text) ’==客房类型
。RoomNum = Val(txtRnum) ’==房间数量
.Bednum = Val(txtBnum) ’==床位数量
If Option1.Value = True Then '==空调
.AirConditioning = 1
Else
。AirConditioning = 0
End If
If Option3。Value = True Then '==电话
.Tel = 1
Else
。Tel = 0
End If
If Option5。Value = True Then '==电视
。Tv = 1
Else
。Tv = 0
End If
If Option7。Value = True Then '==独立卫生间
。Toilet = 1
Else
。Toilet = 0
End If
If Option9。Value = True Then '==冰箱
.IceBox = 1
Else
。IceBox = 0
End If
’Modify=False表示当前为插入新数据状态;否则为修改数据状态
If Modify = False Then
’判断当前房间类型是否存在
If .In_DB(。TypeName) = True Then
MsgBox ”当前房间类型已经存在"
Exit Sub
End If
。Insert
Else
If .TypeName 〈〉 OriType Then
’判断当前客户是否存在
If 。In_DB(.TypeName) = True Then
MsgBox ”当前房间类型已经存在”
Exit Sub
End If
End If
。Update (OriTypeId)
End If
End With
Unload Me
End Sub
Private Sub Loadtype()
Dim i As Integer
i = 0
'读取客户类别到数组Arr_CustType()中
MyCust.Loadtype
ComboType.Clear
'依次把数组Arr_CustType()中的数据添加到ComboType组合框中
i = 0
Do While Arr_CustType(i) 〈> ””
ComboType。AddItem Arr_CustType(i)
i = i + 1
Loop
'设置ComboType的显示值,
If OriType = ”” Then
’如果没有原值,则显示第1条记录值
If ComboType。ListCount 〉 0 Then
ComboType。ListIndex = 0
End If
Else
'将显示值恢复为原有数据
If InCombo(OriType, ComboType) = True Then
ComboType。Text = OriType
Else
If ComboType.ListCount > 0 Then
ComboType.ListIndex = 0
End If
End If
End If
End Sub
5(1(5客房信息编辑 Public Sub Refresh_Room()
'判断ComboRtype组合框listindex,在数组Arr_RoomType()得到对应的类别编号
Dim sql1 As String ’保存客房类型的查询条件
Dim sql2 As String '保存客房状态的查询条件
Dim sqlStr As String
’设置客户类型的查询条件,选择全部时没有查询条件
If ComboRtype。ListIndex 〉 0 Then
sql1 = ” And t。TypeName=’" + Trim(ComboRtype.Text) + ”’"
Else
sql1 = "”
End If
’设置客户状态的查询条件,选择全部时没有查询条件
If ComboStatus.ListIndex 〉 0 Then
sql2 = ” And r.Status=" + Trim(ComboStatus。ListIndex - 1)
Else
sql2 = ""
End If
’返回查询条件
sqlStr = sql1 + sql2
’strSql表示设置的查询条件
Adodc2.ConnectionString = Conn
Adodc2.RecordSource = "SELECT r.RoomNo As 房间编号, t。TypeName as 房间类型,” _
+ " t。RoomNum as 房间个数, t。BedNum as 床位数量, r.Position as 朝向,” _
+ ” r.Price as 价格, (CASE r。status When 0 Then ’空房’ " _
+ ” When 1 Then ’预定’ When 2 Then ’入住' When 3 Then '退房' Else '维修' End) As 状态,”
+ ” r。ObjList as 物品清单 FROM Room r, RoomType t WHERE r。TypeId=t.TypeId " _
+ sqlStr + ” ORDER BY r。RoomNo”
Adodc2。Refresh
Set DataGrid1。DataSource = Adodc2
DataGrid1.Columns(0)。Width = 1000 ’房间编号
DataGrid1。Columns(1).Width = 1200 ’房间类型
DataGrid1。Columns(2).Width = 1000 ’房间个数
DataGrid1。Columns(3)。Width = 1000 ’床位个数
DataGrid1。Columns(4)。Width = 800 '朝向
DataGrid1.Columns(5).Width = 1400 ’价格
DataGrid1。Columns(6)。Width = 800 ’状态
DataGrid1。Columns(7)。Width = 2000 '物品清单
End Sub
5(1(6客房信息管理窗体
Public Sub Refresh_Room()
’判断ComboRtype组合框listindex,在数组Arr_RoomType()得到对应的类别编号
Dim sql1 As String ’保存客房类型的查询条件
Dim sql2 As String '保存客房状态的查询条件
Dim sqlStr As String
’设置客户类型的查询条件,选择全部时没有查询条件
If ComboRtype。ListIndex 〉 0 Then
sql1 = " And t.TypeName='” + Trim(ComboRtype。Text) + ”’”
Else
sql1 = ””
End If
’设置客户状态的查询条件,选择全部时没有查询条件
If ComboStatus。ListIndex 〉 0 Then
sql2 = ” And r。Status=” + Trim(ComboStatus。ListIndex - 1)
Else
sql2 = ””
End If
’返回查询条件
sqlStr = sql1 + sql2
'strSql表示设置的查询条件
Adodc2。ConnectionString = Conn
Adodc2。RecordSource = "SELECT r。RoomNo As 房间编号, t。TypeName as 房间类型,” _
+ ” t。RoomNum as 房间个数, t。BedNum as 床位数量, r。Position as 朝向,” _
+ ” r.Price as 价格, (CASE r。status When 0 Then '空房’ " _
+ ” When 1 Then ’预定’ When 2 Then ’入住’ When 3 Then ’退房’ Else ’维修’ End) As 状态," _
+ " r。ObjList as 物品清单 FROM Room r, RoomType t WHERE r.TypeId=t.TypeId " _
+ sqlStr + ” ORDER BY r.RoomNo”
Adodc2.Refresh
Set DataGrid1。DataSource = Adodc2
DataGrid1。Columns(0).Width = 1000 ’房间编号
DataGrid1。Columns(1).Width = 1200 ’房间类型
DataGrid1。Columns(2)。Width = 1000 ’房间个数
DataGrid1。Columns(3)。Width = 1000 ’床位个数
DataGrid1。Columns(4).Width = 800 ’朝向
DataGrid1。Columns(5).Width = 1400 ’价格
DataGrid1。Columns(6)。Width = 800 ’状态
DataGrid1。Columns(7)。Width = 2000 ’物品清单
End Sub
5(1(7客房状态信息编辑窗体
Private Sub Cmd_Change_Click()
’更改状态
Dim iStatus As Integer
'如果状态被选中,则其值为true
For i = 0 To Option1。Count - 1
If Option1(i)。Value Then
iStatus = i
Exit For
End If
Next
’更改状态值
MyRoom。Status = iStatus
MyRoom。UpdateStatus (Trim(lblRoomNo.Caption))
Unload Me
End Sub
5(1(8客房信息编辑窗体
Private Sub Cmd_OK_Click()
'判断主要域是否为空,其中客房编号、客房类型、价格必须输入
If Trim(txtRId.Text) = ”” Then
MsgBox ”请输入客房编号”
txtRId。SetFocus
Exit Sub
End If
If Trim(dco_RType.Text) = "" Then
MsgBox "请输入客房类型"
dco_RType。SetFocus
Exit Sub
End If
If Trim(txtPrice.Text) = "" Then
MsgBox "请输入客房价格”
txtPrice。SetFocus
Exit Sub
End If
With MyRoom
。RoomNo = MakeStr(txtRId。Text)
’dco_RType。BoundText是当前选择房间类型的TypeId字段值
。TypeId = Val(dco_RType。BoundText)
。Position = MakeStr(cmbDrt.Text)
.ObjList = MakeStr(txtList。Text)
.Price = Val(txtPrice。Text)
'空房、入住、预留、退房、维修
If Trim(ComboStatus。Text) = ”空房” Then
.Status = 0
ElseIf Trim(ComboStatus。Text) = "预留” Then
。Status = 1
ElseIf Trim(ComboStatus。Text) = ”入住" Then
。Status = 2
ElseIf Trim(ComboStatus.Text) = "退房" Then
。Status = 3
ElseIf Trim(ComboStatus。Text) = ”维修” Then
。Status = 4
End If
If Modify = False Then
’插入新记录
。Insert
Else
If Trim(txtRId.Text) = OrgRId Then
'如果原始编号等于现有编号,则修改记录;
.Update (OrgRId)
Else
'如果原始编号不等于现有编号,而且表没有此新的编号,则修改记录;
If .In_DB(OrgRId) = True Then
.Update (OrgRId)
Else
MsgBox "已经存在此客房编号,请重新输入客房编号”
txtRId.SetFocus
Exit Sub
End If
End If
End If
End With
FrmRoomMan。Adodc2.Refresh
Unload Me
End Sub
5.2前台接待管理模块设计
5。2。1。客房预定信息编辑窗体
Private Sub Refresh_OrderList()
’预定信息记录,Status=1的为预定信息
Adodc1.ConnectionString = Conn
Adodc1。RecordSour
展开阅读全文