Access课程设计报告书课程名称:数据库课程设计设计题目:酒店管理系统设计指导教师:张星、陈福彦、刘帅、刘艳杰系别:建筑工程管理系专业:工程造价班级:0524092组员:吴江波052409251朱会彬0524092571目录第1章课程设计目的与要求1.1课程设计目的...........................................................................................................21.2课程设计的实验环境...............................................................................................21.3课程设计的预备知识...............................................................................................21.4课程设计要求...........................................................................................................2第2章课程设计内容2.1系统设计...................................................................................................................32.2数据库模型...............................................................................................................42.3设计窗体和报表.......................................................................................................82.4窗体和报表模块主要代码.......................................................................................11第3章课程设计总结.......................................................................................................15参考文献................................................................................................................................162第1章课程设计目的与要求本课程的课程设计实际是工程造价专业学生学习完王康平老师教授的《ACCESS基础教程》(第三版)课程后,进行的一次全面的综合训练,其目的在于加深对数据库基础理论和基本知识的理解,掌握运用数据库应用系统开发软件的基本方法。1.2课程设计的实验环境硬件要求能运行WindowsXP操作系统的微机系统。数据库应用系统开发软件可以选用MicrosoftAccess数据库管理系统。1.3课程设计的预备知识熟悉数据库的基本知识及一种以上数据库系统开发软件。1.4课程设计要求按课程设计指导书提供的课题,应根据下一节给出的基本需求独立完成八个方面的设计,标有“可选”的部分可根据设计时间的安排及工作量的大小适当选择。选用其他课题或不同的数据库管理系统,可以组成设计小组,分模块进行,共同协作完成一个应用系统的开发任务。要求书写详细的设计说明书,对复杂的代码段和程序段,应画出程序流程图。在界面设计中,画出每个窗口的布局,有多个窗口时,按模块调用的方式画出窗口调用图,用手工画好报表和标签样式,严禁相互抄袭。3第2章课程设计内容2.1系统功能分析2.1.1系统功能分析酒店管理系统需要对入住的人员和客房情况进行详细的管理,其中主要针对客房情况和人员入住情况进行管理。因此本系统分为如下两大个方面:1)基本情况资料,而基本情况资料有分为1.职员资料2.客房类型3.客房资料4.会员管理.等2)消费结帐管理,一样分为1.预定记录2.入住记录3.消费明细4.消费结帐.此外,系统管理员还可以通过报表对系统的明细一目了然。2.1.2系统功能模块设计酒店管理系统包括职员资料管理,客房类型管理,客房资料管理,会员资料管理,帐目管理分为入住管理,预定管理,消费明细管理,消费结帐管理,而在查询界面,可以查到详细的各种管理系统,详细情况如图2.1所示:图2.1酒店管理系统基本资料消费结帐职员资料客房类型客房资料会员资料预定记录入住记录消费明细消费结帐42.2数据库模型2.2.1数据库需求分析职员信息:职员ID,姓名,职位,性别,籍贯,年龄,民族,健康状况,婚姻状况,省份证号,家庭住址,家庭电话,备注等.客房类型:类型ID,类型名称,客房价格,拼房价格,可超额定数.客房资料:客房ID,类型ID,类型名称,楼层编号,额定人数,固有床数,客房状态,客房描述,备注等.2.2.2数据库概念结构设计职员信息实体E-R图:图2.2职员查询E-R图客房类型E-R图:图2.3客房类型E-R图客房类型类型ID类型名称客房价格拼房价格可超额定数职员信息职员ID民族姓名性别职位5酒店管理系统总体E-R图如图2.4所示:图2.4酒店管理系统总E-R图2.2.3数据库逻辑结构设计通过模块图分析可以知道,此系统由8个图表组成,具体图表如下:职员资料表中包括职员ID,姓名,职位,性别,籍贯,年龄,民族,健康状况,婚姻状况,省份证号,家庭住址,家庭电话,备注等等详细情况如表2.5所示字段名称数据类型职员ID文本姓名文本职位文本性别文本职员用户会员酒店管理入住拥有会员信息拥有客房价格属于客房拥有n11111nn11n16籍贯文本年龄数字民族文本健康状况文本婚姻状况文本身份证号数字家庭住址文本家庭电话数字备注文本表2.5客房类型表中包括类型ID,类型名称,客房价格,拼房价格,可超额定数,是否能拼房,备注等。详细情况如表2.6:字段名称数据类型类型ID数字类型名称文本客房价格数字拼房价格数字可超额定数数字是否能拼房是/否备注文本表2.6客房资料表中包括客房ID,类型ID,类型名称,楼层编号,额定人数,固有床数,客房状态,客房描述等。字段名称数据类型客房ID文本类型ID文本类型名称文本楼层编号数字额定人数数字固有床数文本客房状态文本客房描述文本表2.772.2.4数据库连接说明酒店管理系统是一个要求连贯性很强的系统,所以根据上面的对数据库系统的概念模型的设计,我们能根据表里的主键,连接出各个表中的关系和分类,这样才给我们做下面的系统,每个主键,还有每个外主键,都是数据库的关键,必须做个关系明确,这样系统才能明了清晰,数据库关系图如下:图2.8表之间的关系82.3设计窗体和报表通过以上模块和E-R图可知这个窗体是由基本资料、消费结帐、记录查询、用户管理、退出系统5部分组成,而基本资料又包括职员资料管理,客房资料管理,客房类型管理,会员资料管理,而消费结帐又包括预定记录管理,入住记录管理,消费明细管理,消费结帐管理,所以登陆窗体如图所示:图2.9登录窗口系统主体窗体是系统中唯一一个联系所有窗体的窗体,由基本资料,消费结帐,记录查询,用户管理,退出系统,所组成。系统运用了很多简单使用的SQL语句,是主窗体更加实用,美观。在功能运用状况中,系统有很高的稳定性,能够稳定的完成酒店的所有日常管理,和酒店的新老职工进行合理的安排,对职员的信息一目了然,主窗体是用现在对规范的设计视图设计完成的,能够满足酒店的各种数据需要,如图3.0所示9图3.0系统主体界面职员信息查询窗体可通过职员ID对职员进行详细信息的查询,通过创建一个按编号查找的查询,再以其作为数据来源创建一个职员信息查询窗体。如图3.1所示图3.1职员详细资料查询10预定记录信息按预定姓名,预收金额,预定时间,来对预定人详细记载。通过建立一个按预定记录信息查询的查询作为数据来源对其进行窗体的设计。如图3.2所示:图3.2预定信息记录窗体查询客房类型查询是通过类型名称和客房价格,详细的找出是否用空房,和酒店的用房状况。如图3.3所示图3.3客房类型查询窗体11消费明细报表可以很清晰的显示出,今天客人在酒店里的消费情况和详细费用情况,和加服务情况,以及一天的明细,如图3.4所示图3.4消费明细报表2.4设计窗体和报表模块主要代码本课设所用代码,基本为通用代码,为实现各个组件连接起着重要作用,登陆窗口是系统的窗口,代码必须完善和使用,代码如下:OptionCompareDatabasePublicFunctionopenrecord(str1AsString,recordAsADODB.Recordset)'创建一个查询,把符合str1中的SQL语句的记录集打开到record中'为记录集record分配空间Setrecord=NewADODB.Recordset'使用本数据库的连接打开记录集record.Openstr1,CurrentProject.Connection,adOpenKeyset,adLockOptimisticEndFunctionPrivateSubform_open(CancelAsInteger)'设置打开窗体时的属性12cmdenter.Enabled=FalseForm.KeyPreview=TrueEndSubPrivateSub取消_Click()OnErrorGoToErr_取消_ClickDoCmd.QuitExit_取消_Click:ExitSubErr_取消_Click:MsgBoxErr.DescriptionResumeExit_取消_ClickEndSubPrivateSub确定_Click()DimuserIDAsIntegerIfIsNull(用户名)=FalseThenIfDLookup([密码],用户,[用户名]=&用户名&)=密码Then'userID=DLookup([id],系统用户,[用户名]=&com用户&)DoCmd.Close'DoCmd.OpenForm主界面'Form_主界面.User=userIDElse密码=密码.SetFocusMsgBox密码错误!,vbCriticalEndIfEndIfEndSub查询职员资料代码如下:OptionCompareDatabasePrivateSub查询_Click()13OnErrorGoToErr_查询_ClickMe![查询职员资料子窗体].RequeryExit_查询_Click:ExitSubErr_查询_Click:MsgBoxErr.DescriptionResumeExit_查询_ClickEndSubPrivateSub关闭_Click()OnErrorGoToErr_关闭_ClickDoCmd.CloseExit_关闭_Click:ExitSubErr_关闭_Click:MsgBoxErr.DescriptionResumeExit_关闭_ClickEndSub预定记录管理代码如下:OptionCompareDatabasePrivateSub预定ID_DblClick(CancelAsInteger)OnErrorGoToErr_预定ID_DblClick'把子窗体中当前记录值赋予主窗体对应的文本框内Forms![预定记录管理]![预定ID]=Me![预定ID]Forms![预定记录管理]![客房ID]=Me![客房ID]Forms![预定记录管理]![类型ID]=Me![