1、客房价格单精度型客房状态客房备注信息备注 表2.2旅客退房记录表为旅客退房相关的一些记录信息,数据结构如表旅客退房记录表设置旅客登记时间退房时间旅客退房时间付款金额付费金额退房备注信息 表2.3管理人员信息表存储宾馆管理人员使用该系统的帐号密码,数据结构表第一章 主界面的设计(余蕾)主体内容31 设计标准模块本系统设计过程中,创建一个通用函数模块,用于实现数据库连接及按需要打开一个数据表。程序代码如下:Option ExplicitPublic Sub opentable(pado As Adodc, precordsource As String)With pado .ConnectionS
2、tring = Provider=Microsoft.Jet.OLEDB.4.0;Data Source= & App.Path & Total.mdb mandType = adCmdUnknown .RecordSource = precordsource .Refresh End WithEnd Sub3.2 户登录界面设计用户登录的作用是判断使用本程序的用户是否是合法用户。在程序进入登录界面时要求输入用户名和密码,如果用户名,密码正确程序继续执行。当密码错误输入的次数超过设定次数时,给出提示信息退出程序,这样防止了非法用户对本程序的使用。321工作界面设计 图3.1登录窗体Privat
3、e 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)逐一判断字符的合格化 If a(i) = Then MsgBox Error, vbOKOnly, Exit Sub ElseIf a(i) =
4、=, End If c = c + 1 txtUserName.SetFocusNext iDim strusername As StringDim strpassword As StringStatic intlogintimes As IntegerIf Trim(txtUserName.Text) = MsgBox 用户名不能为空!, vbOKOnly + vbCritical, 错误Exit SubEnd Ifopentable adousers, usersinfoadousers.Refreshadousers.Recordset.Find 姓名= txtUserName.Text
5、 &, , adSearchForward, 1If Not adousers.Recordset.EOF Then strusername = adousers.Recordset!strpassword = adousers.Recordset!密码Elsestrusername = strpassword = End IIf strusername = txtUserName.Text And strpassword = txtPassword.Text Thenadousers.Recordset.CloseUnload Mefrmmdi.Show 用户名或密码不对!, vbOKOnl
6、y + vbInformation, 提示 intlogintimes = intlogintimes + 1 If intlogintimes = 3 Thenadousers.Recordset.Close EndtxtPassword.SetFocus SendKeys HOME+END End Sub Private Sub cmdcancel_click() Unload Me 322 添加新用户用于添加新的用户包括用户名,密码,及职务 工作界面设计如图 图3.2添加用户窗体程序代码如下:Private Sub Command1_Click()With adousers.Record
7、setIf Trim(Text1(0).Text) = , vbExclamation + vbOKOnly, 警告 Text1(0).SetFocusIf Trim(Text1(1).Text) = 密码不能为空! Text1(1).SetFocusIf Trim(Text1(2).Text) = 确认密码不能为空! Text1(2).SetFocusIf Trim(Text1(1).Text) Trim(Text1(2).Text) Then确认密码不正确! opentable adousers, adousers.Refresh adousers.Recordset.Find Text1
8、(0).Text &If adousers.Recordset.EOF = False Then 已存在该用户! Text1(0).SelStart = 0 Text1(0).SelLength = Len(Text1(0).Text) .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 用户添加成功! Text1(0).Text = Text1(1).T
9、ext = Text1(2).Text = Unload MePrivate Sub Command2_Click()33 创建系统主界面当系统运行时,首先进入登录界面,当输入帐号,密码合法时,则启动系统主界面。主窗体是进入其他模块的入口。本系统主界面采用多文档界面,设计情况如图 图3.3主界面窗体设计主界面菜单项在操作项目比较多的情况下,通常是通过菜单来调用下级程序。菜单项的设计包含设置快捷键与访问键,设置如表: 主窗体菜单表3.4级别菜单名称快捷键访问键主菜单系统功能mnuSystem&S子菜单用户管理mnuUserCtrl+UU退出系统mnuExitX基本信息管理mnuInfoI客房信息
10、mnuRoomInfoCtrl+RR入住情况mnuGuestG退房记录mnuQuitC信息查询mnuQuerySelectQ报表输出mnuReport房间情况表mnuReportRoom收费情况表mnuReportMoneyM窗口布局mnuWindowW水平平铺mnuHorH垂直平铺mnuVerV层叠mnuCascade排列图标mnuIcon帮助信息mnuHelpCtrl+H内容mnuContent索引mnuIndex设计主界面Private Sub MDIForm_Load()App.Title = 宾馆客房管理系统opentable adoroom, roomopentable adogu
11、est, guestopentable adoquit, quitPrivate Sub mnuCascade_Click()frmmdi.Arrange vbCascadePrivate Sub mnudenglu_Click()frmLogin.ShowPrivate Sub mnuExit_Click()Private Sub mnuGuest_Click()frmGuestInfo.ShowPrivate Sub mnuHor_Click()frmmdi.Arrange vbTileHorizontalPrivate Sub mnuIcon_Click()frmmdi.Arrange
12、vbArrangeIconsPrivate Sub mnuqueryguest_Click()frmqueryinfo.ShowPrivate Sub mnuqueryroom_Click()frmqueryroom.ShowPrivate Sub mnuQuit_Click()frmquitinfo.ShowPrivate Sub mnuRoomInfo_Click()frmroominfo.ShowPrivate Sub mnuUser_Click()frmusers.ShowPrivate Sub mnuver_Click()frmmdi.Arrange vbTileVerticalPr
13、ivate Sub toolbar1_buttonclick(ByVal button As MSComctlLib.button) Select Case button.Index 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第二章 制作客户信息登记窗体(赵岩辉)客户信息窗体包括对全体旅客信息浏览,修改及删除的窗体和添加
14、新入住旅客信息窗体。旅客基本信息窗体,工作界面设计情况如图: 控件属性表3.5控件名称属性设置值DataGrid1(名称)dtgGuestInfoCommand1cmdAddNewCaption添加(&A)Command2cmdEdit修改(&E)Command3cmdDelete删除(&D)Command4cmdExit退出(&X) 图3.6旅客信息窗体Private Sub dtgguestrefresh()With dtgguestinfo Set .DataSource = frmmdi.adoguest .AllowRowSizing = False .HeadFont = 2 .M
15、arqueeStyle = dbgHighlightRow .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).Wi
16、dth = 1500 .Columns(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
17、).Caption = 籍贯 .Columns(6).Width = 2000 .Columns(6).AllowSizing = FalsePrivate Sub cmdaddnew_Click()With frmguestinfoedit .Caption = 添加新旅客 .txtbookno.Locked = False .txtbookno.Text = .txtguestname.Text = .txtcardid.Text = .txtroomno.Text = dtpbookdate.Text = Date .dtpbookdate.Enabled = False frmgues
18、tinfoedit.ShowPrivate 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!房间号 & If Not .EOF Then客房状态
19、 = 空 With frmmdi.adoguest.Recordset .Delete frmGuestInfo.SetFocusPrivate Sub cmdedit_Click() If frmmdi.adoguest.Recordset.EOF With frmguestinfoedit修改客人信息 .txtbookno.Text = frmmdi.adoguest.Recordset! .txtbookno.Locked = True .txtbookno.Enabled = False .txtguestname.Text = frmmdi.adoguest.Recordset! .
20、txtcardid.Text = frmmdi.adoguest.Recordset! .txtroomno = frmmdi.adoguest.Recordset! .dtpbookdate.Text = frmmdi.adoguest.Recordset!Private Sub cmdexit_Click()Private Sub Form_Load()Me.Left = (frmmdi.Width - Me.Width) 2Me.Top = (frmmdi.Height - Me.Height) 4dtgguestrefresh第三章 旅客信息登记窗体(龚剑)本窗体用于当旅客入住时,登记其基本信息,包括入住房间号。 图 3.7添加新旅客窗体窗体初始化与激活事件代码:Dim proomno As StringPrivate Sub cmdcancle_Click()Private Sub cmdok_Click()With frmmdi.adoguest.Recordset If Not txtbookno.Locked Then If Trim(txtbookno.Text) = 登记号不能为空! txtbookno.SetFocus txtbookno &已经有相同登记号!
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1