数据库课程设计 职工考勤系统

发布时间:   来源:文档文库   
字号:
摘要
在现代企业管理中,企业信息化是提高企业管理效率的重要手段。随着企业人事管理的日趋复杂和企业人员的增多,企业的考勤管理变得越来越复杂。规范的考勤管理是现代企业提高管理效益的重要保障,而传统的人工管理存在着效率低、不易统计、成本高和易出错等弊端,已经无法适应现代企业的需求。随着计算机技术和通信技术的迅速发展,将传统的人工考勤管理信息化,建立一个高效率的、无差错的考勤管理系统,能够有效地帮助企业实现“公正考勤,高效薪资”的管理理念,使企业的管理水平登上一个新的台阶。本课程设计主要是对企业员工的考勤管理。
本系统的设计只要是为了实现管理和查询企业员工的工作出勤情况。主要功能有:刷卡记录管理、加班管理、请假管理、用户登录和注册功能以及月考勤统计表的查询。本系统的数据库是用MicrosoftAccess2007软件进行创建和设计,分别包括刷卡记录信息表,加班信息表,请假信息表,月考勤统计表和登录信息表五个表。通过系统ODBC数据源管理工具把已创建的数据源与系统数据库相连。然后利用VisualBasic软件对系统的窗口进行设计,包括登录界面、注册新用户界面、主界面、浏览窗体和查询窗体等,可以通过这些窗体进行登录操作,对输入的用户信息进行验证,和注册新用户操作,以及最重要的操作是对数据库中信息进行修改与查询。并可以对数据进行添加与删除,做到及时更新员工考勤信息。

关键词:考勤管理,MicrosoftAccess2007软件,VisualBasic软件

1.系统功能概述
1.1系统功能
考勤管理系统主要是实现刷卡记录、加班和请假的管理以及员工月考勤统计。设计为MDI窗体,含有主菜单:[文件][管理考勤信息][查询考勤信息][文件]菜单包含以下子菜单及其功能:[注册]:打开“注册新用户”窗体[关闭]:结束程序运行[登录]:登录主界面
[管理考勤信息]包含以下子菜单:
[刷卡信息]菜单:显示刷卡信息浏览和编辑窗体[加班信息]菜单:显示加班信息浏览和编辑窗体[请假信息]菜单:显示请假信息浏览和编辑窗体[查询考勤信息]包含以下子菜单:
[刷卡信息查询]菜单:显示刷卡信息查询窗体[加班信息查询]菜单:显示加班信息查询窗体[请假信息查询]菜单:显示请假信息查询窗体[月考勤信息查询]菜单:显示月考勤信息查询窗体

1.2系统结构总图
考勤管理系统的结构总图,如图1.1所示:
考勤管理系统

管理信息系统查询信息系统

1.1考勤管理系统的结构总体


2.数据库设计
2.1需求分析
随着现代数据的信息化和大数据时代的到来,各个企业也逐渐实行信息化管理。而企业考勤管理一直以来就遵循着传统的人工管理制度,这种人工管理方法已经不再是高效、快速解决问题的最好选择。随着各企业的快速发展和企业员工频繁交替更换,使得企业对考勤管理系统有着更高的要求,来达到企业利益最大化和职工利益的公平性。数据库管理系统能快速的帮助管理者处理数据,提高工作效率,实现公平公正的管理制度。
2.2E-R模型
刷卡记录信息管理E-R图,如图2.1所示。加班信息管理E-R图,如图2.2所示。请假信息管理E-R图,如图2.3所示。月考勤统计信息E-R图,如图2.4所示。登录E-R图,如图2.5所示。全局E-R图,如图2.6所示。

刷卡记录信息管理刷卡时间职员编号刷卡日期2.1刷卡记录信息管理实体属性图加班信息管理加班日期职员编号





2.2加班信息管理实体属性图

职员编号请假信息管理请假日期





2.3请假信息管理实体属性图
职员编号

月考勤统计信息管理日期迟到次数

加班时间早退次数

2.4月考勤统计信息管理实体属性图

登录

用户名密码

2.5登录实体属性图


职员编号迟到次数
请假次数

早退次数
月考勤统计加班时间
旷工次数
日期
职员编号职员编号刷卡加班日期
请假时数
刷卡刷卡职工信息

请假原因加班时数
加班原因

刷卡刷卡请假日期

登录用户名

刷卡记录信息

密码

职员编号刷卡日期
刷卡时间
2.6全局E-R
2.3关系模型
一个实体性转换为一个关系模式。实体的属性就是关系的属性,实体的码就是关系的码。根据E-R图向关系模型转换的原则,就是把E-R图转换为关系模型。
刷卡记录信息:职员编号、刷卡时间、刷卡日期(主键为职员编号)加班信息:职员编号、加班时数、加班日期、加班原因(主键为职员编号)
请假信息:职员编号、请假日期、请假次数、请假原因(主键为职员编号)
月考勤统计信息:职员编号、日期、加班时间、请假次数、旷工次数、

迟到次数、早退次数(主键为职员编号)
登录:用户名、密码(主键为用户名)
2.4表结构设计
刷卡信息表结构如图2.7所示。
刷卡记录
职员编号日期刷卡时间
8522015/12/77578532015/12/77418542015/12/77108552015/12/7730
2.8刷卡信息表图
加班信息表结构如图2.8所示。
加班管理
职员编号加班日期加班时数加班原因
8522015/11/28532015/11/108542015/11/118552015/11/26
2工作未完成2工作未完成2工作未完成2工作未完成
2.8加班信息表图
请加信息表结构如图2.9所示。
请假管理
职员编号请假日期请假时数请假原因
8522015/12/18532015/12/28552015/12/5
2生病1生病1生病
2.9请假信息表图月考勤统计表结构如图2.10所示。
月考勤统计表
职员编号日期迟到次数早退次数旷工次数请假次数加班时间
8522015/12/78532015/12/78542015/12/78552015/12/7
1000
0000
0000
1101
2222
2.10月考勤统计表图
登录表结构如图2.11所示。
登录表用户名密码
1309010102123456


3.系统各功能模块的详细设计
3.1各窗体的设计
此考勤管理系统共包括13个窗体,分别是登录、注册、刷卡记录信息查询、加班信息查询、请假信息查询、月考勤信息查询和MDI主窗体。
3.2各窗体实现及代码
3.2.1登录窗体
打开登录界面后,输入用户名和密码,点击登录按钮,进入MDI主窗体,如3.1所示。

3.1登录界面图
代码:
DimmicountAsInteger
PrivateSubCommand1_Click(DimstrAsString
str="select*from登录where用户名='"&Text1.Text&"'"Adodc1.RecordSource=strAdodc1.Refresh
IfAdodc1.Recordset.BOF=TrueThen
MsgBox"用户名错误,请重新输入",vbExlamation,"警告"Text1.Text=""Text2.Text=""Text1.SetFocusElse
IfTrim(Adodc1.Recordset.Fields("密码"=Text2.TextThenMDIForm1.ShowUnloadMe
MDIForm1.g.Enabled=TrueMDIForm1.c.Enabled=True

Else
MsgBox"密码错误,请重新输入",vbExlamation,"警告"Text2.Text=""Text2.SetFocusEndIfEndIf
micount=micount+1
Ifmicount>=3ThenUnloadMeEndSub
PrivateSubCommand2_Click(UnloadMeEndSub
3.2.2MDI主窗体
主窗体含有主菜单:[文件][数据管理][数据查询][文件]菜单包含子菜单登录、注册、退出。[数据管理]菜单包含子菜单有:刷卡信息管理、加班信息管理和请假信息管理。[数据查询]包含子菜单有:刷卡信息查询、加班信息查询、请假信息查询和月考勤信息查询。如图3.2所示。

3.2MDI主窗体图
代码:
PrivateSubc1_Click(刷卡信息.ShowEndSub
PrivateSubc2_Click(加班信息.ShowEndSub
PrivateSubc3_Click(请假信息.ShowEndSub
PrivateSubg1_Click(刷卡信息查询.ShowEndSub
PrivateSubg2_Click(

加班信息查询.ShowEndSub
PrivateSubg3_Click(请假信息查询.ShowEndSub
PrivateSubg4_Click(月考勤信息查询.ShowEndSub
PrivateSubMDIForm_Load(g.Enabled=Falsec.Enabled=FalseEndSub
PrivateSubw1_Click(注册.ShowEndSub
PrivateSubw2_Click(登录.ShowEndSub
PrivateSubw3_Click(UnloadMeEndSub
3.2.3新用户注册
在主窗体上点击查单文件下的注册,进入注册界面,输入用户名、密码和确认密码,点击确定,注册成功。如图3.3所示。

3.3新用户注册图
代码:
PrivateSubCommand1_Click(DimsqlstrAsStringIfText1=""Then
MsgBox"请输入用户名!",vbExclamation,"确认用户名"Text1.SetFocusExitSub

Else
sqlstr="Select*from登录where用户名='"&Text1.Text&"'"Adodc1.RecordSource=sqlstrAdodc1.Refresh
IfAdodc1.Recordset.EOF=FalseThen
MsgBox"用户名已存在,请重新输入!",vbExclamation,"检验用户名"Text1=""
Text1.SetFocusText2=""Text3=""ExitSubEndIfEndIf
IfText2<>Text3Then
MsgBox"二次输入的密码不一致,请重新输入",vbExclamation,"检验密码"Text2="":Text3=""Text2.SetFocusExitSub
ElseIfText2=""Then
MsgBox"密码不能为空!",vbExclamation,"检验密码"Text2.SetFocusElse
Adodc1.Recordset.AddNew
Adodc1.Recordset.Fields("用户名"=Trim(Text1Adodc1.Recordset.Fields("密码"=Trim(Text2Adodc1.Recordset.Update
MsgBox"成功注册新用户!",vbInformation,"添加用户"Me.Hide
MDIForm1.ShowUnloadMeEndIfEndSub
PrivateSubCommand2_Click(UnloadMe
MDIForm1.ShowEndSub
3.2.4刷卡信息
点击MDI主窗体的数据管理菜单下的刷卡信息,出现刷卡信息界面如图3.4所示,如有修改,点击修改,弹出图3.5所示界面便于增加、删除、前移和后移的功能。


3.4

3.5
代码:
PrivateSubCommand1_Click(Adodc1.Recordset.MoveFirstCommand1.Enabled=FalseCommand2.Enabled=FalseCommand3.Enabled=TrueCommand4.Enabled=True
Label5.Caption="记录:"&Adodc1.Recordset.AbsolutePosition&"/"&Adodc1.Recordset.RecordCountEndSub
PrivateSubCommand10_Click(Adodc1.Refresh
Command6.Enabled=TrueCommand7.Enabled=TrueCommand8.Enabled=TrueCommand9.Enabled=FalseCommand10.Enabled=FalseText1.Locked=TrueText2.Locked=True

Text3.Locked=TrueText4.Locked=TrueEndSub
PrivateSubCommand2_Click(Adodc1.Recordset.MovePreviousCommand3.Enabled=TrueCommand4.Enabled=TrueIfAdodc1.Recordset.BOFThenAdodc1.Recordset.MoveFirstCommand1.Enabled=FalseCommand2.Enabled=FalseEndIf
Label5.Caption="记录:"&Adodc1.Recordset.AbsolutePosition&"/"&Adodc1.Recordset.RecordCountEndSub
PrivateSubCommand3_Click(Adodc1.Recordset.MoveNextCommand1.Enabled=TrueCommand2.Enabled=TrueIfAdodc1.Recordset.EOFThenAdodc1.Recordset.MoveLastCommand3.Enabled=FalseCommand4.Enabled=FalseEndIf
Label5.Caption="记录:"&Adodc1.Recordset.AbsolutePosition&"/"&Adodc1.Recordset.RecordCountEndSub
PrivateSubCommand4_Click(Adodc1.Recordset.MoveLastCommand1.Enabled=TrueCommand2.Enabled=TrueCommand3.Enabled=FalseCommand4.Enabled=False
Label5.Caption="记录:"&Adodc1.Recordset.AbsolutePosition&"/"&Adodc1.Recordset.RecordCountEndSub
PrivateSubCommand5_Click(DimnAsIntegern=Text5.Text
Adodc1.Recordset.Moven
Label5.Caption="记录:"&Adodc1.Recordset.AbsolutePosition&"/"&Adodc1.Recordset.RecordCountEndSub
PrivateSubCommand6_Click(

Adodc1.Recordset.AddNewCommand6.Enabled=FalseCommand7.Enabled=FalseCommand8.Enabled=FalseCommand9.Enabled=TrueCommand10.Enabled=TrueEndSub
PrivateSubCommand7_Click(
x=MsgBox("确实要删除当前记录吗?",vbYesNo+vbQuestion,"确认"Ifx=vbYesThen
Adodc1.Recordset.DeleteAdodc1.Recordset.MoveNextIfAdodc1.Recordset.EOFThenAdodc1.Recordset.MoveLastEndIfElse
Adodc1.RefreshEndIfEndSub
PrivateSubCommand8_Click(Text1.Locked=FalseText2.Locked=FalseText3.Locked=FalseText4.Locked=False
Command6.Enabled=FalseCommand7.Enabled=FalseCommand8.Enabled=FalseCommand9.Enabled=TrueCommand10.Enabled=TrueEndSub
PrivateSubCommand9_Click(Adodc1.Recordset.UpdateCommand6.Enabled=TrueCommand7.Enabled=TrueCommand8.Enabled=TrueCommand9.Enabled=FalseCommand10.Enabled=FalseText1.Locked=TrueText2.Locked=TrueText3.Locked=TrueText4.Locked=TrueEndSub
PrivateSubForm_Load(Command1.Enabled=False

Command2.Enabled=FalseCommand3.Enabled=TrueCommand4.Enabled=TrueCommand6.Enabled=TrueCommand7.Enabled=TrueCommand8.Enabled=TrueCommand9.Enabled=FalseCommand10.Enabled=False
Label5.Caption="记录:"&Adodc1.Recordset.AbsolutePosition&"/"&Adodc1.Recordset.RecordCountEndSub
3.2.5加班信息管理
点击MDI主窗体的数据管理菜单下的加班信息管理,出现加班信息管理界面,可以进行增加,删除,修改,前移后移等功能。如图3.6所示。

3.6

3.7
代码同上。
3.2.6请假信息管理

点击MDI主窗体的数据管理菜单下的请假信息管理,出现请假信息管理界面,可以进行增加,删除,修改,前移后移等功能。如图3.7所示。


3.7
3.2.7刷卡信息查询
点击MDI主窗体的数据查询菜单下的刷卡信息查询,出现刷卡信息查询界面,可以进行增加,删除,修改,前移后移等功能。如图3.8所示。

代码:
PrivateSubCommand1_Click(DimstrAsString

str="Select*From刷卡记录"
str=str&"Where"&Combo1.Text&"Like'"&Text1&"%'"Adodc1.RecordSource=strAdodc1.RefreshEndSub
PrivateSubCommand3_Click(UnloadForm8MDIForm1.ShowEndSub
PrivateSubForm_Load(Combo1.AddItem"职员编号"Combo1.AddItem""Text1.Text=""Combo1.Text=""EndSub
3.2.8加班信息查询
点击MDI主窗体的数据查询菜单下的加班信息查询,出现加班信息查询界面,可以进行增加,删除,修改,前移后移等功能。如图3.9所示。

代码:
PrivateSubCmd1_Click(DimstrAsString
str="Select*From加班管理"
str=str&"Where"&Combo1.Text&"Like'"&Text1&"%'"Adodc1.RecordSource=strAdodc1.RefreshEndSub
PrivateSubForm_Load(
Combo1.AddItem"职员编号"Combo1.AddItem""

Text1.Text=""Combo1.Text=""EndSub
PrivateSubCommand3_Click(UnloadForm6MDIForm1.ShowEndSub
3.2.9请假信息查询
点击MDI主窗体的数据查询菜单下的请假信息查询,出现请假信息查询界面,可以进行增加,删除,修改,前移后移等功能。如图3.10所示。

代码:
PrivateSubCommand1_Click(DimstrAsString
str="Select*From请假管理"
str=str&"Where"&Combo1.Text&"Like'"&Text1&"%'"Adodc1.RecordSource=strAdodc1.RefreshEndSub
PrivateSubForm_Load(Combo1.AddItem"职员编号"Combo1.AddItem""Text1.Text=""Combo1.Text=""EndSub
PrivateSubCommand4_Click(UnloadForm7MDIForm1.ShowEndSub
3.2.10月考勤信息查询
点击MDI主窗体的数据查询菜单下的月考勤信息查询,出现月考勤信息查询界面,可以进行增加,删除,修改,前移后移等功能。如图3.11所示。
代码:
PrivateSubCommand1_Click(

DimstrAsString
str="Select*From月考勤统计表"
str=str&"Where"&Combo1.Text&"Like'"&Text1&"%'"Adodc1.RecordSource=strAdodc1.RefreshEndSub
PrivateSubCommand2_Click(UnloadForm12MDIForm1.ShowEndSub
PrivateSubForm_Load(
Combo1.AddItem"职员编号"Combo1.AddItem""Text1.Text=""Combo1.Text=""EndSub
结论

本系统的主要功能是建立考勤管理系统,对刷卡信息、加班信息、请假信息和月考勤信息的管理和查询。通过这次课程设计使我对数据库和VB有了更深一层的认识,锻炼了我的思维能力和动手能力。其中最重要的是学会了如何建立数据库、连接数据库、修改数据库和查询数据库,并且运用VB软件建立窗体。


参考文献
1.王珊.数据库系统简明教程.北京.高等教育出版,2004.92.王珊,朱青.数据库系统概论学习指导与习题解答.北京.高等教育
出版社,2003
3.WeldomJL.DataBaseAdministration.NewYork.PlenumPress
1981;4.CardenasA.DataBaseManagementSystems(SecondEdition.Allyn
andBacon1985;
5.CoddEF.ARelationalModelofDataforLargeSharedDataBanks.
CACM13NO.6,1970;
6.刘启愿,刘怡.数据库与信息系统的安全.数据库技术丛书之一.
.科学出版社,1999

本文来源:https://www.2haoxitong.net/k/doc/3a4596841ed9ad51f11df253.html

《数据库课程设计 职工考勤系统.doc》
将本文的Word文档下载到电脑,方便收藏和打印
推荐度:
点击下载文档

文档为doc格式