VB课程设计实验报告.doc

上传人:e****s 文档编号:85460929 上传时间:2023-04-11 格式:DOC 页数:37 大小:1.50MB
返回 下载 相关 举报
VB课程设计实验报告.doc_第1页
第1页 / 共37页
VB课程设计实验报告.doc_第2页
第2页 / 共37页
点击查看更多>>
资源描述

《VB课程设计实验报告.doc》由会员分享,可在线阅读,更多相关《VB课程设计实验报告.doc(37页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、第1章系统设计的目的与意义:客房管理系统用于宾馆旅客入住情况登记,包括旅客的姓名及身份证号的登记,以及入住房间信息.当旅客离开时,需要办理退房结帐手续.对于一定时间没的旅客入住情况实现基本查询,报表打印功能.对于宾馆本身也实现了客房增减,入住情况查询等功能. 无论各种等级的宾馆,使用客房管理系统都具有非常实用的价值.使用该系统可以大大节省时间,提高办公效率,而且非常方便的实现旅客信息的查询,以及对宾馆本身客房入住情况及时了解.因此,客房管理系 统的开发无疑具有深远的意义.系统功能设计 系统设计包括数据库设计,主界面设计,菜单设计以及功能设计.而其他功能设计包括系统登录设计,旅客信息登记,旅客信

2、息查询,退房信息处理设计以及报表输入等功能设计,系统功能设计流程图如图所示开始启动图1.1用户登录 旅客信息表为旅客的个人信息加入住客房信息,数据结构如表 旅客信息表设置字段名类型大小说明登记号Text8旅客入住号姓名Text8旅客姓名身份证号码Text18旅客身份证号房间号Text3入住房间号登记日期Text日期/时间旅客入住时间性别Text3旅客性别籍贯Text8旅客籍贯表2.1客房信息表为客房入住情况的基本信息,数据结构如表客房信息表设置字段名类型大小说明房间号Text3房间号客房等级Text8客房等级客房类型Text8客房类型客房价格Text单精度型客房价格客房状态Text3客房状态客

3、房备注信息备注8客房备注信息 表2.2旅客退房记录表为旅客退房相关的一些记录信息,数据结构如表旅客退房记录表设置字段名类型大小说明登记号Text8旅客入住号登记日期日期/时间旅客登记时间退房时间日期/时间旅客退房时间付款金额Text单精度型付费金额退房备注信息Text8退房备注信息 表2.3管理人员信息表存储宾馆管理人员使用该系统的帐号密码,数据结构表第一章 主界面的设计(余蕾)主体内容31 设计标准模块本系统设计过程中,创建一个通用函数模块,用于实现数据库连接及按需要打开一个数据表。程序代码如下:Option ExplicitPublic Sub opentable(pado As Adod

4、c, precordsource As String)With pado .ConnectionString = Provider=Microsoft.Jet.OLEDB.4.0;Data Source= & App.Path & /Total.mdb .CommandType = adCmdUnknown .RecordSource = precordsource .Refresh End WithEnd Sub3.2 户登录界面设计用户登录的作用是判断使用本程序的用户是否是合法用户。在程序进入登录界面时要求输入用户名和密码,如果用户名,密码正确程序继续执行。当密码错误输入的次数超过设定次数

5、时,给出提示信息退出程序,这样防止了非法用户对本程序的使用。321工作界面设计 图3.1登录窗体程序代码如下:Private Sub cmdok_Click() 检查正确的密码首先要对用户名特殊字符的过滤防止非授权用户的登陆访问Dim s1 As StringDim i As IntegerDim j As IntegerDim a(18) As String j = Len(txtUserName.Text) s1 = txtUserName.Text Dim c As Integer c = 1 For i = 1 To j a(i) = Mid(s1, i, 1)逐一判断字符的合格化 I

6、f a(i) = Then MsgBox Error, vbOKOnly, Error Exit Sub ElseIf a(i) = Then MsgBox Error, vbOKOnly, Error Exit Sub ElseIf a(i) = = Then MsgBox Error, vbOKOnly, Error Exit Sub ElseIf a(i) = Then MsgBox Error, vbOKOnly, Error Exit Sub ElseIf a(i) = Then MsgBox Error, vbOKOnly, Error Exit Sub ElseIf a(i) =

7、 , Then MsgBox Error, vbOKOnly, Error Exit Sub ElseIf a(i) = Then MsgBox Error, vbOKOnly, Error Exit Sub End If c = c + 1 txtUserName.SetFocus Next iDim strusername As StringDim strpassword As StringStatic intlogintimes As IntegerIf Trim(txtUserName.Text) = ThenMsgBox 用户名不能为空!, vbOKOnly + vbCritical

8、, 错误Exit SubEnd Ifopentable adousers, usersinfoadousers.Refreshadousers.Recordset.Find 姓名= & & txtUserName.Text & , , adSearchForward, 1If Not adousers.Recordset.EOF Then strusername = adousers.Recordset!姓名strpassword = adousers.Recordset!密码Elsestrusername = strpassword = End IIf strusername = txtUs

9、erName.Text And strpassword = txtPassword.Text Thenadousers.Recordset.CloseUnload Mefrmmdi.Show ElseMsgBox 用户名或密码不对!, vbOKOnly + vbInformation, 提示 intlogintimes = intlogintimes + 1 If intlogintimes = 3 Thenadousers.Recordset.Close EndEnd IftxtPassword.SetFocus SendKeys HOME+END End If End Sub Privat

10、e Sub cmdcancel_click() Unload Me End Sub322 添加新用户用于添加新的用户包括用户名,密码,及职务 工作界面设计如图 图3.2添加用户窗体程序代码如下:Private Sub Command1_Click()opentable adousers, usersinfoadousers.RefreshWith adousers.RecordsetDim i As IntegerIf Trim(Text1(0).Text) = Then MsgBox 用户名不能为空!, vbExclamation + vbOKOnly, 警告 Text1(0).SetFoc

11、us Exit SubEnd IfIf Trim(Text1(1).Text) = Then MsgBox 密码不能为空!, vbExclamation + vbOKOnly, 警告 Text1(1).SetFocus Exit SubEnd IfIf Trim(Text1(2).Text) = Then MsgBox 确认密码不能为空!, vbExclamation + vbOKOnly, 警告 Text1(2).SetFocusExit SubEnd IfIf Trim(Text1(1).Text) Trim(Text1(2).Text) Then MsgBox 确认密码不正确!, vbE

12、xclamation + vbOKOnly, 警告 Text1(2).SetFocusExit SubEnd If opentable adousers, usersinfo adousers.Refresh adousers.Recordset.Find 姓名= & & Text1(0).Text & , , adSearchForward, 1If adousers.Recordset.EOF = False Then MsgBox 已存在该用户!, vbExclamation + vbOKOnly, 警告 Text1(0).SetFocus Text1(0).SelStart = 0 T

13、ext1(0).SelLength = Len(Text1(0).Text) Exit SubEnd If opentable adousers, usersinfo .AddNew !姓名 = Trim(Text1(0).Text) !密码 = Trim(Text1(1).Text) If Option1(0) Then !权限 = 1 If Option1(1) Then !权限 = 2 If Option1(2) Then !权限 = 3 .Update MsgBox 用户添加成功!, vbExclamation + vbOKOnly, 警告 Text1(0).Text = Text1(

14、1).Text = Text1(2).Text = End With Unload MeEnd SubPrivate Sub Command2_Click()Unload MeEnd Sub33 创建系统主界面当系统运行时,首先进入登录界面,当输入帐号,密码合法时,则启动系统主界面。主窗体是进入其他模块的入口。本系统主界面采用多文档界面,设计情况如图 图3.3主界面窗体设计主界面菜单项在操作项目比较多的情况下,通常是通过菜单来调用下级程序。菜单项的设计包含设置快捷键与访问键,设置如表: 主窗体菜单表3.4级别菜单名称快捷键访问键主菜单系统功能mnuSystem&S子菜单用户管理mnuUserC

15、trl+U&U退出系统mnuExit&X主菜单基本信息管理mnuInfo&I子菜单客房信息mnuRoomInfoCtrl+R&R入住情况mnuGuest&G退房记录mnuQuit&C主菜单信息查询mnuQuerySelect&Q主菜单报表输出mnuReport&R子菜单房间情况表mnuReportRoomCtrl+R&R收费情况表mnuReportMoney&M主菜单窗口布局mnuWindow&W子菜单水平平铺mnuHorCtrl+R&H垂直平铺mnuVer&V层叠mnuCascade&C排列图标mnuIcon&I主菜单帮助信息mnuHelpCtrl+H&H内容mnuContent&C索引mn

16、uIndex&I设计主界面Option ExplicitPrivate Sub MDIForm_Load()App.Title = 宾馆客房管理系统opentable adoroom, roomopentable adoguest, guestopentable adoquit, quitEnd SubPrivate Sub mnuCascade_Click()frmmdi.Arrange vbCascadeEnd SubPrivate Sub mnudenglu_Click()frmLogin.ShowEnd SubPrivate Sub mnuExit_Click()Unload MeEn

17、d SubPrivate Sub mnuGuest_Click()frmGuestInfo.ShowEnd SubPrivate Sub mnuHor_Click()frmmdi.Arrange vbTileHorizontalEnd SubPrivate Sub mnuIcon_Click()frmmdi.Arrange vbArrangeIconsEnd SubPrivate Sub mnuqueryguest_Click()frmqueryinfo.ShowEnd SubPrivate Sub mnuqueryroom_Click()frmqueryroom.ShowEnd SubPri

18、vate Sub mnuQuit_Click()frmquitinfo.ShowEnd SubPrivate Sub mnuRoomInfo_Click()frmroominfo.ShowEnd SubPrivate Sub mnuUser_Click()frmusers.ShowEnd SubPrivate Sub mnuver_Click()frmmdi.Arrange vbTileVerticalEnd SubPrivate Sub toolbar1_buttonclick(ByVal button As MSComctlLib.button) Select Case button.In

19、dex Case 1 mnuRoomInfo_Click Case 2 mnuGuest_Click Case 3 mnuQuit_Click Case 4 mnuqueryroom_Click Case 5 mnuReportRoom_Click Case 6 mnuExit_Click End Select End Sub第二章 制作客户信息登记窗体(赵岩辉)客户信息窗体包括对全体旅客信息浏览,修改及删除的窗体和添加新入住旅客信息窗体。旅客基本信息窗体,工作界面设计情况如图: 控件属性表3.5控件名称属性设置值DataGrid1(名称)dtgGuestInfoCommand1(名称)cmd

20、AddNewCaption添加(&A)Command2(名称)cmdEditCaption修改(&E)控件名称属性设置值Command3(名称)cmdDeleteCaption删除(&D)Command4(名称)cmdExitCaption退出(&X) 图3.6旅客信息窗体程序代码如下:Option ExplicitPrivate Sub dtgguestrefresh()With dtgguestinfo Set .DataSource = frmmdi.adoguest .AllowRowSizing = False .HeadFont = 2 .MarqueeStyle = dbgHig

21、hlightRow .AllowAddNew = False .AllowDelete = False .AllowUpdate = False .Columns(0).Caption = 登记号 .Columns(0).Width = 600 .Columns(0).AllowSizing = False .Columns(1).Caption = 客人姓名 .Columns(1).Width = 600 .Columns(1).AllowSizing = False .Columns(2).Caption = 身份证号码 .Columns(2).Width = 1500 .Columns(

22、2).AllowSizing = False .Columns(3).Caption = 房间号 .Columns(3).Width = 600 .Columns(3).AllowSizing = False .Columns(4).Caption = 登记日期 .Columns(4).Width = 1000 .Columns(4).AllowSizing = False .Columns(5).Caption = 性别 .Columns(5).Width = 500 .Columns(5).AllowSizing = False .Columns(6).Caption = 籍贯 .Colu

23、mns(6).Width = 2000 .Columns(6).AllowSizing = False End With End SubPrivate Sub cmdaddnew_Click()With frmguestinfoedit .Caption = 添加新旅客 .txtbookno.Locked = False .txtbookno.Text = .txtguestname.Text = .txtcardid.Text = .txtroomno.Text = dtpbookdate.Text = Date .dtpbookdate.Enabled = False End With f

24、rmguestinfoedit.ShowEnd SubPrivate Sub cmddelete_Click()If frmmdi.adoguest.Recordset.EOF True And frmmdi.adoguest.Recordset.BOF True Then With frmmdi.adoroom.Recordset If MsgBox(确认要删除当前记录吗?, vbYesNo + vbQuestion + vbDefaultButton2, 确认框) = vbYes Then .Find 房间号= & & frmmdi.adoguest.Recordset!房间号 & , ,

25、 adSearchForward, 1 If Not .EOF Then !客房状态 = 空 End If With frmmdi.adoguest.Recordset .Delete End With frmGuestInfo.SetFocus End If End With End IfEnd SubPrivate Sub cmdedit_Click() If frmmdi.adoguest.Recordset.EOF True And frmmdi.adoguest.Recordset.BOF True Then With frmguestinfoedit .Caption = 修改客人

26、信息 .txtbookno.Text = frmmdi.adoguest.Recordset!登记号 .txtbookno.Locked = True .txtbookno.Enabled = False .txtguestname.Text = frmmdi.adoguest.Recordset!姓名 .txtcardid.Text = frmmdi.adoguest.Recordset!身份证号码 .txtroomno = frmmdi.adoguest.Recordset!房间号 .dtpbookdate.Text = frmmdi.adoguest.Recordset!登记日期 .dt

27、pbookdate.Enabled = False End With End If frmguestinfoedit.ShowEnd SubPrivate Sub cmdexit_Click() Unload MeEnd SubPrivate Sub Form_Load()Me.Left = (frmmdi.Width - Me.Width) / 2Me.Top = (frmmdi.Height - Me.Height) / 4dtgguestrefreshEnd Sub第三章 旅客信息登记窗体(龚剑)本窗体用于当旅客入住时,登记其基本信息,包括入住房间号。 图 3.7添加新旅客窗体窗体初始化

28、与激活事件代码:Option ExplicitDim proomno As StringPrivate Sub cmdcancle_Click()Unload MeEnd SubPrivate Sub cmdok_Click()With frmmdi.adoguest.Recordset If Not txtbookno.Locked Then If Trim(txtbookno.Text) = Then MsgBox 登记号不能为空!, vbOKOnly + vbInformation, 提示 txtbookno.SetFocus Exit Sub End If .Find 房间号= & &

29、 txtbookno & , , adSearchForward, 1 If Not .EOF Then MsgBox 已经有相同登记号!, vbOKOnly + vbInformation, 提示txtbookno.SetFocus Exit Sub End If frmmdi.adoroom.Recordset.Find 房间号= & & Trim(txtroomno.Text) & , , adSearchForward, 1 If Not frmmdi.adoroom.Recordset.EOF Then If frmmdi.adoroom.Recordset!客房状态 空 Then

30、MsgBox 已有客人居住!, vbOKOnly + vbInformation, 提示 txtroomno.SetFocus Exit Sub End If Else MsgBox 没有此客房编号,请重新输入!, vbOKOnly + vbInformation, 提示 txtroomno.SetFocus Exit Sub End If If Trim(txtguestname.Text) = Then MsgBox 客人姓名不能为空!, vbOKOnly + vbInformation, 提示 txtguestname.SetFocus Exit Sub End If .AddNew !

31、登记号 = Trim(txtbookno.Text) frmmdi.adoroom.Recordset.Find 房间号= & &Trim(txtroomno.Text) & , , adSearchForward, 1 frmmdi.adoroom.Recordset!客房状态 = 有人 End If !姓名 = txtguestname.Text !身份证号码 = txtcardid.Text !性别 = txtsex.Text !籍贯 = txtpro.Text If txtbookno.Locked Then If Trim(txtroomno.Text) proomno Then W

32、ith frmmdi.adoroom.Recordset .Find 房间号= & & Trim(txtroomno.Text) & , , adSearchForward, 1 !客房状态 = 有人 .Find 房间号= & & proomno & , , adSearchForward, 1 !客房状态 = 空 End With End If End If !房间号 = Trim(txtroomno.Text) !登记日期 = dtpbookdate.Text .Update Unload Me End With End SubPrivate Sub form_activate()proo

33、mno = Trim(txtroomno.Text)End Sub第四章 制作退房信息处理窗体(周伟)当旅客离开宾馆时,需要为其办理退房手续,在这过程中需要在旅客退房信息表中添加记录信息,以及修改客房信息表,改变客房状态。旅客退房信息窗体,工作界面设计情况如图: 图3.8退房窗体程序代码如下:Private Sub dtgQuitRefresh() With dtgQuitInfo 绑定 Set .DataSource = frmmdi.adoquit .AllowRowSizing = False 表头宽度设为两行 .HeadLines = 2 选择方式为整行选中 .MarqueeStyle

34、 = dbgHighlightRow 不允许修改(设为只读) .AllowAddNew = False .AllowDelete = False .AllowUpdate = False 第一列标题和宽度 .Columns(0).Caption = 登记号 .Columns(0).Width = 700 .Columns(0).AllowSizing = False 第二列标题和宽度 .Columns(1).Caption = 登记日期 .Columns(1).Width = 1200 .Columns(1).AllowSizing = False 第三列标题和宽度 .Columns(2).C

35、aption = 退房时间 .Columns(2).Width = 1200 .Columns(2).AllowSizing = False 第四列标题和宽度 .Columns(3).Caption = 付费金额 .Columns(3).Width = 1200 .Columns(3).AllowSizing = False .Columns(4).Caption = 备注 .Columns(4).Width = 4000Columns(4).AllowSizing = False End WithEnd SubPrivate Sub cmdaddnew_Click() With frmqui

36、tinfoedit 窗体标题 .Caption = 添加退房信息 .txtbookno.Locked = False .txtbookno.Text = .txtpaymoney.Text = .txtinfo.Text = .dtpquitdate.Text = Date 显示为模式窗体 .Show End WithEnd SubPrivate Sub cmddelete_Click()If frmmdi.adoquit.Recordset.EOF True And frmmdi.adoquit.Recordset.BOF True Then With frmmdi.adoquit.Reco

37、rdset If MsgBox(确认要删除当前记录吗?, vbYesNo + vbQuestion + vbDefaultButton2, 确认框) = vbYes Then Find 登记号= & frmmdi.adoquit.Recordset!登记号 & , , adSearchForward, 1 If Not .EOF Then !QuitStatus = False End If With frmmdi.adoquit.Recordset.Delete End With dtgQuitInfo.SetFocus End If End WithEnd IfEnd SubPrivate

38、 Sub cmdedit_Click() If frmmdi.adoguest.Recordset.EOF True And frmmdi.adoguest.Recordset.BOF True Then With frmquitinfoedit 窗体标题 .Caption = 修改退房信息 .txtbookno.Text = frmmdi.adoquit.Recordset!登记号 .txtbookno.Locked = True .txtpaymoney.Text = frmmdi.adoquit.Recordset!付款金额 .TxtInfo.Text = frmMDI.AdoQuit.

39、Recordset!QuitInfo .dtpquitdate.Text = frmmdi.adoquit.Recordset!退房时间 .ShowEnd With End IfEnd SubPrivate Sub cmdexit_Click() Unload MeEnd SubPrivate Sub Form_Load() Me.Height = 4155 Me.Width = 7920 Me.Left = (frmmdi.Width - Me.Width) / 2 Me.Top = (frmmdi.Height - Me.Height) / 4 dtgQuitRefreshEnd Sub37 添加退房信息窗体本窗体用于当旅客离开时,登记旅客退房信息,以及计算并记录付额, : 图3.9添加退房信息窗体程序代码如下:Private Sub Cmd

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 管理文献 > 管理手册

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁