4.1关系模式
4.1.1关系住宿登记(房间号码、顾客姓名、房间种类、房间位置、房间备注信息、顾客身份证号码。入住时间)它是以房间号码和顾客身份证号码为主码的表中的其他数据分量是由主码房间号码和顾客身份证号码唯一标示的,所以他消除了非主属性对码的部分函数依赖,满足第二范式。
4.1.2退宿登记(顾客姓名、房间号码 客房标准、客房价格、住宿日期、住宿天数、实际住宿费、预预收押金、退宿日期)它是以顾客姓名和房间号码为主码的,消除了非主属性对主属性的部分函数依赖和传递函数依赖,所以满足第三范式。
4.1.3关系客房(房间号码 房间标准、房间价格、)它是以房间号码为主码的由房间号码唯一确定其他的取值,消除了主属性对码的部分和传递函数依赖,所以关系客房达到了扩展的第三范式。
4.1.4关系密码(用户名 密码 、权限)它是以用户名、密码为主码的,由用户名和密码唯一确定用户的权限,取消了主属性对码的部分和传递函数依赖,所以关系密码达到了扩展的第三范式。
4.2基本表
(1)客房基础信息表表
字段名称 数据类型 字段大小
房间号 文本 30
房间类型 文本 50
价格 货币 8
房态 文本 4
备注 文本 100
配置 文本 100
(2)登记表
字段名称 数据类型 字段大小
姓名 文本 50
证件名称 文本 20
证件号码 文本 20
详细地址 文本 50
房间号 文本 20
客房类型 文本 10
联系电话 文本 20
客房价格 货币 8
住宿日期 日期/时间 8
住宿时间 日期/时间 8
住宿天数 数字 双精度型
宿费 货币 8
折扣 数字 双精度型
应收宿费 货币 8
预收金额 货币 8
退宿日期 日期/时间 8
备注 文本 50
结款方式 文本 10
摘要 文本 200(3)权限设置表
字段名称 数据类型 字段大小
编号 是/否 50
操作员 是/否 50
密码 是/否 双精度型
住宿登记 是/否 1
退宿登记 是/否 1
追加押金 是/否 1
客房管理 是/否 1
客房查询 是/否 1
住宿查询 是/否 1
退宿查询 是/否 1
宿费查询 是/否 1
客房销售报表 是/否 1
操作员设置 是/否 1
密码设置 是/否 1
权限设置 是/否 1
调房登记 是/否 1
客户结款 是/否 1
(4)退房登记表
字段名称 数据类型 字段大小
姓名 文本 50
证件名称 文本 20
证件号码 文本 20
详细地址 文本 50
房间号 文本 20
客房类型 文本 10
联系电话 文本 20
客房价格 货币 8
住宿日期 日期/时间 8
住宿时间 日期/时间 8
住宿天数 数字 双精度型
宿费 货币 8
折扣 文本 双精度型
应收宿费 货币 8
金额总计 货币 8
预收宿费 日期/时间 8
退还宿费 日期/时间 8
退还日期 日期/时间 8
备注 文本 8
4.3接口设计
第五章、系统的实现与调试
5.1系统流程设计
第优章 系统的界面设计及源代码
6.1系统登陆窗口界面
Dim TIM As Integer '定义一个整型变量
Dim myval As String '定义一个字符串变量
Private Sub Form_Load()
'自动识别数据库路径
Data1.DatabaseName = App.Path & "\KFGL.mdb"
Data2.DatabaseName = App.Path & "\KFGL.mdb"
End Sub
Private Sub Form_Activate()
'当记录为零时,进入系统具有所有权限
If Data1.Recordset.RecordCount = 0 Then
MsgBox ("请先设置操作员密码和权限!")
Load main
main.Show
Unload Me
Else
Text1.SetFocus
End If
End Sub
Private Sub Text1_KeyDown(KeyCode As Integer, Shift As Integer)
If KeyCode = vbKeyReturn Then Text2.SetFocus '按回车键,text2获得焦点
End Sub
Private Sub text2_KeyDown(KeyCode As Integer, Shift As Integer)
If KeyCode = vbKeyReturn Then Cmd1.SetFocus '按回车键cmd1获得焦点
If KeyCode = vbKeyUp Then Text1.SetFocus
If KeyCode = vbKeyDown Then Cmd1.SetFocus
End Sub
Private Sub cmd1_Click()
main.StatusBar1.Panels(4).Text = Text1.Text '赋值给main.StatusBar1.Panels(4).Text
'验证操作员及密码
If Data2.Recordset.BOF = False Then Data2.Recordset.MoveFirst
Data2.Recordset.FindFirst "操作员 like " + Chr(34) + Text1.BoundText + Chr(34) + ""
If Data2.Recordset.NoMatch Then
MsgBox ("操作员输入错误!")
Else
Data1.RecordSource = "select * from qxsz where 操作员='" & Text1.BoundText & "'"
Data1.Refresh
If Text1.BoundText <> "" And Text2.Text <> "" And Text2.Text = Data1.Recordset.Fields("密码") Then
Load main
main.Show
Unload Me
Else
If TIM = 3 Then '密码输错3次,退出系统
myval = MsgBox("密码输入错误,请向系统管理员查询!", 0, "")
If myval = vbOK Then End
End If
If Text1.BoundText = "" Then
MsgBox ("请输入操作员!")
youerw.com
MsgBox ("请输入操作员密码!")
Text2.SetFocus
Else
If Text2.Text <> Data1.Recordset.Fields("密码") Then
MsgBox ("密码错误,请重新输入密码!")
TIM = TIM + 1
Text2.SetFocus
End If
End If
End If
End If
End If
End If
End Sub
Private Sub cmd2_Click()
End
上一页 [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] ... 下一页 >>