第4章Access2010数据库设计实例_第1页
第4章Access2010数据库设计实例_第2页
第4章Access2010数据库设计实例_第3页
第4章Access2010数据库设计实例_第4页
第4章Access2010数据库设计实例_第5页
已阅读5页,还剩82页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第第4章章 Access 2010数据库设数据库设计实例计实例 本章学习重点本章学习重点nAccess数据库应用系统规划、设计的基本知识nAccess数据表的设计和管理n根据Access数据表进行查询的设计和管理nAccess窗体的设计和管理nAccess报表的设计和管理nAccess宏的设计41工资管理系统功能说明工资管理系统功能说明n工资管理系统的基本功能有n数据录入功能,包括基本工资、工资扣款、病事假、奖金4项数据的录入n基本工资信息包括职工代号、日期、基本工资、浮动工资、特教贴、岗贴、保津贴、误餐费、教护等项。 n工资扣款信息包括职工代号、日期、公积金、房租、水费、电费、医疗、会费、子

2、保、煤气、网视、税收、违纪扣款。 n病事假记录职工的请假情况,包括职工代号、时间、性质、天数。 n奖金记录职工的本月工作量,作为计算奖金的依据。包括职工代号、日期、事项、工作量。 n数据查询与打印功能,包括n汇总查询与打印n工资条查询与打印42 数据表设计数据表设计n数据表设计n工资管理系统数据库中共包括5个表,即“职工表”、“基本工资”、“工资扣款”、“请假情况”和“奖金”,它们之间的关联字段为“职工代号”。 职工表职工代职工代号号姓名姓名单位单位年年龄龄性性别别学学历历职称职称联系电话联系电话10011001张东光张东光院办院办2525男男本本科科职级职级7 7010-3265591301

3、0-3265591310021002李重新李重新院办院办4141男男本本科科职级职级5 5010-43615621010-4361562150035003石树村石树村通信通信系系4848男男硕硕士士教授教授010-45628789010-4562878950045004纪小东纪小东通信通信系系2828女女博博士士副教授副教授010-54890378010-54890378基本工资表 职工代职工代号号日期日期基本工基本工资资浮动工浮动工资资特教特教贴贴岗岗贴贴保津保津贴贴误误餐餐费费教教护护10012011-12-23519223048266802010022011-12-23812356072

4、402802020012011-12-23759315065358802050032011-12-2310024688996512802050042011-12-237593150653588020工资扣款表职工代职工代号号日期日期公积金公积金房租房租水费水费电费电费医疗医疗会费会费子保子保煤气煤气网视网视税收税收违纪扣违纪扣款款10012011-12-231045021.21141.5654.01348.01824.0510022011-12-231507031.34150.4555.11352.14836.7820012011-12-231045025.06122.9954.23332.0

5、1824.3535020022011-12-2319089.87215.2356.01312.1868.0950032011-12-231908089.78235.4356.05320.2868.9956050042011-12-2314052.32126.7655.32332.01837.21请假情况表和奖金表职工代职工代号号时间时间性质性质天数天数10012011-12-02病假350032011-12-14事假150032011-12-20病假520012011-11-29病假220012011-12-3事假250042011-12-9病假120022011-12-10职工代职工代号号日

6、期日期事项事项工作工作量量10012011-12-23行政(平均)5620012011-12-23本科2620022011-12-23成教1850032011-12-23分校1850042011-12-23本科2650042011-12-23公共课26创建数据库和数据表 n在【文件】选项卡中,依次选择【新建】【可用模板】【空数据库】 n在窗口右下角的【文件名】文本框中输入数据库的文件名“GZ.accdb”,单击文件名右边的【打开文件夹】按钮,弹出【文件新建数据库】窗口(如图)。在该窗口的【保存位置】下拉列表框中选择“工资管理信息系统”数据库文件的保存位置单击【确定】按钮。 “基本工资”表创建过

7、程n打开“GZ”数据库,单击【创建】选项卡的【表格】组中的【表设计】按钮,Access会自动创建一个名为“表1”的空表,并打开它的设计视图。 n在该设计视图中,创建“基本工资”表所需的字段,将“职工代号”字段设置为该表的主键。 n单击窗口最顶端的【保存】按钮,弹出【另存为】窗口。在该窗口的【表名称】文本框中输入“基本工资”,单击【确定】按钮,完成表名的修改和表结构的保存。 n打开“基本工资”表的数据表视图,在其中输入具体的数据记录。 “职工表”的设计 “工资扣款”表的设计 “请假情况”表的设计 “奖金”表的设计 422 建立各表间的关系建立各表间的关系n在“GZ”数据库中,单击【数据库工具】选

8、项卡的【关系】组中的【关系】按钮,进入【关系】视图,在弹出的【显示表】窗口中选择需要建立关系的所有表,单击【添加】按钮,将这些表添加到【关系】视图中。 n关闭【显示表】窗口,在【关系】视图中通过鼠标拖动关联字段“职工代号”,创建各表间的关系。 n单击【关系工具-设计】选项卡的【关系】组中的【关闭】按钮,关闭【关系】视图。n保存数据库。43 查询设计查询设计n“病事假汇总查询” 设计n“病事假汇总查询” 按职工代号统计每个职工请假的总天数。 n在“GZ”数据库中,单击【创建】选项卡的【查询】组中的【查询设计】按钮,在弹出的【显示表】窗口中选择该查询的数据源“请假情况”表,单击【添加】按钮,把该表

9、添加到查询设计视图中。 n关闭【显示表】窗口,单击【查询工具-设计】选项卡的【显示/隐藏】组中的【汇总】按钮,并如下图所示设计该汇总查询。 n单击【保存】按钮,在弹出的【另存为】对话框中输入查询名称为“病事假汇总查询”。n单击【确定】按钮,完成该查询的创建。n查询运行结果如下。“奖金汇总查询” 设计n“奖金汇总查询”是要按职工代号统计每个职工的总的工作量和总的奖金数。这里,总奖金数按总工作量*50来计算。n在“GZ”数据库中,单击【创建】选项卡的【查询】组中的【查询设计】按钮,在弹出的【显示表】窗口中选择该查询的数据源“奖金”表,单击【添加】按钮,把该表添加到查询设计视图中。 n关闭【显示表】

10、窗口,单击【查询工具-设计】选项卡的【显示/隐藏】组中的【汇总】按钮,并如图所示设计该汇总查询。 n单击【保存】按钮,在弹出的【另存为】对话框中输入查询名称为“奖金汇总查询”。n单击【确定】按钮,完成该查询的创建。n查询运行结果如下。432 “工资条查询工资条查询”的设的设计计n“工资条查询”是以“职工表”、“基本工资”表、“工资扣款”表、“病事假汇总查询”和“奖金汇总查询”为基础的,显示职工代号、姓名、所有实际发放的工资和津贴情况、应该发放的总工资数、所有扣款情况和实际发放的总工资数。n在“GZ”数据库中,单击【创建】选项卡的【查询】组中的【查询设计】按钮,在弹出的【显示表】窗口中选择该查询

11、的数据源,即“职工表”、“基本工资”表、“工资扣款”表、“病事假汇总查询”及“奖金汇总查询”。单击【添加】按钮,将其添加到查询设计视图中。 n关闭【显示表】窗口,如下图所示设计该查询。 n职工实际获得的基本工资、浮动工资、特教贴、岗贴等都按照实际工作天数的比例来计算(用实际工作的天数除以30),因此工资的发放率是1-病事假汇总查询!天数/30 。n基本工资是基本工资!基本工资*(1-病事假汇总查询!天数/30) n职工应发工资按基本工资+浮动工资+特教贴+岗贴+保津贴+误餐费+教护+奖金数计算,其中奖金数来自于奖金汇总查询。n职工实发工资按应发工资-公积金-房租-水费-电费-医疗-会费-子保-

12、煤气-网视-税收-违纪扣款计算。 n可以使用表达式生成器设计计算字段。其他字段的表达式n浮动工资: 基本工资!浮动工资*(1-病事假汇总查询!天数/30)n特教贴: 基本工资!特教贴*(1-病事假汇总查询!天数/30)n岗贴: 基本工资!岗贴*(30-病事假汇总查询!天数)/30n保津贴: 基本工资!保津贴*(1-病事假汇总查询!天数/30)n误餐费: 基本工资!误餐费*(1-病事假汇总查询!天数/30)n教护: 基本工资!教护*(1-病事假汇总查询!天数/30)n应发工资: 基本工资+浮动工资+特教贴+岗贴+保津贴+误餐费+教护+奖金数n实发工资: 应发工资-公积金-房租-水费-电费-医疗-

13、会费-子保-煤气-网视-税收-违纪扣款 n单击【保存】按钮,在弹出的【另存为】对话框中输入查询名称为“工资条查询”。n单击【确定】按钮,完成该查询的创建。433 “按单位汇总查询按单位汇总查询”的设计的设计n“按单位汇总查询”是根据“单位”字段对“工资条查询”进行汇总而成,以满足用户单位的统计和会计工作上的需要。n在“GZ”数据库中,单击【创建】选项卡的【查询】组中的【查询设计】按钮,在弹出的【显示表】窗口中选择该查询的数据源,即“职工表”和“工资条查询”。单击【添加】按钮,把它们添加到查询设计视图中。 n关闭【显示表】窗口,单击【查询工具-设计】选项卡的【显示/隐藏】组中的【汇总】按钮,并如

14、下图所示设计该汇总查询。这里,以“单位”和“日期”字段分组,其余字段都选择“合计”。 n单击【保存】按钮,在弹出的【另存为】对话框中输入查询名称为“按单位汇总查询”。n单击【确定】按钮,完成该查询的创建。44 窗体设计窗体设计n本系统中设计了两类窗体,即数据录入类窗体和查询类窗体。n数据录入类窗体使用户能在窗体中增加、删除、修改表中的数据;n查询类窗体使用户能方便地浏览查询结果。 441 数据录入窗体的设计数据录入窗体的设计n1“基本数据”窗体n“基本数据”窗体用来向“基本工资”表录入数据。创建该窗体的步骤如下: n在“GZ”数据库中,单击【创建】选项卡的【窗体】组中的【窗体向导】按钮,弹出【

15、窗体向导】对话框,如下图所示。 n在【表/查询】下拉列表框中选择该窗体的数据源“基本工资”表,将【可用字段】列表中的所有字段添加到右边的【选定字段】列表中。n单击【下一步】按钮,选择窗体布局为【表格】。n单击【下一步】按钮,指定窗体标题为“基本数据”。n单击【完成】按钮,Access根据上述设置自动创建一个名为“基本数据”的表格式窗体,如图所示。 n自动创建的窗体中可能存在某些字段宽度不合理的问题,比如上图中“职工代号”和“日期”字段文本框宽度过小导致实际内容无法正常显示,因此有必要进行调整。调整方法如下:n 切换至窗体的设计视图或布局视图:可以单击【开始】选项卡的【视图】组中的【视图】按钮,

16、在弹出的子菜单中选择【设计视图】或【布局视图】,如后图所示。 n 在设计视图或布局视图中,将各字段调整到合适宽度后保存窗体。 n切换到窗体视图,显示“基本数据”窗体的运行结果如下图所示。“工资扣款”窗体 “病事假”窗体 “奖金”窗体 442 查询窗体的设计查询窗体的设计n查询窗体是指用于展示查询结果的窗体。在本章的例子中,查询类窗体有2个,即“按单位汇总”窗体和“工资条”窗体。n1“按单位汇总”窗体n“按单位汇总”窗体的数据源是“按单位汇总查询”。创建该窗体的方法与4.4.1节介绍的创建“基本数据”窗体的方法相同。2“工资条”窗体设计n在“GZ”数据库中,单击【创建】选项卡的【窗体】组中的【窗

17、体向导】按钮,弹出【窗体向导】对话框。n在该对话框的【表/查询】下拉列表框中选择该窗体的数据源“工资条查询”,将【可用字段】列表中的所有字段添加到右边的【选定字段】列表中;单击【下一步】按钮,选择窗体布局为【表格】;单击【下一步】按钮,指定窗体标题为“工资条”;单击【完成】按钮,Access根据上述设置自动创建一个名为“工资条”的表格式窗体。n切换到窗体的设计视图,如下图1所示。由于工资条用于通知每个职工当月的工资情况,每一条数据上方都应有字段说明,因此需要在窗体的设计视图中,将所有字段的标题标签从【窗体页眉】节移动到【主体】节中,如下图2所示。n保存该窗体。 45 报表设计报表设计n“工资管

18、理信息系统”提供对两种报表的打印输出功能,即“工资报表”和“按单位汇总报表”。 451 “工资报表工资报表”的设计的设计 n“工资报表”的数据来源于“工资条查询”。n在“GZ”数据库中,单击【创建】选项卡的【报表】组中的【报表向导】按钮,弹出【报表向导】对话框。n n在该对话框中,选择报表的数据源为“工资条查询”,并选定所有字段;单击【下一步】按钮,不添加分组级别;单击【下一步】按钮,无需选择排序字段;单击【下一步】按钮,指定报表布局方式,这里设置【布局】为【块】,【方向】为【横向】,如下图1所示;单击【下一步】按钮,指定报表标题为“工资报表”;单击【完成】按钮,Access根据上述设置自动创

19、建一个报表,如下图2所示。 n由上图可见,自动创建的报表中很多字段的宽度不尽合理,而且这个报表也不像实际工资条的样式,因此需要进行调整。调整方法如下:n 切换至报表的设计视图:可以单击【开始】选项卡的【视图】组中的【视图】按钮,在弹出的子菜单中选择【设计视图】。 n 在设计视图中,将各字段调整到合适宽度,并将所有字段的标题标签从【页面页眉】节移动到【主体】节中。 n保存该报表。 452 “按单位汇总报表按单位汇总报表”的设计的设计n“按单位汇总报表”的数据源是“按单位汇总查询”。 46 用宏完善系统功能用宏完善系统功能461 设计设计“面板面板”窗体和相应的宏窗体和相应的宏n1. 系统菜单设计

20、系统菜单设计 n“工资管理信息系统”主界面(即“面板”窗体)中菜单、菜单项及其相应的宏如表所示。 菜单菜单菜单项菜单项菜单名称菜单名称宏宏菜单项名称菜单项名称子宏操作子宏操作功能功能数据录入菜单1基本数据OpenForm(“基本数据”) 打开“基本数据”窗体工资扣款OpenForm(“工资扣款”) 打开“工资扣款”窗体病事假OpenForm(“病事假”)打开“病事假”窗体奖金OpenForm(“奖金”)打开“奖金”窗体查询菜单2按单位汇总OpenForm(“按单位汇总”)打开“按单位汇总”窗体工资条OpenForm(“工资条”)打开“工资条”窗体打印菜单3按单位汇总报表OpenReport(“

21、按单位汇总报表”)打开“按单位汇总报表”工资报表OpenReport(“工资报表”)打开“工资报表”退出退出退出QuitAccess保存并退出2“菜单1”宏的设计n“面板”窗体中的“数据录入”菜单是由“菜单1”宏来实现的。 n在“GZ”数据库中,单击【创建】选项卡的【宏与代码】组中的【宏】按钮,进入宏生成器,如图所示。 n在宏生成器中创建一个子宏,将其命名为“基本数据”。为该子宏块添加一个“OpenForm”宏操作,并将该宏操作的【窗体名称】参数设置为“基本数据”窗体,其他参数保留缺省设置,如图所示。 n类似地,在下面继续依次创建“工资扣款”子宏、“病事假”子宏和“奖金”子宏。在每个子宏中都添

22、加一个“OpenForm”宏操作,只是由于打开的窗体不同,【窗体名称】参数要分别设置为“工资扣款”、“病事假”和“奖金”窗体,如下图所示。 n单击【保存】按钮,在弹出的【另存为】对话框中输入宏名称为“菜单1”,单击【确定】按钮。 3“菜单2”、“菜单3”和“退出”宏的设计 n“面板”窗体中的“查询”、“打印”和“退出”菜单分别是由“菜单2”、“菜单3”和“退出”这3个宏来实现的。n“菜单2”宏的设计与“菜单1”基本一样,只是子宏的名称不同,以及选择打开的窗体不同(具体设置参见表4-6)。n“菜单3”宏的设计与“菜单1”很类似,只是子宏的名称不同,并且子宏块中选择添加的操作应是“OpenRepo

23、rt”,且相应的【报表名称】参数要设置为需要打开的报表名称,如图所示。 n“退出”宏的设计如下图所示。 4“主菜单”宏的设计n由于Access中子宏不允许嵌套,因此需要再创建一个“主菜单”宏,用来将前面创建的“菜单1”、“菜单2”、“菜单3”和“退出”这4个宏组织在一起。n创建“主菜单”宏的步骤如下:n在“GZ”数据库中,单击【创建】选项卡的【宏与代码】组中的【宏】按钮,进入宏生成器。n在【添加新操作】文本框中选择“AddMenu”宏操作,该操作可以为窗体或报表添加菜单。将“AddMenu”宏操作的参数【菜单名称】设置为“数据录入”,【菜单宏名称】设置为“菜单1”,【状态栏文字】设置为“录入数

24、据”。n类似地,在后面继续添加3个“AddMenu”宏操作。各个“AddMenu”宏操作的具体参数设置参见右图所示。 n单击【保存】按钮,在弹出的【另存为】对话框中输入宏名称为“主菜单”,单击【确定】按钮。 5“面板”窗体的设计n“面板”窗体是系统的控制中心,这种控制主要是通过主菜单调用相应窗体或报表来实现的。创建“面板”窗体的关键就是要在窗体中关联“主菜单”宏。n在“GZ”数据库中,单击【创建】选项卡的【窗体】组中的【窗体设计】按钮,打开一个新窗体的设计视图,如图所示。 n拖动显示窗体至适当大小,在【窗体设计工具-设计】选项卡的【控件】组中选择【标签】控件,并在窗体中合适位置单击鼠标插入标签,并输入“学校工资管理信息系统”,如下图所示。选定该标签对象,通过【窗体设计工具-格式】选项卡的【字体】组中的工具设置标签文字的字体、字号等格式。 n选中窗体,在窗体的【属性表】窗口的【其他】标签页中,找到【菜单栏】属性,并在该属性对应的文本框内输入宏名“主菜单”,这样就把“主菜单”宏作为菜单添加到窗体中了,如右图所示。 n单击【保存】按钮,在弹出的【另存为】对话框中设置【窗体名称】为“面板”,单击【确定】按钮。 462 设计设计“登录登录”窗体窗体n“登录”窗体是“工资管理信息系统”启动后显示的第

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论