1、毕业设计论文VB宾馆管理信息系统新乡电力宾馆管理系统毕业论文(系统 VB6.0)指导教师:张敏计算机专业:裴文龙前 言 随着21世纪的钟声敲响,人类正以惊人的速度走出工业文明,步入超高速发展的信息时代。当人们昨天还在沉浸在486,586带来的高速、便捷时,而在今天,世界上又超乎人们想象地诞生了P42.4,P43.6,对于明天,我们无法预想,因为计算机正以摩尔令人难以致信的速度发展。信息时代的来临仅改变着我们的生活,也不断改变着我们的思维方式和学习方式,以及我们周围的一切。可以说,计算机注定要伴随我们一生。电子信息的网络化,各行各业的高度信息化不断推动着社会的高度发展。对于我们新世纪的大学生,并
2、且又是计算机专业的大学生,我们不仅仅要掌握计算机的基本技能,而且要精通计算机的科学技术及其应用。在现代化的经济时代里,信息化竞争已经越来越趋于白热化,具有先进的信息化技术,无论是个人也好,还是企业也罢,都能占据先机,从而有效地拓宽与发展。对于已经加入WTO的中国,我们已经别无选择了 酒店管理系统是一个酒店行业不可缺少的部分,它的内容对于酒店的决策者和管理者来说都至关重要,所以酒店管理系统应该能够为用户提供充足的信息和快捷的查询手段。但一直以来人们使用传统人工的方式管理文件,这种管理方式存在着许多缺点,如:效率低、保密性差,另外时间一旦长,将产生大量的文件和数据,这对于查找、更新和维护都带来了不
3、少的困难。 随着科学技术的不断提高,计算机科学日渐成熟,其强大的功能已为人们深刻认识,它已进入人类社会的各个领域并发挥着越来越重要的作用。作为计算机应用的一部分,使用计算机对教学信息进行管理,具有手工管理所无法比拟的优点.例如:检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等。这些优点能够极大地提高酒店管理的效率,也是企业的科学化、正规化管理,与世界接轨的重要条件。 1.总体设计1.1设计目的宾馆在正常的运营中需要对客房资源、顾客信息、结算信息进行管理,利用宾馆管理信息系统及时了解各个环节中信息的变更,有利于提高管理效率。 1.2系统功能分析系统开发的总体任务是实现宾馆各种信
4、息的系统化、规范化和自动化。主要完成功能: 有关客房标准的制定、标准信息的输入,包括标准编号、标准名称、房间面积、床位数量、住房单价、是否有空调、电视机、电话以及单独卫生间等。 客房标准信息的修改、查询等。 客房基本信息的输入,包括客房编号、客房类型、客房位置、客房单价、备注等。 客房基本信息的查询、修改,包括客房编号、客房类型、客房位置、客房单价、备注等。 剩余客房信息的查询等。 订房信息的输入,包括客房编号、客房种类、客房位置、客房单价、顾客姓名、顾客身份证号码、入住日期、折扣、备注信息等。 订房信息的修改和查询,包括客房编号、客房种类、客房位置、客房单价、顾客姓名、顾客身份证号码、入住日
5、期、折扣、备注信息等。 结算信息的输入,包括客房编号、客房种类、位置、客房单价、顾客姓名、顾客身份证号码、入住日期、折扣、结算日期、备注信息等。 结算信息的修改和查询,包括客房编号、客房种类、客房位置、客房单价、顾客姓名、顾客身份证号码、入住日期、折扣、结日期、备注信息等。 1.3系统功能模块设计按结构化程序设计思想,当然最终设计考虑到自己的编程水平和能力,分析得出如下系统功能模块图系统设置客房管理住宿管理员工管理消费品管理账务管理关于添加操作员修改密码退出客房设置客房查询客房查看住宿登记调房登记住宿查询退宿查询登录界面添加员工查询员工添加新消费品消费品查询追加押金退宿结账挂账结款开发简介系统
6、简介2.系统运行需求2.1运行环境操作系统:windows2000/xp数据库:ACCESS语言:VB6.02.2尚未问决的问题功能尚不完善,有待于继续开发。2.3功能概述及界面图示1)系统登陆2)系统主框架 系统欢迎界面。3) 系统设置完成对操作员的增加、对密码的更改操作 添加操作员4)客房管理客房设置、客房查询、房态设置功能客房设置客房查询 房态设置5)住宿管理完成住宿登记、调房登记、住宿查询、退宿查询功能住宿登记调房登记住宿查询6)员工管理完成添加员工、查询员工功能。查询员工7) 消费品管理完成添加新消费品、消费品查询功能添加新消费品消费品查询8)账务管理完成追加押金、退宿结账、挂账结款
7、功能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 mydb
8、1 As Database 定义数据库 Dim myrs1 As Recordset 定义字段 Dim myrs2 As Recordset Dim myrs3 As Recordset Set 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
9、 = 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 criteria If myrs1.NoMatch Then Else If myrs1.Fields(房态) = 空房 Then Command1(i).Pictu
10、re = LoadPicture() 空房 If myrs1.Fields(房态) = 入住 Then Command1(i).Picture = LoadPicture(App.Path & tupianhappy.bmp) If myrs1.Fields(房态) = 维修 Then Command1(i).Picture = LoadPicture(App.Path & tupiandiamond.bmp) End If Next i If Not myrs2.EOF Then myrs2.MoveLast If Not myrs3.EOF Then myrs3.MoveLast Labs
11、y.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_Clic
12、k(Index As Integer) 查询住宿信息 If Index = 0 = 25 Then main_zscx.Data1.RecordSource = select * from djb where 标志=1and 房间号= & Command1(Index).Caption & main_zscx.Data1.Refresh End If Load main_zscx main_zscx.ShowEnd SubPrivate Sub Command2_Click() Unload Me main.Enabled = TrueEnd Sub调房登记代码实现: Private Sub
13、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.MDBEnd SubPrivate Sub Form_Activate() czy.Text = main.StatusBar1.Panels(4).Text 赋值给czy.text 查询住宿登记信息 Data4.RecordSource = sele
14、ct * 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 The
15、n Data1.Recordset.FindFirst 房间号= & DBCombo2.Text & and 标志=1 If Data1.Recordset.NoMatch Then MsgBox (请核准住宿房间和住宿人!) Else If Data1.Recordset.Fields(客房类型) Then With Data1.Recordset 查询空闲房间 Data2.RecordSource = select * from kf where 房间类型= & .Fields(客房类型) & and 房态=空房 Data2.Refresh 赋值给bh.text等 If .Fields(凭
16、证号码) 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 With End If End If DBCombo1.Enabled = True Texbz.Enabled = True End
17、 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
18、() 登记 Frame2.Enabled = True: Frame3.Enabled = True: DBCombo2.Enabled = True DBCombo1.Enabled = True: Texjg.Enabled = True: Comok.Enabled = True Comcancel.Enabled = True: Comok.Enabled = True: Comdj.Enabled = False DBCombo2.SetFocus DBCombo2获得焦点End SubPrivate Sub comok_Click() 确定调房 Dim bh As String 定
19、义一个字符串类型的变量 查询空闲房间信息 Data2.RecordSource = select * from kf where 房间号= & DBCombo1.Text & and 房态=空房 Data2.Refresh If Data2.Recordset.RecordCount 0 Then Dim mydb1 As Database Dim myrs2 As Recordset Set mydb1 = Workspaces(0).OpenDatabase(App.Path & db.MDB) 查询所有住宿登记信息 Data1.RecordSource = select * from d
20、jb Data1.Refresh Data1.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.Text Data1.Recordset.Fields(标志) = 1
21、 Data1.Recordset.Fields(摘要) = 由源房 & DBCombo2.Text & 调到目标房 & DBCombo1.Text Data1.Recordset.Update 更新记录 Data3.RecordSource = select * from djys where 凭证号码= & Data1.Recordset.Fields(凭证号码) & Data3.Refresh If Data3.Recordset.EOF = False Then Data3.Recordset.MoveLast If Data3.Recordset.BOF = False Then Da
22、ta3.Recordset.MoveFirst If Data3.Recordset.RecordCount 0 Then Data3.Recordset.MoveFirst For i = 1 To Data3.Recordset.RecordCount Data3.Recordset.Edit 编辑住宿登记预收信息 If DBCombo1.Text Then Data3.Recordset.Fields(房间号) = Val(DBCombo1.Text) If Texbz.Text Then Data3.Recordset.Fields(备注) = Texbz.Text Data3.Rec
23、ordset.Fields(标志) = 1 Data3.Recordset.Fields(摘要) = 由源房 & DBCombo2.Text & 调到目标房 & DBCombo1.Text Data3.Recordset.Update 更新记录 If Data3.Recordset.EOF = False Then Data3.Recordset.MoveNext Next i End If 编辑客房状态 Data2.Recordset.Edit Data2.Recordset.Fields(房态) = 入住 Data2.Recordset.Update Data2.RecordSource
24、= select * from kf Data2.Refresh Data2.Recordset.FindFirst 房间号 = & DBCombo2.Text & Data2.Recordset.Edit Data2.Recordset.Fields(房态) = 空房 Data2.Recordset.Update 查询空闲房间信息 Data3.RecordSource = select * from kf where 房态=空房 Data3.Refresh Data4.Refresh 设置控件有效或无效 Texxmb.Enabled = False: Texsfz.Enabled = Fal
25、se: DBCombo1.Enabled = False DBCombo2.Enabled = False: Texbz.Enabled = False: Comok.Enabled = False Comcancel.Enabled = False: Comdj.Enabled = True 清空数据 DBCombo1.Text = : DBCombo2.Text = : Texxmb.Text = Texsfz.Text = : Texbz.Text = : Texjg.Text = Comdj.SetFocus Comdj获得焦点 Else MsgBox (所选房间已有人入住,请选择空房
26、,再保存!) End IfEnd SubPrivate Sub comcancel_Click() 取消操作 DBCombo2.Enabled = True: DBCombo1.Enabled = True: Comdj.Enabled = True Comok.Enabled = False: Texbz.Enabled = True DBCombo1.Text = : DBCombo2.Text = : Texxmb.Text = Texsfz.Text = : Texbz.Text = : Texjg.Text = End SubPrivate Sub comend_Click() Un
27、load Me main.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.MDBEnd SubPrivate Sub Form_Activate() czy.Text = main.StatusBar1.Panels(4).Text 赋值给czy.text 查询住宿登记信息 Da
28、ta2.RecordSource = select 凭证号码 from djb where 标志=1order 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.Refresh If Data1.Recordset
29、.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(客房价格