《《Access 数据库应用》 Access在人事管理中的应用.ppt》由会员分享,可在线阅读,更多相关《《Access 数据库应用》 Access在人事管理中的应用.ppt(149页珍藏版)》请在三一办公上搜索。
1、Access 2007数据库应用-Access在人事管理中的应用,第11章Access在人事管理中的应用,本章学习要点,系统的功能设计系统的模块设计表的字段设计表关系的建立查询的设计窗体的创建报表的创建宏命令和VBA代码的创建系统的调试系统的运行与应用,11.1 实 例 导 航,系统功能目标 开发要点,11.1.1 系统功能目标,该系统有以下主要功能。新员工登记和员工资料的修改。包括新员工个人资料的详细输入、员工号的分配和相关人事信息的保存;还包括对现有员工的工作资料进行创建和修改。人事变更记录。通过该功能,实现对员工工作职位变化的跟踪和记录等。员工薪资情况查询。通过该功能,实现对员工薪金发放
2、情况的查询,并且能够按照各种福利薪金的类别,打印出个人薪资报表。员工考勤情况查询。通过该功能,实现对员工考勤情况的查询等,从而为薪金的计算提供参考依据等。报表管理。通过该功能,实现报表的生成和查看。报表又分为两部分,一个是对员工工资发放情况进行记录,另一个是对员工的考勤情况进行记录。其他统计查询。允许管理者按各个部门、级别、员工类型、学历、职位、性别等员工信息进行统计,从而帮助人事部(或人力资源部门)进行人事结构分析、年龄工龄结构分析等。,11.1.2 开发要点,理解数据表的结构,掌握各数据表之间的关系,熟悉查询和窗体的设计,比较清楚地了解人事管理流程,从而开发出完整的人事管理系统。本章的主要
3、目的,就是想通过建立一个完整的人事管理系统,介绍完整的数据库管理系统开发的一般流程。,11.2 系统需求分析与设计,需求分析 模块设计,11.2.1 需求分析,需求主要有以下几点。人事管理系统首先应该能够对企业当前的人事状况进行记录。包括企业和员工的劳动关系、员工的就职部门、主要工作职责、上级经理等。其次,系统应该能够对企业员工的人事变更情况进行记录,并据此可以灵活修改工作职责等各种人事状况信息。再次,系统应该能够根据需要进行各种统计和查询,比如查询员工的年龄、学历等,以便给人力管理部门进行决策参考。最后,系统还应该对求职者信息进行相应的管理,能够发掘合适的人才,加盟该公司。,11.2.2 模
4、块设计,企业人事管理系统功能模块可以由五个部分组成,每一部分根据实际应用又包含不同的功能。系统登录模块:在数据库系统中设置系统登录模块,是维持系统安全性的最简单方法。在任何一个数据库系统中,该模块都是必需的。员工人事登记模块:通过该模块,实现对新员工记录的输入和现有员工记录的修改。员工人事记录模块:通过该模块,实现对员工人事变动的记录和查看管理。统计查询模块、通过该模块,对企业当前员工的人事信息进行查询,比如薪资查询、考勤情况查询、学历查询、年龄查询等。报表生成模块:通过该模块,根据用户的需求和查询结果生产相应的报表。招聘管理模块:通过该模块,主要对求职者的信息进行保存和查询,以方便招聘活动的
5、进行,发掘企业的有用之材。,11.3 数据库的结构设计,数据表结构需求分析 构造空数据库系统 数据表字段结构设计 数据表的表关系设计,11.3.1 数据表结构需求分析,在该“人事管理系统”中,我们初步设计17张数据表,各个表存储的信息如下所示。“Switchboard Items”表:主要存放主切换面板和报表面板的显示信息。“管理员”表:存放系统管理人员(一般是企业的人事部人员)的登记信息等。“员工信息”表:存储现有员工的个人基本信息,比如姓名、性别、出生日期、所属级别等。“部门信息”表:主要存储公司各个部门的信息,比如部门编号、名称、部门经理等。“人事变更记录”表:存储员工职位变更信息,记录
6、员工的原职位和现职位。“班次配置”表:记录员工的上班班次信息。“出勤记录”表:记录所有员工每天的出勤记录。“出勤配置”表:记录员工的出勤的信息。,11.3.1 数据表结构需求分析,“级别工资配置”表:记录员工所处工资级别的具体信息。“加班记录”表:记录员工的加班记录,以用于工资的核算。“企业工资发放记录”表:企业的工资财务记录,保存已经核发工资的员工具体内容。“企业工资计算规则”表:保存企业内部工资计算规则。“职位津贴配置”表:保存企业内部关于津贴的具体信息。“缺勤记录”表:记录所有员工的缺勤信息。“月度出勤汇总”表:保存企业员工每月的出勤信息汇总。“签到记录”表:记录员工的签到信息。“签出记
7、录”表:如果员工需要签出时,使用该表登记在册。,11.3.2 构造空数据库系统,新建一个“人事管理系统.accdb”空白数据库。,第一步:启动Access 2007。单击屏幕最左上角的Office徽标,在弹出的Office功能菜单中选择【新建】命令;也可以直接双击屏幕中间的【空白数据库】按钮,新建一个数据库,如下图所示。,第二步:在屏幕右下方的【文件名】文本框中输入“人事管理系统”,如下图所示。,单击此处,新建一个空数据库。,单击文本框右边的文件夹按钮,更改数据库的存放位置,如下图所示。,在这里输入您想要的文件名。,11.3.2 构造空数据库系统,新建一个“人事管理系统.accdb”空白数据库
8、。,第三步:单击【创建】按钮,完成新建一个空白数据库,系统自动创建一个空白数据表,如下图所示。,11.3.3 数据表字段结构设计,Switchboard Items”表 在“人事管理系统.accdb”数据库中创建“Switchboard Items”表。,第一步:创建的“人事管理系统.accdb”数据库中自动创建了“表1”数据表,单击【数据表】选项卡下的【视图】按钮,如下图所示。,第二步:在弹出的【另存为】对话框的【表名称】文本框中输入“Switchboard Items”,如下图所示。,单击【确定】按钮,进入表的【设计视图】,如下图所示。,11.3.3 数据表字段结构设计,Switchboa
9、rd Items”表 在“人事管理系统.accdb”数据库中创建“Switchboard Items”表。,第三步:在“Switchboard Items”表的【设计视图】中进行表字段的设计。各个字段的名称、数据类型等如下表所示。,第四步:输入并设置各个字段以后,表的【设计视图】如下图所示。,第五步:单击屏幕左上角的【保存】按钮,保存该表。单击【视图】按钮,进入表的【数据表视图】。,11.3.3 数据表字段结构设计,“管理员”表“管理员”表中存放的是该系统管理人员的信息。,“管理员”表的字段结构如下表。,11.3.3 数据表字段结构设计,“员工信息”表“员工信息”表中存储企业员工的个人信息,比
10、如员工编号、姓名、性别等。,11.3.3 数据表字段结构设计,“部门信息”表“部门信息”表存储公司中各个部门的信息,比如部门编号、名称、部门经理等。,“部门信息”表的字段结构如下表。,11.3.3 数据表字段结构设计,“人事变更记录”表“人事变更记录”表是存储员工职位变更信息的表,它记录了员工的原职位和现职位。,“人事变更记录”表的字段结构如下表。,11.3.3 数据表字段结构设计,“班次配置”表“班次配置”表用于记录员工的上班班次信息。如“上午班”的“班次开始时间”、“班次结束时间”等。,“班次配置”表的字段结构如下表。,11.3.3 数据表字段结构设计,“出勤记录”表“出勤记录”表用于记录
11、所有员工每天的出勤记录。,“出勤记录”表的字段结构如下表。,11.3.3 数据表字段结构设计,“出勤配置”表“出勤配置”表用于记录员工的出勤信息。,“出勤配置”表的字段结构如下表。,11.3.3 数据表字段结构设计,“级别工资配置”表“级别工资配置”表用于记录员工所处工资级别的具体信息。,“级别工资配置”表的字段结构如下表。,11.3.3 数据表字段结构设计,“加班记录”表“加班记录”表用于记录员工的加班记录,以用于工资的核算。,“加班记录”表的字段结构如下表。,11.3.3 数据表字段结构设计,“企业工资发放记录”表“企业工资发放记录”表是企业的工资财务记录,保存着已经核发工资的员工具体内容
12、。,“企业工资发放记录”表逻辑结构设计如下表。,11.3.3 数据表字段结构设计,企业工资计算规则”表“企业工资计算规则”表保存着企业内部的工资计算规则。,“企业工资计算规则”逻辑结构设计如下表。,11.3.3 数据表字段结构设计,“签出记录”表 如果员工需要签出时,则使用该表登记在册,其逻辑结构设计如下表。,11.3.3 数据表字段结构设计,“签到记录”表 签到时,使用“签到记录”表登记,其逻辑结构设计如下表。,11.3.3 数据表字段结构设计,“缺勤记录”表“缺勤记录”表记录着所有员工的缺勤信息,其逻辑结构设计如下表。,11.3.3 数据表字段结构设计,月度出勤汇总”表“月度出勤汇总”表保
13、存着企业员工每月的出勤信息汇总,其逻辑结构设计如下表。,11.3.3 数据表字段结构设计,“职位津贴配置”表“职位津贴配置”表保存着企业内部关于津贴的具体信息,其逻辑结构设计如下表。,11.3.4 数据表的表关系设计,为“人事管理系统.accdb”数据库建立表关系。,第一步:启动Access 2007,打开“人事管理系统.accdb”数据库,并切换到【数据库工具】选项卡,如下图所示。,第二步:单击【数据库工具】选项卡下【显示/隐藏】组中的【关系】按钮,即可进入该数据库【关系】视图,如下图所示。,11.3.4 数据表的表关系设计,为“人事管理系统.accdb”数据库建立表关系。,第三步:在【关系
14、】视图中右击,在弹出的快捷菜单中选择【显示表】命令;或者直接单击【关系】组中的【显示表】按钮,如下图所示。,第四步:系统弹出【显示表】对话框,如下图所示。,11.3.4 数据表的表关系设计,为“人事管理系统.accdb”数据库建立表关系。,第五步:在【显示表】对话框中依次选择所有的数据表,单击【添加】按钮,将所有数据表添加进【关系】视图,如下图所示。,第六步:选择“员工信息”表中的“员工编号”字段,按下鼠标左键不放并将其拖动到“管理员”表中的“员工编号”字段上,释放鼠标左键,系统显示【编辑关系】对话框,如下图所示。,11.3.4 数据表的表关系设计,为“人事管理系统.accdb”数据库建立表关
15、系。,第七步:选中【实施参照完整性】复选框,以保证在“管理员”表中登记的“员工编号”都是在“员工信息”表中记录的“员工编号”。单击【创建】按钮,创建一表关系,如下图所示。,这样我们就完成了第一个表关系的创建。重复以上步骤中的第6步和第7步,建立其余各表间的表关系,如下表所示。,11.3.4 数据表的表关系设计,为“人事管理系统.accdb”数据库建立表关系。,第八步:建立这些关系后可以在【关系】视图中预览所有的关联关系,如下图所示。,第九步:单击【关闭】按钮,系统弹出提示保存布局的对话框,单击【是】按钮,保存【关系】视图的更改,如下图所示。,11.4 窗体的实现,“主切换面板”窗体的设计 设计
16、“登录”窗体 创建“员工信息查询”窗体 创建“员工人事变更记录”窗体 创建“员工考勤记录查询”窗体 创建“员工工资查询”窗体,11.4.1“主切换面板”窗体的设计,建立“主切换面板”窗体,实现系统功能的导航作用。,第一步:启动Access 2007,打开“人事管理系统.accdb”数据库。,第二步:单击【创建】选项卡下【窗体】组中的【窗体设计】按钮,Access即新创建一个窗体并进入窗体的【设计视图】,如下图所示。,第三步:添加窗体标题。单击【控件】组中的【标题】按钮,则窗体显示【窗体页眉】节,并在页眉区域中显示“主切换面板”标题。将窗体标题更改为“欢迎使用夕林人事管理系统”,并设置标题格式,
17、如下图所示。,“标题”各个属性如下图所示的【属性表】窗格。,11.4.1“主切换面板”窗体的设计,建立“主切换面板”窗体,实现系统功能的导航作用。,第四步:添加系统徽标。单击【徽标】按钮,弹出选择徽标的对话框。选择一个Bmp图片作为徽标,并将【图片类型】设为“嵌入”,最终结果如下图所示。,第五步:设置主体背景颜色。在主体区域中右击,在弹出的快捷菜单中选择【填充/背景色】命令,弹出如下图所示的菜单。,11.4.1“主切换面板”窗体的设计,建立“主切换面板”窗体,实现系统功能的导航作用。,第六步:在颜色块中选择一种颜色作为背景颜色。,第七步:添加按钮。单击【控件】组中的【按钮】控件,并在窗体主体区
18、域中单击,系统会弹出【命令按钮向导】对话框,如下图所示。,第八步:单击【取消】按钮,取消该向导。单击按钮窗体,并在【属性表】窗格中设置按钮的【名称】为“btn1”,删除【标题】属性中的信息。,第九步:在“btn1”按钮控件右方添加一个“标签”窗体控件,将【名称】属性改为“lbl1”,【标题】属性改为“1”。,11.4.1“主切换面板”窗体的设计,建立“主切换面板”窗体,实现系统功能的导航作用。,第十步:单击“lbl1”标签控件,在“lbl1”标签控件左边出现“”控件关联图标。单击该图标,系统弹出一个快捷菜单,如下图所示。,第十一步:选择【将标签与控件关联】命令,系统弹出【关联标签】对话框,如下
19、图所示。,11.4.1“主切换面板”窗体的设计,建立“主切换面板”窗体,实现系统功能的导航作用。,第十二步:选择“btn1”选项,并单击【确定】按钮。这样“btn1”按钮控件就与“lbl1”标签控件建立了关联。,第十三步:重复以上步骤,在“btn1”按钮控件下方添加其余7个按钮窗体控件和标签窗体控件,如下图所示。,第十四步:修改每个控件的属性,如下表所示。,11.4.1“主切换面板”窗体的设计,建立“主切换面板”窗体,实现系统功能的导航作用。,第十五步:单击【保存】按钮,系统弹出【另存为】对话框,输入窗体名“主切换面板”,如下图所示。,第十六步:单击【确定】按钮,则新创建了一个“主切换面板”窗
20、体。这样就完成了“主切换面板”窗体的创建。注意,在这里创建的仅仅是一个空白窗体。该窗体的【窗体视图】如下图所示。,11.4.1“主切换面板”窗体的设计,建立“主切换面板”窗体,实现系统功能的导航作用。,第十七步:在“Switchboard Items”表中添加相应的记录,如下表所示。,11.4.2 设计“登录”窗体,利用和11.4.1节相似的步骤,创建“登录”窗体,所有窗体控件信息如下表。创建的窗体视图如下图所示。,11.4.3 创建“员工信息查询”窗体,使用窗体向导,来创建“员工信息查询”窗体。,第一步:启动Access 2007,打开“人事管理系统.accdb”数据库。,第二步:切换到【创
21、建】选项卡,单击【其他窗体】按钮,在弹出的菜单中选择【窗体向导】选项,如下图所示。,第三步:弹出【窗体向导】对话框,在【表/查询】下拉列表框中选择“表:员工信息”,将【可用字段】列表框中的所有字段添加到右面【选定字段】列表框中,如下图所示。,11.4.3 创建“员工信息查询”窗体,使用窗体向导,来创建“员工信息查询”窗体。,第四步:单击【下一步】按钮,弹出要求用户选择布局的对话框。我们选择【纵栏表】选项,如下图所示。,第五步:单击【下一步】按钮,弹出要求选择窗体样式的对话框。在下拉列表框中选择Northwind选项,如下图所示。,11.4.3 创建“员工信息查询”窗体,使用窗体向导,来创建“员
22、工信息查询”窗体。,第六步:单击【下一步】按钮,输入窗体标题为“员工信息查询”,再选中【打开窗体查看或输入信息】单选按钮,如下图所示。,第七步:单击【完成】按钮,完成窗体创建。,11.4.3 创建“员工信息查询”窗体,使用窗体向导,来创建“员工信息查询”窗体。,这样我们就利用窗体向导创建了一个“员工信息查询”窗体,窗体界面如下图所示。,在窗体中右击,在弹出的快捷菜单中选择【设计视图】选项,进入该窗体的【设计视图】,如下图所示。,11.4.3 创建“员工信息查询”窗体,使用窗体向导,来创建“员工信息查询”窗体。,在【设计视图】中对自动生成的窗体做进一步的修改。设置【窗体页眉】区域中的背景颜色、标
23、题信息等,然后重新调整各个文本框的宽度、高度等。最终效果如下图所示。,11.4.4 创建“员工人事变更记录”窗体,使用窗体向导创建“员工人事变更记录”窗体。,第一步:启动Access 2007,打开“人事管理系统.accdb”数据库。,第二步:切换到【创建】选项卡,单击【其他窗体】按钮,在弹出的菜单中选择【窗体向导】选项,弹出【窗体向导】对话框。,第三步:在向【选定字段】对话框输入字段之前,先选择“员工信息”表中的“姓名”,然后再将“人事变更记录”表中的所有字段选为选定字段,如下图所示。,第四步:单击【下一步】按钮,选择【通过员工信息】选项,再选中【带有子窗体的窗体】单选按钮,如下图所示。,1
24、1.4.4 创建“员工人事变更记录”窗体,使用窗体向导创建“员工人事变更记录”窗体。,第五步:单击【下一步】按钮,弹出要求选择窗体布局的对话框。我们选择【数据表】选项,如下图所示。,第六步:单击【下一步】按钮,弹出要求选择样式的对话框。我们选择Northwind选项,如下图所示。,11.4.4 创建“员工人事变更记录”窗体,使用窗体向导创建“员工人事变更记录”窗体。,第七步:单击【下一步】按钮,输入窗体标题“员工人事变更记录”和子窗体标题“员工人事变更记录_子窗体”,然后在下面选中【打开窗体查看或输入信息】单选按钮,如下图所示。,第八步:单击【完成】按钮,完成该窗体的创建。,11.4.4 创建
25、“员工人事变更记录”窗体,使用窗体向导创建“员工人事变更记录”窗体。,这样我们就利用窗体向导建立了一个“员工人事变更记录”窗体。创建后的窗体如下图所示。,可以看到,自动创建的窗体在布局上有些混乱。需要我们进行手工修改。在窗体中右击,在弹出的快捷菜单中选择【设计视图】选项,进入该窗体的【设计视图】,如下图所示。,11.4.4 创建“员工人事变更记录”窗体,使用窗体向导创建“员工人事变更记录”窗体。,在【设计视图】中对自动生成的窗体做进一步的修改。设置【窗体页眉】区域中的背景颜色、标题信息,调整子窗体的位置,调整各个文本框的宽度、高度等。最终效果如下图所示。,11.4.5 创建“员工考勤记录查询”
26、窗体,首先设计好窗体中各个控件的属性,如下表所示。,11.4.5 创建“员工考勤记录查询”窗体,在窗体的【设计视图】中,运用窗体的各种控件创建“员工考勤记录查询”窗体。,第一步:启动Access 2007,打开“人事管理系统.accdb”数据库。,第二步:切换到【创建】选项卡,然后单击【窗体】组中的【窗体设计】按钮,进入窗体的【设计视图】,如下图所示。,第三步:单击【控件】组中的“标题”控件,则在【设计视图】中显示【窗体页眉】区域,并在页眉区域中显示窗体标题。重新输入窗体标题,如下图所示。,11.4.5 创建“员工考勤记录查询”窗体,在窗体的【设计视图】中,运用窗体的各种控件创建“员工考勤记录
27、查询”窗体。,第四步:单击【控件】组中的“文本框”控件,并在窗体【主体】区域中单击,弹出【文本框向导】对话框,如下图所示。,第五步:按照【文本框向导】的提示,完成该文本框的属性设置,并将该文本框命名为“员工号”。,11.4.5 创建“员工考勤记录查询”窗体,在窗体的【设计视图】中,运用窗体的各种控件创建“员工考勤记录查询”窗体。,第六步:用同样的方法添加另外两个文本框,并分别命名为“开始时间”和“结束时间”,如下图所示。,第七步:设置“开始时间”和“结束时间”文本框控件的格式。选择【属性表】窗格中的【格式】选项卡,然后在【格式】行的下拉列表框中选择【常规日期】选项,这样即可在程序中通过时间控件
28、来输入时间信息,如下图所示。,11.4.5 创建“员工考勤记录查询”窗体,在窗体的【设计视图】中,运用窗体的各种控件创建“员工考勤记录查询”窗体。,第七步:单击【控件】组中的“按钮”控件,并在窗体【主体】区域中单击,弹出【命令按钮向导】对话框,单击【取消】按钮。,第八步:在【属性表】窗格中,设置该按钮的标题和名称均为“考勤查询”,如下图所示。,第九步:用同样的方法添加另外的一个按钮,标题和名称均为“取消”。,第十步:单击【保存】按钮,保存该按钮为“员工考勤记录查询”。,11.4.5 创建“员工考勤记录查询”窗体,在窗体的【设计视图】中,运用窗体的各种控件创建“员工考勤记录查询”窗体。,这样我们
29、就完成了“员工考勤记录查询”窗体的设计,如下图所示。,设计完成以后,设置窗体的背景颜色、字体和字号等属性,最终效果创建后窗体的【窗体视图】如下图所示。,11.4.6 创建“员工工资查询”窗体,用和11.4.5小节中同样的方法,在【设计视图】中创建“员工工资查询”窗体,所有窗体控件信息如下表所示。其中,在创建窗体的组合框控件“开始月份”和“结束月份”时,创建的效果如下图所示。,11.4.6 创建“员工工资查询”窗体,这样的组合框可以在【属性表】窗格中设置。选择该“开始月份”组合框,然后将【属性表】切换到【数据】选项卡,在【行来源类型】行中选择【值列表】选项,然后在【行来源】行中输入想要在列表框中
30、出现的选项。例如在本例中我们要实现12个月的选择,因此可以输入“1;2;3;4;5;6;7;8;9;10;11;12”,如下图所示。,将该窗体保存为“员工工资查询”窗体,最终效果如下图所示。,11.5 创 建 查 询,“员工考勤记录”查询 创建“员工工资”查询,11.5.1“员工考勤记录”查询,建立一个查询,要求可以查询某一员工的考勤记录。,第一步:启动Access 2007,打开“人事管理系统.accdb”数据库。,第二步:切换到【创建】选项卡,然后单击【其他】组中的【查询设计】按钮,如下图所示。,第三步:系统进入查询【设计视图】,并弹出【显示表】对话框,如下图所示。,11.5.1“员工考勤
31、记录”查询,建立一个查询,要求可以查询某一员工的考勤记录。,第四步:在【显示表】对话框中选择“员工信息”表,单击【添加】按钮,将该表添加到查询【设计视图】中。用同样的方法,将“出勤配置”表和“出勤记录”表也添加进【设计视图】中,如下图所示。,第五步:向查询设计网格中添加字段。选择“出勤记录”表中的“员工编号”字段,并按下鼠标左键将其拖动到下面的第一个查询设计网格中。,第六步:在网格的【条件行】中输入查询的条件为“Forms!员工考勤记录查询!员工号”。,11.5.1“员工考勤记录”查询,建立一个查询,要求可以查询某一员工的考勤记录。,第七步:用同样的方法,依次向网格中添加如下表所示的字段信息。
32、,设置好以后的视图如下图所示。,第八步:单击【保存】按钮,把此查询保存为“员工考勤记录查询”。,11.5.1“员工考勤记录”查询,这样我们就完成了能够查询员工考勤信息的一个查询,在导航窗格中双击执行该查询,可以弹出要求用户输入参数值的对话框,如下图所示。,输入员工编号,单击【确定】按钮,在弹出的对话框中输入开始日期和结束日期,如下图所示。,这样即可实现员工的考勤情况查询,查询结果如下图所示。,11.5.1“员工考勤记录”查询,在创建该查询的过程中,最难以确定的就是各种查询条件。为了方便用户输入查询条件,Access提供了“表达式生成器”,用户可以在生成器中创建自己的查询条件。在查询设计网格的【
33、条件】行右击,在弹出的快捷菜单中选择【生成器】选项,如下图所示。,弹出【表达式生成器】对话框,依次选择“窗体”|“员工考勤记录”|“员工号”,并双击“员工号”字段,即可在上面的表达式输入窗口中显示该查询条件,如下图所示。,11.5.2 创建“员工工资”查询,创建“员工工资”查询与11.5.1小节步骤相似。其相关表为“部门信息”表、“员工信息”表和“企业工资发放记录”表3个表,其字段信息如下表所示。,11.5.2 创建“员工工资”查询,将该查询保存为“员工工资查询”,如下图所示。,11.6 报表的实现,“员工考勤记录查询”报表“员工工资查询”报表“员工出勤记录”报表“企业工资发放记录”报表,11
34、.6.1“员工考勤记录查询”报表,该查询记录报表的主要功能就是对员工的考勤记录进行查询和打印。,第一步:启动Access 2007,打开“人事管理系统.accdb”数据库。,第二步:切换到【创建】选项卡,在【报表】组中单击【报表向导】按钮,如下图所示。,第三步:系统弹出【报表向导】对话框,在【表/查询】下拉列表框中选择“查询:员工考勤记录查询”,然后把所有字段作为选定字段。如下图所示。,11.6.1“员工考勤记录查询”报表,该查询记录报表的主要功能就是对员工的考勤记录进行查询和打印。,第四步:单击【下一步】按钮,弹出选择数据查看方式的对话框。选择“通过出勤记录”选项,如下图所示。,第五步:单击
35、【下一步】按钮,弹出添加分组级别的对话框。不选择分组字段,如下图所示。,11.6.1“员工考勤记录查询”报表,该查询记录报表的主要功能就是对员工的考勤记录进行查询和打印。,第六步:单击【下一步】按钮,弹出选择排序字段的对话框。选择通过“日期”排序,排序方式为“升序”,如下图所示。,第七步:单击【下一步】按钮,弹出选择布局方式的对话框。选择【表格】选项,方向为【纵向】,如下图所示。,11.6.1“员工考勤记录查询”报表,该查询记录报表的主要功能就是对员工的考勤记录进行查询和打印。,第八步:单击【下一步】按钮,弹出选择报表样式的对话框。选择【办公室】样式,如下图所示。,第九步:单击【下一步】按钮,
36、输入标题为“员工考勤记录查询报表”,并选中【预览报表】单选按钮,如下图所示。,第十步:单击【完成】按钮,这样就创建了一个“员工考勤记录查询报表”。,11.6.1“员工考勤记录查询”报表,用户可以在导航窗格中看到该报表,双击报表,弹出要求用户输入“员工编号”的对话框(和双击查询一样)。输入正确的参数以后,用户就可以查看该报表,如下图所示。,进入报表的【设计视图】,对以上用向导自动生成的报表进行适当的修改,比如设置标题格式、页脚内容等。最终的设计效果如下图所示。,11.6.2“员工工资查询”报表,我们来创建“员工工资查询报表”。,第一步:启动Access 2007,打开“人事管理系统.accdb”
37、数据库。,第二步:切换到【创建】选项卡,在【报表】组中单击【报表向导】按钮,如下图所示。,第三步:弹出【报表向导】对话框,在【表/查询】中选择“查询:员工工资查询”,然后把所有字段作为选定字段,如下图所示。,11.6.2“员工工资查询”报表,我们来创建“员工工资查询报表”。,第四步:单击【下一步】按钮,弹出选择数据查看方式的对话框。选择“通过企业工资发放记录”选项,如下图所示。,第五步:单击【下一步】按钮,弹出选择是否分组的对话框。不选择分组字段,如下图所示。,11.6.2“员工工资查询”报表,我们来创建“员工工资查询报表”。,第六步:单击【下一步】按钮,在排序方式中选择通过“年份”和“月份”
38、进行排序,排序方式均为“升序”,如下图所示。,第七步:单击【下一步】按钮,在弹出的对话框中设置布局方式。布局选择【表格】选项,方向选择【横向】,如下图所示。,11.6.2“员工工资查询”报表,我们来创建“员工工资查询报表”。,第八步:单击【下一步】按钮,弹出选择样式的对话框。选择【办公室】选项,如下图所示。,第九步:单击【下一步】按钮,输入标题为“员工工资查询报表”,选中【预览报表】单选按钮,如下图所示。,第十步:单击【完成】按钮,这样就创建了一个“员工工资查询报表”。,11.6.2“员工工资查询”报表,该报表以“员工工资查询”为数据源,进行员工已发薪金的筛选和查询。用户可以在导航窗格中看到该
39、报表,双击报表,弹出要求用户输入员工编号的对话框(和双击查询一样)。输入正确的参数以后,用户就可以查看该报表,如下图所示。,进入报表的【设计视图】,对以上用向导自动生成的报表进行适当的修改,比如设置标题格式、页脚内容等。最终的设计效果如下图所示。,11.6.3“员工出勤记录”报表,我们利用报表向导,创建“员工出勤记录报表”。,第一步:启动Access 2007,打开“人事管理系统.accdb”数据库。,第二步:切换到【创建】选项卡,在【报表】组中单击【报表向导】按钮。,第三步:弹出【报表向导】对话框,在对话框中将“表:出勤记录”中的“记录号”、“日期”、“员工编号”字段,“表:员工信息”中的“
40、姓名”字段和“表:出勤配置”中的“出勤说明”字段添加到【选定字段】列表框中,如下图所示。,第四步:单击【下一步】按钮,在弹出的选择数据查看方式的对话框中选择“通过出勤记录”选项,如下图所示。,11.6.3“员工出勤记录”报表,我们利用报表向导,创建“员工出勤记录报表”。,第五步:其余各操作步骤设置与11.6.2小节中的一样,保存该报表为“员工出勤记录报表”,如下图所示。,进入报表的【设计视图】,对以上用向导自动生成的报表进行适当的修改。最终的设计效果如下图所示。,11.6.4“企业工资发放记录”报表,我们通过同样的方式创建“企业工资发放记录“报表”,第一步:启动Access 2007,打开“人
41、事管理系统.accdb”数据库。,第二步:切换到【创建】选项卡,在【报表】组中单击【报表向导】按钮。,第三步:弹出【报表向导】对话框,在对话框中将“表:员工信息”中的“姓名”字段和“表:企业工资发放记录”中的所有字段添加到【选定字段】列表框中,如下图所示。,11.6.4“企业工资发放记录”报表,我们通过同样的方式创建“企业工资发放记录“报表”,第四步:单击【下一步】按钮,在弹出的选择数据查看方式的对话框中选择【通过企业工资发放记录】选项,如下图所示。,第五步:其余各操作步骤设置与11.6.2小节中的一样,保存该报表为“企业工资发放记录报表”,如下图所示。,11.7 编码的实现,公用模块“登录”
42、窗体代码“主切换面板”窗体代码“员工考勤记录查询”窗体代码“员工工资查询”窗体代码,11.7.1 公用模块,在Access开发过程中,用得最多的还是各种事件过程,也即为各种控件等建立的响应程序等。在这一小节中,我们要建立该系统中的一个通用模块,该通用模块的作用就是建立数据库的连接、定义用户的登录等。,11.7.1 公用模块,在数据库中建立一个公用模块,以实现数据库的连接和用户登录。,第一步:启动Access 2007,打开“人事管理系统.accdb”数据库。,第二步:切换到【创建】选项卡,单击【其他】组中的【宏】按钮下的小箭头,弹出二级菜单如下图所示。,第三步:单击【模块】选项,系统新建一模块
43、,并进入VBA编辑器,如下图所示。,11.7.1 公用模块,在数据库中建立一个公用模块,以实现数据库的连接和用户登录。,第四步:在【代码】窗口中输入如下代码:,Option Compare DatabaseOption ExplicitPublic check As Boolean通过字符串StrQuery所引用的SQL语句返回一个ADO.Recordset对象Public Function GetRs(ByVal StrQuery As String)As ADODB.Recordset Dim rs As New ADODB.Recordset Dim conn As New ADODB.
44、Connection On Error GoTo GetRS_Error Set conn=CurrentProject.Connection rs.Open StrQuery,conn,adOpenKeyset,adLockOptimistic Set GetRs=rsGetRS_Exit:Set rs=Nothing Set conn=Nothing Exit FunctionGetRS_Error:MsgBox(Err.Description)Resume GetRS_ExitEnd Function,GetRS函数实现通过一条SQL语句,返回一个ADODB.Recordset对象实例。
45、该函数中用到的两个重要的对象如下。ADODB.Recordset.open方法:用于建立一个数据库连接,并返回数据库指针,用以指向数据库中的数据表、查询、窗体等对象。adLockOptimistic:指示逐记录的开放式锁定。提供程序使用开放式锁定,即仅在您调用Update 方法时锁定记录。,第五步:单击【保存】按钮,输入模块名“公共模块”,单击【确定】按钮即可。,11.7.2“登录”窗体代码,我们已经创建了“登录”窗体,增加登录代码的设计其实就是给窗体中的各个控件加上事件过程,使用户操作窗体中的控件时,程序能够对用户的操作做出响应。我们在上面建立的“登录”窗体界面如下图所示。,窗体中各个控件的
46、名称和参数如下表。,11.7.2“登录”窗体代码,为“登录”窗体添加各种事件过程,实现用户的登录功能。为“登录”窗体添加“加载”事件过程,第一步:启动Access 2007,打开“人事管理系统.accdb”数据库。,第二步:在导航窗格中单击“登录”窗体,在弹出的快捷菜单中选择【设计视图】选项,进入窗体的【设计视图】。,第三步:设置窗体的记录源。在窗体的【属性表】窗格中,单击【所选内容的类型:窗体】下拉列表框,选择“窗体”选项。切换到【数据】选项卡,在【记录源】行的下拉列表框中选择“管理员”表,如下图所示。,第四步:给窗体添加“加载”事件过程。将【属性表】切换到【事件】选项卡,在【加载】行中选择
47、“事件过程”选项,并单击右边的省略号按钮,如下图所示。,11.7.2“登录”窗体代码,为“登录”窗体添加各种事件过程,实现用户的登录功能。为“登录”窗体添加“加载”事件过程,第五步:系统进入VBA编辑器,并自动新建了一个名称为“Form_Load()”的Sub过程。,第六步:在【代码】窗口中输入如下所示的VBA代码,给窗体添加“加载”事件过程。,Private Sub Form_Load()最小化数据库窗体并初始化该窗体On Error GoTo Form_Open_Err DoCmd.SelectObject acForm,切换面板,True DoCmd.Minimize check=Fal
48、se Form_Open_Exit:Exit SubForm_Open_Err:MsgBox Err.Description Resume Form_Open_ExitEnd Sub,第七步:保存该VBA代码,这样就给整个窗体加上了“加载”事件过程。此时【代码】窗口如下图所示。,11.7.2“登录”窗体代码,为“登录”窗体添加各种事件过程,实现用户的登录功能。为“OK”按钮添加事件过程,第一步:在“登录”窗体的【设计视图】中单击【确定】按钮,以选择“OK”按钮控件。,第二步:给“OK”按钮控件添加“单击”事件过程。将【属性表】切换到【事件】选项卡,在【单击】行中选择“事件过程”选项,并单击右边
49、的省略号按钮,如下图所示。,第三步:系统进入VBA编辑器,并自动新建了一个名称为“OK_Click()”的Sub过程。,11.7.2“登录”窗体代码,为“登录”窗体添加各种事件过程,实现用户的登录功能。为“OK”按钮添加事件过程,第四步:在【代码】窗口中输入如下所示的VBA代码,给按钮控件添加“单击”事件过程。,Private Sub OK_Click()On Error GoTo Err_OK_Click Dim strSQL As String Dim rs As New ADODB.RecordsetIf IsNull(Me.UserName)Or Me.UserName=Then Do
50、Cmd.Beep MsgBox(请输入用户名称!)ElseIf IsNull(Me.Password)Or Me.Password=Then DoCmd.Beep MsgBox(请输入密码!)Else strSQL=SELECT*FROM 管理员 WHERE 用 户名=&Me.UserName&and 密码=&Me.Password&Set rs=GetRs(strSQL)If rs.EOF Then DoCmd.Beep,MsgBox(用户名或密码错误!)Me.UserName=Me.Password=Me.UserName.SetFocus Exit Sub Else DoCmd.Clos