当前位置:文档之家› 毕业论文(宾馆管理系统)

毕业论文(宾馆管理系统)

毕业论文(宾馆管理系统)新乡电力宾馆管理系统毕业论文(系统VB6.0)指导教师:张敏计算机专业:裴文龙前言随着21世纪的钟声敲响,人类正以惊人的速度走出工业文明,步入超高速发展的信息时代。

当人们昨天还在沉浸在4 86,586带来的高速、便捷时,而在今天,世界上又超乎人们想象地诞生了P42.4,P43.6……,对于明天,我们无法预想,因为计算机正以摩尔令人难以致信的速度发展。

信息时代的来临仅改变着我们的生活,也不断改变着我们的思维方式和学习方式,以及我们周围的一切。

可以说,计算机注定要伴随我们一生。

电子信息的网络化,各行各业的高度信息化不断推动着社会的高度发展。

对于我们新世纪的大学生,并且又是计算机专业的大学生,我们不仅仅要掌握计算机的基本技能,而且要精通计算机的科学技术及其应用。

在现代化的经济时代里,信息化竞争已经越来越趋于白热化,具有先进的信息化技术,无论是个人也好,还是企业也罢,都能占据先机,从而有效地拓宽与发展。

对于已经加入WTO的中国,我们已经别无选择了……酒店管理系统是一个酒店行业不可缺少的部分,它的内容对于酒店的决策者和管理者来说都至关重要,所以酒店管理系统应该能够为用户提供充足的信息和快捷的查询手段。

但一直以来人们使用传统人工的方式管理文件,这种管理方式存在着许多缺点,如:效率低、保密性差,另外时间一旦长,将产生大量的文件和数据,这对于查找、更新和维护都带来了不少的困难。

随着科学技术的不断提高,计算机科学日渐成熟,其强大的功能已为人们深刻认识,它已进入人类社会的各个领域并发挥着越来越重要的作用。

作为计算机应用的一部分,使用计算机对教学信息进行管理,具有手工管理所无法比拟的优点.例如:检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等。

这些优点能够极大地提高酒店管理的效率,也是企业的科学化、正规化管理,与世界接轨的重要条件。

1.总体设计1.1设计目的宾馆在正常的运营中需要对客房资源、顾客信息、结算信息进行管理,利用宾馆管理信息系统及时了解各个环节中信息的变更,有利于提高管理效率。

1.2系统功能分析系统开发的总体任务是实现宾馆各种信息的系统化、规范化和自动化。

主要完成功能:● 有关客房标准的制定、标准信息的输入,包括标准编号、标准名称、房间面积、床位数量、住房单价、是否有空调、电视机、电话以及单独卫生间等。

● 客房标准信息的修改、查询等。

● 客房基本信息的输入,包括客房编号、客房类型、客房位置、客房单价、备注等。

● 客房基本信息的查询、修改,包括客房编号、客房类型、客房位置、客房单价、备注等。

● 剩余客房信息的查询等。

● 订房信息的输入,包括客房编号、客房种类、客房位置、客房单价、顾客姓名、顾客身份证号码、入住日期、折扣、备注信息等。

● 订房信息的修改和查询,包括客房编号、客房种类、客房位置、客房单价、顾客姓名、顾客身份证号码、入住日期、折扣、备注信息等。

● 结算信息的输入,包括客房编号、客房种类、位置、客房单价、顾客姓名、顾客身份证号码、入住日期、折扣、结算日期、备注信息等。

● 结算信息的修改和查询,包括客房编号、客房种类、客房位置、客房单价、顾客姓名、顾客身份证号码、入住日期、折扣、结日期、备注信息等。

1.3系统功能模块设计按结构化程序设计思想,当然最终设计考虑到自己的编程水平和能力,分析得出如下系统功能模块图2.系统运行需求2.1运行环境操作系统:windows2000/xp数据库:ACCESS语言:VB6.02.2尚未问决的问题功能尚不完善,有待于继续开发。

2.3功能概述及界面图示1)系统登陆2)系统主框架系统欢迎界面。

3)系统设置完成对操作员的增加、对密码的更改操作添加操作员4)客房管理客房设置、客房查询、房态设置功能客房设置客房查询房态设置5)住宿管理完成住宿登记、调房登记、住宿查询、退宿查询功能住宿登记调房登记住宿查询6)员工管理完成添加员工、查询员工功能。

查询员工7)消费品管理完成添加新消费品、消费品查询功能添加新消费品消费品查询8)账务管理完成追加押金、退宿结账、挂账结款功能9)关于完成对系统和开发的介绍3数据库设计数据库设计步骤:● 数据库需求分析● 数据库概念结构设计● 数据库逻辑结构设计首先将宾馆管理信息系统的数据库概念结构转化为ACCESS2003数据库系统所支持的实际数据模型,即:数据库的逻辑结构。

其各个表格的设计结果如下:3.1 表格表—djb表—gzmx表—kf表—kfyd表—qxsz表—tfd表—xfp表—ygb3.2宾馆管理信息系统几个代表窗口的具体程序实现:房态查询代码实现:Private Sub Form_Activate()Dim i As Integer '定义一个整型变量Dim criteria As String '定义一个字符串变量Dim mydb1 As Database '定义数据库Dim myrs1 As Recordset '定义字段Dim myrs2 As RecordsetDim myrs3 As RecordsetSet mydb1 = Workspaces(0).OpenDatabase(App.Path & "\db.mdb") '定义数据环境Set myrs1 = mydb1.OpenRecordset("kf", dbOpenSnapshot) '定义数据表'入住房间查询SQL = "select * from kf where kf.房态like " + Chr(34) + "入住" + Chr(34) + ""Set myrs2 = mydb1.OpenRecordset(SQL)'维修房间查询SQL = "select * from kf where kf.房态like " + Chr(34) + "维修" + Chr(34) + ""Set myrs3 = mydb1.OpenRecordset(SQL)For i = 1 To 25 '房态显示criteria = "房间号='" & Command1(i).Caption & "'" myrs1.FindFirst criteriaIf myrs1.NoMatch ThenElseIf myrs1.Fields("房态") = "空房" Then Command1(i).Picture = LoadPicture("") '空房If myrs1.Fields("房态") = "入住" Then Command1(i).Picture = LoadPicture(App.Path & "\tupian\happy.bmp")If myrs1.Fields("房态") = "维修" Then Command1(i).Picture = LoadPicture(App.Path & "\tupian\diamond.bmp")End IfNext iIf Not myrs2.EOF Then myrs2.MoveLastIf Not myrs3.EOF Then myrs3.MoveLastLabsy.Caption = myrs2.RecordCount '客房入住数Labwx.Caption = myrs3.RecordCount '客房维修数Labkx.Caption = 25 - Val(Labwx.Caption) -Val(Labsy.Caption) '客房空闲数Labsyl.Caption = Val(Labsy.Caption) / 25 * 100 & "%" '客房使用率End SubPrivate Sub Form_Unload(Cancel As Integer)main.Enabled = TrueEnd SubPrivate Sub Command1_Click(Index As Integer) '查询住宿信息If Index >= 0 <= 25 Thenmain_zscx.Data1.RecordSource = "select * from djb where 标志='1'and 房间号='" & Command1(Index).Caption & "'" main_zscx.Data1.RefreshEnd IfLoad main_zscxmain_zscx.ShowEnd SubPrivate Sub Command2_Click()Unload Memain.Enabled = TrueEnd Sub调房登记代码实现:Private Sub Form_Load()'自动识别数据库路径Data1.DatabaseName = App.Path & "\db.MDB"Data2.DatabaseName = App.Path & "\db.MDB"Data3.DatabaseName = App.Path & "\db.MDB"Data4.DatabaseName = App.Path & "\db.MDB"End SubPrivate Sub Form_Activate()czy.Text = main.StatusBar1.Panels(4).Text '赋值给czy.text'查询住宿登记信息Data4.RecordSource = "select * from djb where 标志='1'" Data4.RefreshEnd SubPrivate Sub Form_Unload(Cancel As Integer)main.Enabled = True '设置主窗体有效End SubPrivate Sub DBCombo1_KeyDown(KeyCode As Integer, Shift As Integer)If KeyCode = vbKeyReturn Then Texbz.SetFocus 'texbz获得焦点End SubPrivate Sub DBCOMBO2_Change()If DBCombo2.Text <> "" ThenData1.Recordset.FindFirst "房间号='" & DBCombo2.Text & "'and 标志='1'"If Data1.Recordset.NoMatch ThenMsgBox ("请核准住宿房间和住宿人!")ElseIf Data1.Recordset.Fields("客房类型") <> "" ThenWith Data1.Recordset'查询空闲房间Data2.RecordSource = "select * from kf where 房间类型='" & .Fields("客房类型") & "'and 房态='空房'"Data2.Refresh'赋值给bh.text等If .Fields("凭证号码") <> "" Then bh.Text = .Fields("凭证号码")If .Fields("姓名") <> "" Then Texxmb.Text = .Fields("姓名")If .Fields("证件名称") <> "" Then Combo1.Text = .Fields("证件名称")If .Fields("证件号码") <> "" Then Texsfz.Text = .Fields("证件号码")If .Fields("客房价格") <> "" Then Texjg.Text = .Fields("客房价格")End WithEnd IfEnd IfDBCombo1.Enabled = TrueTexbz.Enabled = TrueEnd IfEnd SubPrivate Sub DBCOMBO2_KeyDown(KeyCode As Integer, Shift As Integer)If KeyCode = vbKeyReturn Then DBCombo1.SetFocus '按回车键DBCombo1获得焦点End SubPrivate Sub texbz_KeyDown(KeyCode As Integer, Shift As Integer)If KeyCode = vbKeyReturn Then Comok.SetFocus '按回车键comok获得焦点End SubPrivate Sub comdj_Click() '登记Frame2.Enabled = True: Frame3.Enabled = True: DBCombo2.Enabled = TrueDBCombo1.Enabled = True: Texjg.Enabled = True: Comok.Enabled = TrueComcancel.Enabled = True: Comok.Enabled = True:Comdj.Enabled = FalseDBCombo2.SetFocus 'DBCombo2获得焦点End SubPrivate Sub comok_Click() '确定调房Dim bh As String '定义一个字符串类型的变量'查询空闲房间信息Data2.RecordSource = "select * from kf where 房间号='" & DBCombo1.Text & "'and 房态='空房'"Data2.RefreshIf Data2.Recordset.RecordCount > 0 ThenDim mydb1 As DatabaseDim myrs2 As RecordsetSet mydb1 = Workspaces(0).OpenDatabase(App.Path & "\db.MDB")'查询所有住宿登记信息Data1.RecordSource = "select * from djb"Data1.RefreshData1.Recordset.FindFirst "房间号='" & DBCombo2.Text & "'and 标志='1'"bh = Data1.Recordset.Fields("凭证号码")Data1.Recordset.Edit '编辑住宿登记信息If DBCombo1.Text <> "" Then Data1.Recordset.Fields("房间号") = Val(DBCombo1.Text)If Texbz.Text <> "" Then Data1.Recordset.Fields("备注") = Texbz.TextData1.Recordset.Fields("标志") = "1"Data1.Recordset.Fields("摘要") = "由源房" & DBCombo2.Text & "调到目标房" & DBCombo1.TextData1.Recordset.Update '更新记录Data3.RecordSource = "select * from djys where 凭证号码='" & Data1.Recordset.Fields("凭证号码") & "'"Data3.RefreshIf Data3.Recordset.EOF = False Then Data3.Recordset.MoveLastIf Data3.Recordset.BOF = False Then Data3.Recordset.MoveFirstIf Data3.Recordset.RecordCount > 0 ThenData3.Recordset.MoveFirstFor i = 1 To Data3.Recordset.RecordCountData3.Recordset.Edit '编辑住宿登记预收信息If DBCombo1.Text <> "" Then Data3.Recordset.Fields("房间号") = Val(DBCombo1.Text) If Texbz.Text <> "" Then Data3.Recordset.Fields("备注") = Texbz.TextData3.Recordset.Fields("标志") = "1"Data3.Recordset.Fields("摘要") = "由源房" &DBCombo2.Text & "调到目标房" & DBCombo1.Text Data3.Recordset.Update '更新记录If Data3.Recordset.EOF = False Then Data3.Recordset.MoveNextNext iEnd If'编辑客房状态Data2.Recordset.EditData2.Recordset.Fields("房态") = "入住"Data2.Recordset.UpdateData2.RecordSource = "select * from kf"Data2.RefreshData2.Recordset.FindFirst "房间号='" & DBCombo2.Text & "'"Data2.Recordset.EditData2.Recordset.Fields("房态") = "空房"Data2.Recordset.Update'查询空闲房间信息Data3.RecordSource = "select * from kf where 房态='空房'"Data3.RefreshData4.Refresh'设置控件有效或无效Texxmb.Enabled = False: Texsfz.Enabled = False: DBCombo1.Enabled = FalseDBCombo2.Enabled = False: Texbz.Enabled = False: Comok.Enabled = FalseComcancel.Enabled = False: Comdj.Enabled = True'清空数据DBCombo1.Text = "": DBCombo2.Text = "": Texxmb.Text = ""Texsfz.Text = "": Texbz.Text = "": Texjg.Text = "" Comdj.SetFocus 'Comdj获得焦点ElseMsgBox ("所选房间已有人入住,请选择空房,再保存!!!") End IfEnd SubPrivate Sub comcancel_Click() '取消操作DBCombo2.Enabled = True: DBCombo1.Enabled = True: Comdj.Enabled = TrueComok.Enabled = False: Texbz.Enabled = TrueDBCombo1.Text = "": DBCombo2.Text = "": Texxmb.Text = ""Texsfz.Text = "": Texbz.Text = "": Texjg.Text = ""End SubPrivate Sub comend_Click()Unload Memain.Enabled = True '设置主窗体有效End Sub追加押金代码实现:Private Sub Form_Load()'自动识别数据库路径Data1.DatabaseName = App.Path & "\db.MDB"Data2.DatabaseName = App.Path & "\db.MDB"Data3.DatabaseName = App.Path & "\db.MDB"End SubPrivate Sub Form_Activate()czy.Text = main.StatusBar1.Panels(4).Text '赋值给czy.text'查询住宿登记信息Data2.RecordSource = "select 凭证号码from djb where 标志='1'order by 凭证号码"Data2.RefreshEnd SubPrivate Sub Form_Unload(Cancel As Integer)main.Enabled = True '设置主窗体有效End SubPrivate Sub DBCombo1_Change()'查询住宿登记信息Data1.RecordSource = "select * from djb where 凭证号码='" & DBCombo1.Text & "'"Data1.RefreshIf Data1.Recordset.RecordCount > 0 Then '当记录大于零时赋值给text2等If Data1.Recordset.Fields("姓名") <> "" Then Text2.Text = Data1.Recordset.Fields("姓名")If Data1.Recordset.Fields("预收金额") <> "" Then Text3.Text = Data1.Recordset.Fields("预收金额")If Data1.Recordset.Fields("住宿天数") <> "" Then Text4.Text = Data1.Recordset.Fields("住宿天数")If Data1.Recordset.Fields("房间号") <> "" Then Text5.Text = Data1.Recordset.Fields("房间号")If Data1.Recordset.Fields("客房类型") <> "" Then Text6.Text = Data1.Recordset.Fields("客房类型")If Data1.Recordset.Fields("客房价格") <> "" Then Text7.Text = Data1.Recordset.Fields("客房价格")If Data1.Recordset.Fields("住宿日期") <> "" Then DTP1.Value = Data1.Recordset.Fields("住宿日期")If Data1.Recordset.Fields("住宿时间") <> "" Then tim1.Value = Data1.Recordset.Fields("住宿时间")If Data1.Recordset.Fields("提醒日期") <> "" Then DTP2.Value = Data1.Recordset.Fields("提醒日期")If Data1.Recordset.Fields("提醒时间") <> "" Then tim2.Value = Data1.Recordset.Fields("提醒时间")If Data1.Recordset.Fields("退宿日期") <> "" Then DTP3.Value = Data1.Recordset.Fields("退宿日期")If Data1.Recordset.Fields("退宿时间") <> "" Then tim3.Value = Data1.Recordset.Fields("退宿时间")End IfEnd SubPrivate Sub DBCombo1_KeyDown(KeyCode As Integer, Shift As Integer)If KeyCode = vbKeyReturn Then Text1.SetFocusEnd SubPrivate Sub Text1_Change() '计算提醒日期及时间DTP2.Value = DTP1.Value + Int(Val(Text3.Text) + Val(Text1.Text)) / Val(Text7.Text)If (Val(Text3.Text) + Val(Text1.Text) - Int(Val(Text3.Text) + Val(Text1.Text))) / Val(Text7.Text) > 0.5 * Val(Text7.Text) Thentim2.Value = #6:00:00 PM#Elsetim2.Value = #12:00:00 AM#End IfEnd SubPrivate Sub Text1_KeyDown(KeyCode As Integer, Shift As Integer)If KeyCode = vbKeyReturn Then Command1.SetFocus End SubPrivate Sub Command1_Click()'保存追加押金信息If Text1.Text <> "" And DBCombo1.Text <> "" Then'查询住宿登记信息Data1.RecordSource = "select * from djb where 凭证号码='" & DBCombo1.Text & "'"Data1.RefreshIf Data1.Recordset.RecordCount > 0 Then'编辑住宿登记信息Data1.Recordset.EditData1.Recordset.Fields("预收金额") = Val(Text3.Text) + Val(Text1.Text)Data1.Recordset.Fields("提醒日期") = DTP2.ValueData1.Recordset.Fields("提醒时间") = tim2.ValueData1.Recordset.Update '更新数据'查询住宿登记预收信息Data3.RecordSource = "select * from djys where 凭证号码='" & DBCombo1.Text & "'"Data3.Refresh'编辑住宿登记预收信息Data3.Recordset.EditData3.Recordset.Fields("预收金额") = Val(Text3.Text) + Val(Text1.Text)Data3.Recordset.Fields("提醒日期") = DTP2.ValueData3.Recordset.Fields("提醒时间") = tim2.ValueData3.Recordset.Update '更新数据Data3.Refresh'设置控件有效或无效Command1.Enabled = False: Command2.Enabled = False: Command4.Enabled = TrueCommand5.Enabled = True: Command3.Enabled = True Command5.SetFocus 'command5获得焦点ElseMsgBox ("请检查凭证号码是否有效,再保存!")End IfElseMsgBox ("请填写完整的数据,再保存!")End IfEnd SubPrivate Sub Command2_Click() '取消操作DBCombo1.Enabled = False: Command1.Enabled = False:Command2.Enabled = FalseCommand4.Enabled = False: Command5.Enabled = True: Command3.Enabled = True'清空数据Text1.Text = "": Text2.Text = "": Text3.Text = "": Text4.Text = "":Text5.Text = "": Text6.Text = "": Text7.Text = ""'初始化日期DTP1.Value = Date: DTP2.Value = Date: DTP3.Value = Date End SubPrivate Sub Command3_Click()Unload Memain.Enabled = True '设置主窗体有效End Sub4.致谢论文完成,三年的大专生活即将结束,感慨万千!首先,感谢老师三年来对我的教导,我时刻体会着老师们严肃的科学态度,严谨的治学精神,精益求精的工作作风,我想这是够我一生受用的人格魅力。

相关主题