您现在正在浏览:首页 > 职教文章 > 职教论文 > 浅谈客房管理系统

浅谈客房管理系统

日期: 2009-12-28 10:24:05 浏览: 7 来源: 学海网收集整理 作者: 佚名

浅谈客房管理系统
   -----visual basic
   摘要: 21世纪是一个”知识经济”时代,信息爆炸是这个时代的特征。因此,信息时代对企业的信息管理和应用提出了更高的要求,这主要体现在两个方面:一是由于我们所处的这个世界已经成为知识信息的海洋,企业必须具备从企业环境中获取、处理和应用这些信息的能力;二是企业还必须具备管理和应用企业本身不断产生的反映企业状态的数据信息和描述管理活动的控制信息。毋庸讳言,Visual Basic是近年来发展最快的一种计算机语言,其简洁与实用性受到众多计算机用户和程序员的青睐。通过Microsoft 的概念化,Visual Basic的创建者以一种广为人知的Basic语言为基础,并赋予这个语言方便地建立windows 应用的能力,从而提供了开发各种企业系统所需的多任务和高性能。
   关键词: Database Databasename Recordsource Recordset Field Connect Datasource
   Data Dao Select
  
   系统设计的目的
  
   在现代的宾馆服务行业中,由于客流量巨增,传统的管理方法已经不适合现代社会的需要,因此客房管理系统是各大中小型宾馆所需要使用的一个管理系统。由于客房系统往往是一个大型的信息管理系统,他需要专业的开发人员才能完成复杂的功能,而且每一个宾馆的管理内容和服务方式均有所区别,本文只是制作了一个有一定代表意义的小型的客房管理系统。
  
   系统架构
  
   本系统是一个小型客房管理系统,适合2—5人左右非大量并发的数据库操作访问,采用桌面DBMS access作为底层平台,通过data进行连接访问,界面实现采用visual basic开发,单机运行,数据库平台和程序可以运行windows 操作系统上.
   数据库访问方法采用DAO对象访问ODBC或者直接访问.
  
   功能分析
  
   本系统为采用三层结构体系,以低层access数据库作为数据库系统,通过一个通用的数据访问接口层来统一操作,如果更改了数据源平台,只需前换该层即可,业务逻辑层是一些能够完成客房操作业务的接口,本系统逻辑层在数据查询结构结果返回方面,采用DAO访问技术,对数据集进行浏览,更新,删除等操作.
  
   系统功能设计
   在本系统中,将实现如下一些功能:
   1. 用户权限管理
   2. 客户住宿管理
   3. 客户退房管理
   4. 客户综合查询管理
   本系统将基本实现小型标准客房管理的部分功能。
  
   数据库及数据表设计
  
   数据库设计是整个软件的重中之重,数据库设计包含了对系统实体划分,关键是逻辑设计和运行平台设计,通过对数据库设计可以清楚地划分软件中所有的实体和关系,也可以中抽象出系统的所有对象.
   在该数据库中,创建一个客户信息数据表,系统用户权限表,客房情况表。
  
   客房管理数据库的建立
  
   数据库是数据表的集合,系统开发首先应该开发一个数据库,用于存放系统中的数据表。在visual basic集成开发环境中制作客房管理数据库的步骤如下:
   (1) 启动vb应用系统,出现vb应用系统开发主界面。
   (2) 在vb主菜单中单击外接程序|可视化数据管理器菜单项,出现可视化数据管理器界面。
   (3) 单击文件|新建|Microsoft access(m)|version 7.0 mdb(7)菜单项,vb默认的数据库类型为Microsoft access数据库类型,它与Microsoft office 2000的基本数据库类型一致,而且在Microsoft access数据库类型中,version 7.0 mdb为最新版本的数据库类型。选择该类型的数据库,数据库文件的扩展名为.mdb,在创建数据库时不必输入扩展名,可视化数据管理器将自动为数据库生成扩展名。
   (4) 再单击菜单后出现文件保存对话框,在对话框中选择磁盘驱动器和文件夹名称,此处选择文件夹,并将数据库命名为客房管理数据库,随后将出现数据库窗口。
  
   客户信息数据表的创建
  
   数据库只是一个容器,它是数据表的集合。数据库一经创建,用户就可以在数据库中创建应用系统开发制作所需要的数据表。其步骤如下:
   (1) 在可视化数据管理器中打开数据库
   (2) 在数据管理器中选择数据库文件
   (3) 右击数据库文件客房管理数据库,出现一个弹出式菜单
   (4) 在弹出式菜单中单击新建表菜单项,出现数据表结构设计器对话框.
   数据表结构就是对一个数据表中的字段名称,类型,大小的定义,在数据表结构创建对话框中,不仅可以制定表的结构,还可以对数据表进行各种操作,如显示每一个字段的结构信息,增加或删除字段,建立索引,对每一字段进行有效性输入规则的定制等.
  
  
   在客房管理数据库中我们将创建”客房信息数据表”,其结构参数定义如下:
   字段名称 字段类型 字段大小 索引 忽略空值
   房号 single default 惟一 主索引 No
   姓名 Text 20 No
   性别 Text 2 No
   年龄 Single default No
   国籍 Text 20 No
   身份证号 Text 50 No
   客房级别 Text 20 No
   用房天数 Single default No
   住店日期 Date/time default No
   离店日期 Date/time default No
  
   系统用户权限表的设计与创建,在整个系统中,使用系统均要通过权限认证,他包括系统准入认证,权限修改认证等,因此需要创建一个用户权限表,其结构如下所示:
   字段名称 字段类型 字段大小 索引 忽略空值
   操作员 Text 20 No
   密码 single 4 关键 No
  
   客房情况表的设计和创建他用于整个客房所有房间的信息,以及已经住宿的情况和未住宿的情况其结构如下表所示:
   字段名称 字段类型 字段大小 索引 忽略空值
   房号 Single default 惟一 主索引 No
   客房级别 Text 10 No
   用房标志 Text 1 No
  
   创建系统启动界面
  
   系统启动封面是一个应用系统开始的界面,通常是系统登录的界面进入该界面后,通过用户权限的认证,判断使用本程序的用户是是合法用户.然后进入系统主窗体。创建系统启动界面也就意味着创建系统的开始,本文采用数据工程的方法创建。创建的过程如下:
   1. 启动vb应用系统,进入开发平台主界面
   2. 在开发平台中,创建一个新的工程,此处创建数据工程
   3. 在工程类型中选择数据工程
   4. 单击打开按钮,出现一个数据工程,其中包括一个数据工程窗体,一个数据源环境和数据报表的设计器
   数据工程的关键在于使用数据源,创建数据源的方法如下:
   1. 单击数据设计器/数据环境条目,出现一个数据环境中的连接界面
   2. 右击连接条目connection1,出现一个弹出式菜单,单击属性,出现数据源驱动程序类型
   3. 选择microsoft access,单击next按钮,出现数据库设置对话框,选择数据库
   4. 单击确定按钮,成功引入数据源
   接下来,创建系统启动界面,在工程管理器中打开数据工程已经创建的第一个窗体form1
   保存该工程和该窗体接下来设计form1
   其制作过程如下:
   1. 设置窗体的基本属性如表所示:
   属性项名 属性设置内容
   Startuupposition 2-屏幕中心
   Windowsstate 2-maxmized
   picture 图片文件
   2. 在窗体中放置一个数据控件data1,该控件主要作为登录的系统用户权限表的数据源控件,设置他的基本属性如表所示:
   属性项名 属性设置内容
   Databasename
   Connect access
   Recordsource kl
   visible False
   3. 在窗体中放入两个按纽控件,分别设置其caption属性为登录和退出,并为这两个赋予过程代码,
  
   其过程代码如下:
  
   Dim TIM As Integer ’定义一个整型变量
   Dim myval As String ’定义一个字符串变量
  
   Private Sub Command1_Click()
   Data1.Recordset.Close
   End
   End Sub
  
   Private Sub combo1_KeyDown(KeyCode As Integer, Shift As Integer)
   If KeyCode = vbKeyReturn Then
   Text2.SetFocus ’按回车键,text2获得焦点
   End If
   End Sub
  
   Private Sub Form_Activate()
   Data1.Refresh
   Data1.Recordset.MoveLast
   If Data1.Recordset.RecordCount = 0 Then
   MsgBox ("请先设置操作员和密码的权限!!")
   From2.Show
   Unload Me
   Data1.Recordset.Close
   Else
   Combo1.SetFocus
   End If
   End Sub
  
   Private Sub Form_Load()
   Data1.DatabaseName = App.Path & "\kl.mdb"
   Data1.Refresh
   End Sub
  
   Private Sub text2_KeyDown(KeyCode As Integer, Shift As Integer)
   If KeyCode = vbKeyReturn Then Command1.SetFocus ’按回车键cmd1获得焦点
   If KeyCode = vbKeyUp Then combol1.SetFocus
   If KeyCode = vbKeyDown Then Command1.SetFocus
   End Sub
   Private Sub command2_Click()
   With Data1.Recordset
   Dim mm
   mm = .Bookmark
   If .BOF = False Then
   .MoveFirst
   End If
   If Combo1.Text = "" Then
   MsgBox "请输入用户名"
   Combo1.SetFocus
   Exit Sub
   Else
   .FindFirst "操作员 like" + Chr(34) + Combo1.Text + Chr(34) + ""
   If .NoMatch Then
   MsgBox ("操作员输入错误,请重新输入!!")
   .Bookmark = mm
   Combo1.SetFocus
   Exit Sub
   Else
   Data1.RecordSource = "select * from kl where 操作员=’" & Combo1.Text & "’"
   Data1.Refresh
   If Text2.Text = "" Then
   MsgBox ("请输入用户密码!")
   Text2.SetFocus
   Exit Sub
   Else
   mm = .Bookmark
   .FindFirst "密码 like" + Chr(34) + Text2.Text + Chr(34) + ""
   If TIM ﹥ 2 Then
   MsgBox "你无权使用本系统,请向系统管理员查询!"
   End
   Else
   If .NoMatch Then
   MsgBox ("密码输入错误,请重新输入!!")
   TIM = TIM + 1
   .Bookmark = mm
   Text2.Text = ""
   Text2.SetFocus
   Exit Sub
   Else
   Unload Me
   Form2.Show
   .Close
   End If
   End If
   End If
   End If
   End If
   End With
   End Sub
   该代码首先用于判断用户权限,如果输入的用户和密码存在,则系统允许登录.
  
   创建系统主界面
  
   接下来,首先需要创建系统的主窗体,该窗体用于对其他功能模块的调用,其创建过程如下:
   1. 启动VB应用程序,出现开发平台主窗口.
   2. 新建立一个标准的EXE工程,并为其命名
   3. 主窗体的基本属性设置及其基本结构和前面类似略
   在本窗体中,为了修饰窗体的效果,我们特别为它加载了一幅图片,作为窗体的背景.
  
   制作系统主菜单
   在VB集成开发环境中,制作一个菜单是比较简单的,其操作过程如下:
   1. 右击主窗体form2,出现一个弹出式菜单
   2. 在弹出式菜单中单击”菜单编辑器”菜单项,即进入菜单编辑器.在本文中我们将创建如下四个菜单.
    登记住房: 用于调用客户住宿信息处理的信息窗体.
    退房间: 用于调用客户情况窗体,如删除客户标记,编辑客户情况的记录等.
    客户查询: 用于调用一个客户查询窗体,综合查询客户信息
    权限设置: 用于用户修改设置
    退出系统: 用于执行退出系统的功能.
   3. 在窗体中放置一个statursbar用来显示系统的某些信息,本系统为日期和时间,可以提醒用户当天日期和时间,同时也可以为界面增色,其中statursbar的第一栏中显示日期,第二栏中显示时间.
  
   菜单与命令按纽的功能是一致的.它主要用于对事务或行为动作的执行,因此同样需要他们编制过程代码.要为菜单编制过程代码,只需要在创建菜单之后,单击菜单条目,即出现他们的过程代码编辑器窗口,选择适当的过程类型,如CLICK过程.各个菜单的过程代码如下:
  
   程序代码:
   Option Explicit
   Private Declare Function PlaySound Lib "winmm.dll" Alias "PlaySoundA" (ByVal lpszname As String, ByVal hmodule As Long, ByVal dwflags As Long) As Long
  
   Private Sub Command1_Click()
   Form1.Show
   Unload Me
   End Sub
  
   Private Sub Form_Load()
   Call PlaySound(App.Path + "\credit.wav", 0&, &H1)
   StatusBar1.Panels(1).Text = " 今天的日期是:" & Format(Date, "yyyy年m月d日")
   StatusBar1.Panels(2).Text = " 现在时间是:" & Format(Time, "h:mm:ss am/pm")
   End Sub
    “登记住房”菜单的过程代码
   private sub 登记住房-click()
   form3.show
   end sub
    “退房间”菜单的过程代码
   private sub退房间-click()
   form7.show
   end sub
    “客户查询”菜单的过程代码
   private sub客户查询-click()
   form6.show
   end sub
    “权限设置”菜单的过程代码
   Private Sub 权限设置_Click()
   Form5.Show
   End Sub
    “退出系统”菜单的过程代码
   private sub退出系统-click()
   unload me
   Form2.Hide
   Form1.Show
   end sub
   制作客户信息登记窗体
   该功能实现了对客户信息的管理。该功能可以对客户信息进行增加、删除和修改。客户信息包
   括对信客户进行登记,登记内容包括房号、姓名、性别、年龄、国籍、客房级别、住房天数、住店
   日期、离店日期等。在宾馆住宿管理系统中,客户信息记录是很重要的,因此我们需要制作该窗体,其制作过程如下:
   (1) 在工程中增加一个新的窗体FORM3, 其设置和前面类似省略
   同样,放置一个图片文件以修饰窗体.
   (2) 在窗体中放入一个数据控件Data1, 其设置和前面类似省略
   数据控件是为本窗体引入数据源的控件 .
   (3) 在窗体中放入一些标签控件,其个数比数据表的字段个数多一个.注意,由于窗体中放置了一个图片控件,因此,标签控件应该使用”透明”属性,以使标签与窗体融为一体.我们以其中的一个标签为例,说明全部标签的属性设置,如表所示.
   属性项名 属性设置内容
   Caption 客户信息登记
   Font
   Forecolor &h00008080&
   Backstyle Transparent
   borderstyle 1-fixed style
  
   (3) 在窗体中设置若干个文本框控件,其个数与数据表的字段个数一致.文本框的基本属性设置如表所示:
   对象名称 属性项名 属性设置内容
   Text1 Datasouce Data1
   datafield 房号
   Text2 datasource Data1
   datafield 姓名
   Text3 Datasource Data1
   datafield 性别
   Text4 datasource Data1
   datafield 年龄
   Text5 Datasource Data1
   datafield 国籍
   Text6 Datasource Data1
   datafield 身份证号
   Text7 Datasource Data1
   datafield 客房级别
   Text8 datasource Data1
   datafield 用房天数
   Text9 Datasource Data1
   datafield 住店日期
   Text10 datasource Data1
   datafield 离店日期
   表1
  
   (4) 在窗体中防如六个命令按纽,用于增加记录、确认记录、修改、记录状态、删除记录和返回主窗体.
   程序代码如下:
   Private Sub Command1_Click()
   Dim prompt$
   Dim rr
   prompt$ = "enter the new record"
   rr = MsgBox(prompt$, vbOKCancel, "add record")
   If rr = vbOK Then
   Data1.Recordset.AddNew
   Command1.Enabled = False
   Text1.SetFocus
   End If
   End Sub
  
   Private Sub Command2_Click()
   If Text1.Text = "" Or Text2.Text = "" Or Text3.Text = "" Or Text4.Text = "" Or Text5.Text = "" Or_ Text6.Text = "" Or Text7.Text = "" Or Text8.Text = "" Or Text9.Text = "" Or Text10.Text = "" Then
   MsgBox "这些选项不能为空,请输入相应的值"
   Text1.SetFocus
   Exit Sub
   Else
   On Error Resume Next
   Data1.Recordset.Update
   Data1.Refresh
   Command2.Enabled = False
   Command1.SetFocus
   End If
   End Sub
  
   Private Sub Command3_Click()
   Dim result As Integer
   If Text1.Text = "" Or Text2.Text = "" Or Text3.Text = "" Or Text4.Text = "" Or Text5.Text = "" Or_
   Text6.Text = "" Or Text7.Text = "" Or Text8.Text = "" Or Text9.Text = "" Or Text10.Text = "" Then
   MsgBox "这些选项不能为空,请输入相应的值"
   Text1.SetFocus
   Exit Sub
   Else
   result = MsgBox("删除记录将不能再恢复,确实需要删除记录吗?", vbOKCancel + vbQuestion, "提示信息")
   If result = 1 Then
   Data1.Recordset.Delete
   If Data1.Recordset.EOF Then
   Data1.Recordset.MoveLast
   Else
   Data1.Recordset.MoveNext
   Command1.SetFocus
   End If
   End If
   End If
   End Sub
   Private Sub Command4_Click()
   Unload Me
   main.Enabled = True
   End Sub
  
   Private Sub Command6_Click()
   Data1.Recordset.Edit
   Data1.Recordset.Update
   End Sub
  
   Private Sub Data1_Error(DataErr As Integer, Response As Integer)
   ’这就是放置错误处理代码的地方
   ’如果想忽略错误,注释掉下一行代码
   ’如果想捕捉错误,在这里添加错误代码
   MsgBox "数据错误事件命中错误:" & Error$(DataErr)
   Response = 0 ’忽略错误
   End Sub
  
   Private Sub Command5_Click()
   Dim m
   With Data1.Recordset
   m = .Bookmark
   .MoveLast
   StatusBar1.Panels(1).Text = " 记录总数 : " + CStr(.RecordCount)
   .Bookmark = m
   StatusBar1.Panels(2).Text = " 当前记录号 : " + CStr(.AbsolutePosition + 1)
   End With
   End Sub
  
   Private Sub Form_Load()
   main.Enabled = False
   Data1.DatabaseName = App.Path & "\kfxx.mdb"
   Data1.Refresh
   End Sub
  
   Private Sub Form_Unload(Cancel As Integer)
   main.Enabled = True
   End Sub
   private sub text1_dblclick(index as integer)
   form3.show
   end sub
  
   运行工程,检验窗体的显示效果
   注意,在进行房号记录时,可以双击文本框1,出现该房号作标记的窗体,即调出退房信息窗体.在退房信息窗体中,可以给该房号作已经占用的标记.文本框的双击过程代码如下:
  
   权限维护窗体的制作
  
   在该窗体中,我们制作了一个具有修改用户权限的功能.但无论是增加用户或是删除用户或是修改用户密码,均需要确认原有密码,在确认之后,才确认为合法用户.它同样是系统安全的一部分.窗体制作过程如下:
   1. 在工程中增加一个窗体form5
   2. 设置form4的基本属性,和前面类似省略
   3. 在该窗体中放入一个数据控件data1,:和前面类似省略
   4. 在窗体中放入三个文本框控件,其属性和结构如下:
   对象名称 属性项名 属性设置内容
   combo1 datasource Data1
   datafield 操作员
   Text datasource Data1
   datafield 密码
   passwordchar *
   5. 在窗体中放入三个标签控件,用于说明文本框控件
   6. 在窗体中放入两个按钮控件,用于对密码进行维护
  
   其程序代码为:
   Dim num
   Private Sub Form_Load()
   Me.Top = (Form2.Top - Me.Top) / 3
   Me.Left = (Form2.Left - Me.Left) * 2 / 3
   Data1.DatabaseName = App.Path & "\kl.MDB"
   Data1.Refresh
   Text1.Enabled = False
   Text3.Enabled = False
   Form2.Enabled = False
   End Sub
  
   Private Sub Form_Activate()
   Combo1.SetFocus
   End Sub
   Private Sub Form_Unload(Cancel As Integer)
   Form2.Enabled = True
   End Sub
  
   Private Sub combo1_KeyDown(KeyCode As Integer, Shift As Integer)
   If KeyCode = vbKeyReturn Then Text2.SetFocus
   End Sub
  
   Private Sub Text1_KeyDown(KeyCode As Integer, Shift As Integer)
   If KeyCode = vbKeyReturn Then
   Text3.Enabled = True
   Text3.SetFocus
   End If
   End Sub
  
   Private Sub text2_KeyDown(KeyCode As Integer, Shift As Integer)
   If KeyCode = vbKeyReturn Then Command1.SetFocus
   End Sub
  
   Private Sub Command1_Click()
   Data1.RecordSource = "select * from kl where 操作员=’" & Combo1.Text & "’"
   If Combo1.Text ﹤﹥ "" And Text2.Text ﹤﹥ "" And Text2.Text = Data1.Recordset.Fields("密码") Then
   If num ﹥ 2 Then
   MsgBox "你无权修改密码!!!"
   End
   Else
   Text1.Enabled = True
   If Text1.Text ﹤﹥ "" Then
   Data1.Recordset.Edit
   Data1.Recordset.Fields("操作员") = Text1.Text
   Data1.Recordset.Fields("密码") = Text3.Text
   n = MsgBox("密码修改成功,退出操作员密码修改!", vbOKCancel + vbQuestion, "")
   If n = 1 Then
   On Error Resume Next
   Data1.Recordset.Update
   Unload Me
   Else
   Unload Me
   End If
   Else
   MsgBox ("请输入新用户名和密码!!")
   Text1.SetFocus
   Exit Sub
   End If
   End If
   Else
   If Combo1.Text = "" Then
   MsgBox ("请输入操作员!")
   Combo1.SetFocus
   Exit Sub
   Else
   If Combo1.Text ﹤﹥ Data1.Recordset.Fields("操作员") Then
   Combo1.SetFocus
   Combo1.Text = ""
   MsgBox ("无此操作员,请重新输入!")
   Exit Sub
   End If
   End If
   If Text2.Text = "" Then
   MsgBox ("请输入操作员原密码!")
   Text2.SetFocus
   Exit Sub
   Else
   If Text2.Text ﹤﹥ Data1.Recordset.Fields("密码") Then
   MsgBox ("原密码错误,请重新输入原密码!")
   num = num + 1
   Text2.Text = ""
   Text2.SetFocus
   Exit Sub
   End If
   End If
   End If
   End Sub
   Private Sub command2_Click()
   Data1.Recordset.Close
   Form2.Enabled = True
   Unload Me
   End Sub
  
   制作退房信息处理窗体
  
   退房信息处理窗体的主要功能有两个,一个是设置全部房间的信息,并在记录客户信息时给出相关的房间做占用标记:第二是: 当客户退房时,给退还的房间删除占用标记.
   窗体的制作过程如下:
   1. 再工程中增加一个新的窗体form7,其属性与结构设置和前面类似,省略
   2. 在该窗体中放入一个数据控件data1, 其属性与结构设置和前面类似,省略
   3. 在窗体中放入三个文本框控件,其属性如下:
   对象名称 属性项名 属性设置内容
   Text1 Datasource Data1
   datafield 房号
   Text2 Datasource Data1
   datafield 客房级别
   Text3 Datasource Data1
   datafield 用房标记
  
   代码如下:
  
   Private Sub Command1_Click()
   On Error Resume Next
   Data1.Recordset.AddNew
   Command1.Enabled = False
   Command2.Enabled = True
   Text1(0).SetFocus
   End Sub
  
   Private Sub command2_Click()
   If Text1(0).Text = "" Or Combo1.Text = "" Or Text1(2).Text = "" Then
   MsgBox "请输入数据"
   Command1.Enabled = True
   Text1(0).SetFocus
   Exit Sub
   End If
   Data1.Recordset.Edit
   Command3.Enabled = True
   Command3.SetFocus
   End Sub
  
   Private Sub Command3_Click()
   If Text1(0).Text = "" Or Combo1.Text = "" Or Text1(2).Text = "" Then
   MsgBox "请输入数据"
   Command3.Enabled = False
   Command2.Enabled = True
   Text1(0).SetFocus
   Exit Sub
   End If
   Data1.Recordset.Update
   Command3.Enabled = False
   End Sub
  
   Private Sub Command4_Click()
   Dim msg
   Dim oldmark
   oldmark = Data1.Recordset.Bookmark
   msg = Trim(InputBox("请输入房号", "查询"))
   msg = "房号 like ’ " & msg & " ’ "
   Data1.Recordset.FindFirst msg
   If Data1.Recordset.NoMatch Then
   MsgBox ("没有符合条件的房间,请重新输入")
   Command1.Enabled = True
   Command1.SetFocus
   Exit Sub
   Else
   msg = "用户标志 like ’ " & 1 & " ’ "
   Data1.Recordset.FindFirst msg
   If Data1.Recordset.NoMatch Then
   MsgBox ("没有符合条件的房间,请重新输入")
   Command1.Enabled = True
   Command1.SetFocus
   End If
   End If
   End Sub
  
  
   Private Sub Command5_Click()
   Text1(2).Text = ""
   End Sub
  
   Private Sub Command6_Click()
   Data1.Refresh
   Data1.Recordset.Close
   Unload Me
   End Sub
  
   Private Sub Data1_Error(DataErr As Integer, Response As Integer)
   ’这就是放置错误处理代码的地方
   ’如果想忽略错误,注释掉下一行代码
   ’如果想捕捉错误,在这里添加错误处理代码
   MsgBox "数据错事件命中错误:" & Error$(DataErr)
   Response = 0 ’忽略错误
   End Sub
  
   Private Sub Data1_Reposition()
   Data1.Caption = "记录:" & (Data1.Recordset.AbsolutePosition + 1)
   End Sub
  
  
   Private Sub Form_Load()
   Data1.DatabaseName = App.Path & "\kfqk.mdb"
   Data1.Refresh
   End Sub
  
   制作客户查询窗体
  
   该窗体主要为已经住店和离店的客户进行查找的窗体,查找方式按综合查询方式进行,制作过程如下:
   1. 再工程中增加一个新的窗体form4,其属性与结构设置和前面类似, 省略
   2. 在该窗体中放入一个数据控件data1, 其属性与结构设置和前面类似, 省略
   3. 在该窗体中放入若干文本框控件,其属性和结构如前面”表1”所示: 略
   4. 再窗体中放入其他相应控件,并设置其相关属性
  
   过程代码如下:
  
   Private Sub Command1_Click()
   Dim msg
   Dim oldmark
   Data1.Refresh
   oldmark = Data1.Recordset.Bookmark
   msg = Trim(InputBox("请输入" + Combo1.Text, "查询"))
   If Combo1.Text = "房号" Then
   msg = "房号 like ’ " & msg & " ’"
   End If
   If Combo1.Text = "姓名" Then
   msg = "姓名 like ’ " & msg & " ’"
   End If
   If Combo2.Text = "性别" Then
   msg = "性别 like ’ " & msg & " ’"
   End If
   If Combo1.Text = "年龄" Then
   msg = "年龄 like ’ " & msg & " ’"
   End If
   If Combo1.Text = "国籍" Then
   msg = "国籍 like ’ " & msg & " ’"
   End If
   If Combo1.Text = "身份证号" Then
   msg = "身份证号 like ’ " & msg & " ’"
   End If
   If Combo3.Text = "客房级别" Then
   msg = "客房级别 like ’ " & msg & " ’"
   End If
   If Combo1.Text = "用房天数" Then
   msg = "用房天数 like ’ " & msg & " ’"
   End If
   If Combo1.Text = "住店日期" Then
   msg = "住店日期 like ’ " & msg & " ’"
   End If
   If Combo1.Text = "离店日期" Then
   msg = "离店日期 like ’ " & msg & " ’"
   End If
   If Data1.Recordset.BOF Then
   Data1.Recordset.MoveFirst
   End If
   Data1.Recordset.FindFirst msg
   If Data1.Recordset.NoMatch Then
   MsgBox ("没有符合条件的住房")
   Data1.Recordset.Bookmark = oldmark
   End If
   End Sub
  
   Private Sub command2_Click()
   Data1.Recordset.Close
   Unload Me
   End Sub
  
   Private Sub Data1_Error(DataErr As Integer, Response As Integer)
   ’这就是放置错误处理代码的地方
   ’如果想忽略错误,注释掉下一行代码
   ’如果想捕捉错误,在这里添加错误处理代码
   MsgBox "数据错事件命中错误:" & Error$(DataErr)
   Response = 0 ’忽略错误
   End Sub
  
   Private Sub Data1_Reposition()
   Data1.Caption = "记录:" & (Data1.Recordset.AbsolutePosition + 1)
   End Sub
  
   Private Sub Form_Load()
   Data1.DatabaseName = App.Path & "\kfxx.mdb"
   End Sub
  
  
   Counselor: liang xiaoling Student: liu zhijun
   Computer Department 014 class ID2001151412
  
   Summary : The 21st century is "a kownledge economy ", information explosion is a characteristic in this era.Therefore, managements and usings of informations are putting forward higher demand to enterprises in information age, This reflects it in two aspects mainly, firstly,The world that we are in become ocean , knowledge of information already, Enterprises must possess and obtain , deal with and use the ability of the information from the environment of an enterprise, secondly,Enterprise must have been managing and using enterprise’s data information that reflects enterprise of states,witch it produces constantly itself and that describes control letters of management activity to possess also, Having no need for reticence, Visual Basic is a kind of computer language with the fastest developing speed in recent years, Its is favored by numerous computers and programmers with practicabilities succinctly. The ones that pass through Microsoft dealling in generality, Setting up the ability that windows uses conveniently for this language, Thus offered and developed many tasks and high performances that various kinds of business system’s needs.
  
  
   参考文献:
   《信息系统开发方法教程》 清华大学出版社 陈佳 编著
   《中文Access2002》实用教程》 电子工业出版社 赵增敏等 编著
   《Visual Basic 实用培训教程》 人民邮电出版社 金英姿等 编著
   《数据库开发及工程实例》 人民邮电出版社 姚魏 编著
   《数据库系统开发技术》 人民邮电出版社 郭琦 编著
   《VISUAL BASIC 6.0 数据库开发技术与工程实践》 人民邮电出版社 求是科技 编著
   《深入学习:VISUAL BASIC 6.0开发与实例》 电子工业出版社 [美] dan fox 编著

返回顶部