ker控件、8个Text控件、5个Command控件等。
6.5调房登记模块设计
6.5.1实现目标
程序启动后,选择"住宿管理"菜单下的"调房登记"项,将进入调房登记模块。在调房登记模块中主要实现如下功能:
可以选择客人住宿房和空闲房。
实现客户调房登记(系统只允许调换等价客房)。
调房登记界面如图6-5所示。
图6-5调房登记界面
6.5.2实现过程
1.在"客房管理系统"工程中,添加一个新窗体,命名为mainesjdj。
2.在窗体中添加4个Data控件、2个DBCombo控件、l个Combo控件、7个Text控件、4个COnunand控件等。
6.5.3调房的实现方法
由于客人的住宿习惯不同,有些客人会在住宿过程中要求调房,例如客人要求换一个朝阳的房间或空调房等,这就要求客房管理系统有调房的功能。调房模块的思路是:首先查看目标客房是否空闲,如果空闲,查看目标客房的房价(本系统只允许用户调换等价的房间),如果房价与客人原住客房等价,则可确认客人调房。调房后,应对原客房、目标客房的状态进行编辑,再对住宿登记表中的信息进行编辑。
Data1.Recordset.FindFirst'房间号Like"+Chr(34)+DBCombo4.Text+Chr(34)+"anddjb.标志like"+Chr(34)+"1"+Chr(34)+"and姓名like"+Chr(34)+Textl8.Text+"*"+Chr(34)+"and凭证号码like"+Chr(34)+bh.Text+Chr(34)+""
Datal.Recordset.Edit
IfDBCombol.Text<>""ThenDatal.Recordset.Fields("房间号-)=Val(DBCombol.Text)
IfDBCombo2.Text<>""ThenDatal.Recordset.Fields("客房类型")=DBCombo2.Text
IfDBCombo3.Text<>""ThenDatal.Recordset.Fields("客房价格")=Val(DBCombo3.Text)
IfTextlO.Text<>""ThenDatal.Recordset.Fields("备注")=TextlO.Text
Datal.Recordset.Fields("标志")="1"
Datal.Recordset.Field("摘要")="由源房"&DBCombo4.Text&"调到目标房"&DBCombol.Text
6.6退宿结账模块设计
6.6.1实现目标
程序启动后,选择"住宿管理"菜单下的"退宿结账"项,将进入退宿结账模块。在退宿结账模块中主要实现如下功能:
提供需结账客人的凭证号码供用户选择。
实现现金结账、现金打折结账、挂账结账等功能。
自动计算住宿费用(宿费、电话费、杂费、会议费、停车费、赔偿费等)和退还费用。
实现打印退宿结账单据功能。
退宿结账界面如图6-6所示。
图6-6退宿结账界面
6.6.2实现过程
1.在"客房管理系统"工程中,添加一个新窗体,命名为main_tf.
2.在窗体中添加5个Da1La控件、4个DBCombo控件、4个DTPieb沈控件、3个Colllbo控件、21个Text控件、5个Co~and控件等。
3.程序代码:
本部分为该系统的关键:
在开发酒店客房管理系统过程中,从客人入住到客人退宿涉及到客房管理的方方面面,如处理不当,便会给酒店造成很大的损失。
客房宿费的算法
由于每个酒店的管理方法不同,所以宿费算法也有不同,如果采用人工运算既耽误时间,又容易出现运算错误,很容易给酒店和客人造成不必要的麻烦和损失。如果使用程序计算宿费,那么既方便又规范,同时也避免了运算错误。下面是针对酒店客房管理设计的宿费运算公式:
宿费=房价x天数
如果客人退宿结账时间在住宿当天,可以按如下算法:
如客人退宿结账时间早于18:00,那么住宿天数为0.5天;
如客人退宿结账时间超过18:00,那么住宿天数为1天。
如果客人退宿结账时间不在住宿当天,可以按如下算法(定义A为天数):
如客人退宿结账时间在中午12:00之前,住宿天数为(退宿日期一住宿日期)+0.5天;
如客人退宿结账时间在中午12:00之后,住宿天数为(退宿日期一住宿日期)+1天。
PublicSubJSQ'定义计算住宿天数的函数
IfDTP2.Value>DTP1.ValueThen
Iftim2.Value>#11:59:00PM#Then
Iftim2.Value>#12:00:00PM#Then
Iftim2.Value>#6:00:00PM#Then
Texts.Text=DTP2.Value一DTP1.Value+1
Else
Texts.Text=DTP2.Value一DTP1.Value+0.5
EndIf
Flse
Texts.Text=UTP2.Value一DTP1.Value
EndIf
RIeP
Texts.Text=DTP2.Value一DTP1.Value
EndIf
Else
Iftiml.Value<#2:00:00AM#Then
Iftim2.Value>#2:00:00AM#Then
Iftim2.Value>#12:00:00PM#Then
Iftim2.Value>#6:00:00PM#Then
Texts.Text=1+1
Else
Texts.Text=1+0.5
EndIf
Else
Texts.Text=1
FnriIf
Flan
Texts.Text=1
EndIf
EISe
Texts.Text=l
Elldlf
Endlf
EndSub
PublicSubssje()'定义计算实收金额和退还金额的函数
Texssje.Text=Val(Texzhje.Text)+Val(Texzf.Text)+Val(Texdhf.Text)+Val(Texpef.Text)+Val(Texh江Text)+Val(Textef.Text)
Texthje.Text=Val(Texyj·Text)一Val(Texssje·Text)
EndSub
6.7客房管理设计
6.7.1客房设置模块设计
实现目标
程序启动后,选择"客房管理"菜单下的"客房设置"项,将进入客房设置模块。在客房设置模块中主要实现如下功能:
完成客房基本信息的录入、保存、修改。
完成客房基本信息的查询。
客房设置界面如图6-7所示。
图6-7客房设置
6.7.2客房查询模块设计
1.实现目标
程序启动后,选择"客房管理"菜单下的"客房查询"项,将进入客房查询模块。在客房查询模块中主要实现如下功能:
按房间号检索所需的客房基本信息。
完成客房基本信息的修改与删除。客房查询界面如图6-8所示
图6-8客房查询
2.实现过程
(1)在"客房管理系统"工程中,添加一个新窗体,命名为mainwekrcxa
(2)程序代码:
Data1.DatabaseName=App.Path&"\KFGL.MDB"
EndSub
PrivateSubForm_Unload(CancelAsInteger)
main.Enabled=True
EndSub
PrivateSubFrame1_DragDrop(SourceAsControl,XAsSingle,YAsSingle)
EndSub
PrivateSubText1_Change()
'查询客房信息
Data1.RecordSource="select*fromkfwherekf.房间号like"+Chr(34)+Text1.Text+"*"+Chr(34)+""
Data1.Refresh
EndSub
PrivateSubCommand1_Click()'允许修改客房信息
DBGrid1.AllowUpdate=True
EndSub
PrivateSubCommand2_Click()'删除客房信息
IfData1.Recordset.RecordCount>0Then
Data1.Recordset.Delete
Data1.Refresh
EndIf
EndSub
PrivateSubCommand3_Click()
main.Enabled=True
UnloadMe
EndSub
6.7.3房态查看模块设计
1.实现目标
程序启动后,选择"客房管理"菜单下的"房态查看"项,将进入房态查看模块。在房态查看模块中主要实现如下功能:
以图形方式显示入住房、空闲房、维修房。
计算当前客房入住数、空闲数、维修数、客房的使用率。
点击入住图形的按钮,查看客人详细的住宿信息。
房态查看界面如图6-9所示
图6-9房态查看界面
2.实现过程
(1)在"客房管理系统"工程中,添加一个新窗体,命名为mainftcx.
(2)在窗体中添加1个Commandl数组(1-25)、2个Image控件、1个Text控件等。
6.8挂账管理设计
6.8.1挂账查询模块设计
实现目标
程序启动后,选择"挂账管理"菜单下的"挂账查询"项,将进入挂账查询模块。在挂账查询模块中主要实现如下功能:
选择挂账单位(单位或个人),检索符合条件的挂账信息、还款信息。
按日期检索符合条件的挂账信息、还款信息。
挂账查询界面如图6-10所示。
图6-10挂账查询界面
6.8.2客户结款模块设计
实现目标
程序启动后,选择"挂账管理"菜单下的"客户结款"项,将进入客户结款模块。在客户结款模块中主要实现如下
上一篇:
VB酒店客房管理VB+SQL(论文和程序)
下一篇:
致享和威驰哪个好点?冲着安全和空间 推荐致享