收藏 分销(赏)

员工信息管理系统设计说明书.doc

上传人:w****g 文档编号:9227032 上传时间:2025-03-17 格式:DOC 页数:51 大小:12.33MB
下载 相关 举报
员工信息管理系统设计说明书.doc_第1页
第1页 / 共51页
员工信息管理系统设计说明书.doc_第2页
第2页 / 共51页
点击查看更多>>
资源描述
员工信息管理系统设计说明书 51 2020年5月29日 文档仅供参考 课程设计说明书 NO.1 员工信息管理系统 1.需求分析 经过用VB6.0编写员工信息管理系统,掌握 Visual Basic语言的数据类型、表示式、程序结构与流程控件语句、数组、函数、过程的概念与使用方法; 掌握程序界面中菜单、工具栏、状态栏的设计方法,能用对话框设计单文档程序,掌握MDI多窗体程序的设计方法; 了解数据库应用程序的结构,初步掌握以DATA控件、ADO控件、ADO对象为数据源,设计数据库应用程序的方法;。 该系统主要考虑了员工信息管理需求:,支持多条件查询;修改、添加、查询、删除数据方便简单,数据稳定性好。本系统能够对员工基本信息进行添加,修改,删除,查询操作,还能够对员工的调动信息进行添加,删除,修改,查询等操作。 真正实现了员工信息管理的自动化和信息化。 2.概要设计 2.1系统结构 沈 阳 大 学 课程设计说明书 NO.2 管理员登录 修改口令 输入用户名和密码 判断用户名和密码 进入主界面 退 出 员工信息管理系统 1系统 2 员工基本信息 3员工调动信息 5帮助 退 出 添加员工信息 修改员工信息 查询员工信息 添加调动信息 修改密码 添加用户 删除员工信息 修改调动信息 查询调动信息 员工基本信息 员工调动信息 删除调动信息 关于 4打印报表 图1员工信息管理信息 沈 阳 大 学 课程设计说明书 NO.3 2.2数据库设计 数据库设计是数据库管理系统的第二个步骤,应根据系统功能模块绘制系统数据流图,总数据字典,设计数据库结构。 根据员工信息管理系统的需求,总结出下面的数据字典: (1)用户数据:内部工作人员使用员工信息管理系统的身份数据,包括的数据项有用户名、密码。 (2)员工基本信息数据:包括的数据项有员工编号、员工姓名、性别、籍贯、年龄、生日、学历、专业、地址、邮编、电话、邮箱、入职时间、部门、职位等。 (3)员工调职信息数据:包括的数据项有员工编号、员工姓名、原部门、新部门、原职务、新职务、调出时间、调入时间等。 (4)员工人数信息数据:包括的数据项有员工人数。 本员工信息管理系统使用Access创立员工信息管理系统的数据库。根据前面分析的数据字典,为每一个数据建立一个数据表。各个数据表的的结构分别如下: 1)用户数据表 用户数据表命名为”用户表”,其结构如表1所示。其中”用户名”字段定义为主键(Primary Key).not null表示不允许空值。 表1 用户表结构 字段名 数据类型 说明 用户名 Char 主键,字段大小为6 密码 Char 字段大小为6 2)员工基本信息表:其结构如表2所示。其中,”员工编号”字段定义为主键(Primary Key). 沈 阳 大 学 课程设计说明书 NO.4 沈 阳 大 学 课程设计说明书 NO.5 表2 员工基本信息数据表结构 字段名 数据类型 说明 编号 Varchar 自动编号,主键 姓名 Varchar 不为空 性别 char 不为空 籍贯 Varchar 不为空 年龄 Int 不为空 出生日期 smalldatatime 不为空 学历 Varchar 不为空 专业 Varchar 不为空 地址 Varchar 不为空 邮编 Varchar 不为空 电话 Varchar 可为空 邮箱 Varchar 可为空 入职时间 smalldatatime 不为空 进入公司时间 smalldatatime 不为空 参加工作时间 smalldatatime 不为空 起薪时间 smalldatatime 不为空 职位 Varchar 不为空 3)员工调动信息表:其结构如表3所示。包括的数据项有员工编号、员工姓名、原部门、新部门、原职务、新职务、调出时间、调入时间等。 沈 阳 大 学 课程设计说明书 NO.6 表3 读者类别数据表结构 字段名 数据类型 说明 记录编号 char 主键,字段为1 员工编号 varchar 不为空,字段为8 员工姓名 varchar 不为空 原部门 varchar 不为空 新部门 varchar 不为空 原职务 varchar 不为空 新职务 varchar 不为空 调出时间 smalldatatime 不为空 调入时间 smalldatatime 不为空 4)员工人数信息数据:包括的数据项有员工人数 表4 员工人数数据表结构 字段名 数据类型 说明 员工人数 Int 主键 3.详细设计 3.1运行流程 当程序运行这后,你首先看到的界面如下图所示,其中窗体的顶部有菜单编辑器,分别有系统, 员工基本信息,员工调动信息,打印报表,帮助等菜单 。窗体作为程序的启动窗体。使用菜单编辑器为主窗体添加多级子菜单:添加员工信息,修改员工信息,删除员工信息,查询员工信息,添加员工调动信息, 删除员工调动信息,修改员工调动信息,查询员工调动信息,帮助。系统主窗体如图2所示 沈 阳 大 学 课程设计说明书 NO.7 图2 主窗体 2.4.2设计系统管理窗体 系统管理菜单下共有3个子菜单,分别是添加用户,修改密码和退出。 单击”添加用户”子菜单,则进入用户管理窗体。窗体中使用文本框显示记录用户名和密码字段数据。单击”添加用户”按钮可添加用户名和密码。单击”修改密码”按钮,可修改用户的密码。单击”退出”按钮,则关闭窗体。 用户管理窗体如图3所示 图3 用户管理窗体 沈 阳 大 学 课程设计说明书 NO.8 单击”修改密码”子菜单,则进入修改密码窗体。窗体中使用文本框显示旧密码,新密码,确认密码数据。单击”确定”按钮可添加修改密码。数据库的uerinfo表中则相应的修改这一条纪录。单击”取消”按钮,可取消修改用户的密码。用户管理窗体如图3所示 图4 密码管理窗体 单击”员工基本信息”子菜单能够看到它有四个子菜单。 其中单击”添加员工信息”子菜单,进入员工基本信息窗体。在窗体中可设置各种员工信息。单击”确定”按钮,可保存当前设置,单击”取消”按钮可取消记录的设置。 添加员工信息窗体如图5所示。 沈 阳 大 学 课程设计说明书 NO.9 图5员工信息管理信息 其中单击”查询员工信息”子菜单,进入查询员工基本信息窗体。在窗体中可根据员工编号,员工姓名以及员工的入职时间,其中任意一项信息,都能够查 询。单击”确定”按钮,开始查询,单击”取消”按钮可取消此操作。 添加员工信息窗体如图6所示。 沈 阳 大 学 课程设计说明书 NO.10 图6查询员工基本信息 其中单击”修改员工信息”子菜单,进入员工修改信息窗体。在窗体中可根据员工编号,员工姓名以及员工的入职时间,其中任意一项信息,都能够确定员工的信息。然后右键点击选中的员工信息,则会弹出员工基本信息表,此时,就能够修改员工信息了。单击”确定”按钮,则会弹出提示框,提示修改成功,数据库中也会相应的修改。单击”取消”按钮可取消此操作。 其中单击”删除工信息”子菜单,进入员工删除信息窗体。在窗体中可根据员工编号,员工姓名以及员工的入职时间,其中任意一项信息,都能够确定员工的信息。然后右键点击选中的员工信息,则会弹出菜单提示删除的操作,此时, 沈 阳 大 学 课程设计说明书 NO.11 就能够删除员工信息了。单击”确定”按钮,则会弹出提示框,提示删除成功,数据库中也会相应的修改。单击”取消”按钮可取消此操作。 单击”员工调动信息”子菜单能够看到它有四个子菜单。 其中单击”查询员工调动信息”子菜单,进入员工调动信息窗体。在窗体中可根据员工编号,员工的调出时间,其中任意一项信息,都能够查询。单击”确定”按钮,开始查询,单击”取消”按钮可取消此操作。添加员工信息窗体如图7所示。 图7查询员工调动信息 其中单击”添加员工调动信息”子菜单,进入员工调动信息窗体。在窗体中可设置各种员工调动信息。单击”确定”按钮,可保存当前设置,单击”取消”按钮可取消记录的设置。 添加员工调动信息窗体如图8所示。 沈 阳 大 学 课程设计说明书 NO.12 图8添加员工调动信息 其中单击”修改员工调动信息”子菜单,进入员工基本信息窗体。在窗体中可根据员工编号、员工的调出时间,其中任意一项信息,都能够确定员工的信息。然后右键点击选中的员工信息,则会弹出员工基本信息表,此时,就能够修改员工信息了。单击”确定”按钮,则会弹出提示框,提示修改成功,数据库中也会相应的修改。单击”取消”按钮可取消此操作。 其中单击”删除员工调动信息”子菜单,进入员工基本信息窗体。在窗体中可根据员工编号、员工的调出时间,其中任意一项信息,都能够确定员工的信息。然后右键点击选中的员工信息,则会弹出员工基本信息表,此时,就能够删除员工信息了。单击”确定”按钮,则会弹出提示框,提示删除成功,数据库中也会相应的修改。单击”取消”按钮可取消此操作。 沈 阳 大 学 课程设计说明书 NO.13 2.4.4系统登录 员工信息管理系统在启动时首先显示登录窗体,用户输入用户名和密码后,单击”确定”按钮登录。如果用户名和密码正确,则启动系统主窗体。单击”取消”按钮则取消登录。 系统登录窗体如图9所示。 图9 系统登录窗体 3.设计结果与分析 在完成了程序各个功能模块的创立之后,就能够运行整个系统了。运行程序,进入系统,界面如图10所示: 图10 系统主窗体 沈 阳 大 学 课程设计说明书 NO.14 登录系统由用户登录、修改密码、退出系统等组成。系统管理由添加用户、修改密码和退出系统组成,其中管理员中能够对员工的基本信息进行添加,修改,查询,删除操作;还能够对员工的调动信息进行添加,修改,查询,删除操作;还能够将员工的基本信息和员工的调动信息打印报表。界面如图11所示: 图11 员工信息打印报表 沈 阳 大 学 课程设计说明书 NO.15 4.设计体会 经过本次课程设计,使我从更深的层次了解了VB的设计技巧和应用方法。在程序的编制和调试过程中,我从中学到了很多有用的方法,比如经过本次设计,我更深刻的体会到了VB系统的方便与实用。在课程设计的过程中,我对课本上的知识进行了复习,从中找出了不少盲点,由衷地感觉到学习过程中应该把学的知识作扎实,多动手多思考,这样才能最大限度的减少知识的漏洞。 把课本上的东西变成实际的东西,让其有使用的价值,是一件很让人高兴的事。我切实的体会到VB这门课程是有用处的,它解释了我平时学习中的很多疑惑,让我增长了很多见识。 5.参考文献 [1] 刘天惠.Visual Basic程序设计教程[M]. 北京: 清华大学大学出版社, .12-24 [2] 龚沛曾.Visual Basic程序设计教程[M]. 高等教育出版社, .28-45 [3] 蒋加伏.Visual Basic程序设计教程[M].北京: 北京邮电大学出版社, .10-56 [4] Microsoft .Visual Basic 6.0 中文版控件大全[M]北京:电子工业出版社, .15-23 6.附录 源程序代码如下: (1)用户登录窗体 Private Sub cmdOK_Click() Dim SQL As String Dim rs As ADODB.Recordset 沈 阳 大 学 课程设计说明书 NO.16 If Trim(UserName.Text = "") Then MsgBox "没有输入用户名称,请重新输入!", vbOKOnly + vbExclamation, "警告" UserName.SetFocus Else '查询用户 SQL = "select * from UserInfo where UserID='" & UserName.Text & "'" Set rs = TransactSQL(SQL) If iflag = 1 Then If rs.EOF = True Then MsgBox "没有这个用户,请重新输入!", vbOKOnly + vbExclamation, "警告" UserName.SetFocus Else If Trim(rs.Fields(1)) = Trim(PassWord.Text) Then rs.Close Me.Hide gUserName = Trim(UserName.Text) '保存用户名称 FrmMain.Show Unload Me Else MsgBox "密码不正确,请重新输入!", vbOKOnly + vbExclamation, "警告" PassWord.SetFocus PassWord.Text = "" 沈 阳 大 学 课程设计说明书 NO.17 End If End If Else Unload Me End If End If pwdCount = pwdCount + 1 '判断输入次数 If pwdCount = 3 Then Unload Me Exit Sub End If End Sub Private Sub Form_Load() pwdCount = 0 gUserName = "" End Sub Private Sub PassWord_KeyDown(KeyCode As Integer, Shift As Integer) TabToEnter KeyCode End Sub Private Sub UserName_KeyDown(KeyCode As Integer, Shift As Integer) TabToEnter KeyCode End Sub 沈 阳 大 学 课程设计说明书 NO.18 (2)添加用户窗体 Option Explicit Public str1 As String '保存修改时的SQL语句 Public ID As Integer '保存记录编号 Private baddflag As Boolean rivate Sub AID_KeyDown(KeyCode As Integer, Shift As Integer) TabToEnter KeyCode End Sub Private Sub AID_LostFocus() Dim SQL As String Dim rs As New ADODB.Recordset SQL = "select SName,SDept,SPosition from StuffInfo where SID='" & Me.AID.Text & "'" Set rs = TransactSQL(SQL) If rs.EOF = False Then Me.AName = rs(0) '初始化员工姓名 Me.AOldDept = rs(1) Me.AOldPosition = rs(2) Else MsgBox "员工编号输入错误,或者没有这个员工!", vbOKOnly + vbExclamation, "警告!" Me.AID = "" Me.AID.SetFocus Me.AID.ListIndex = 0 End If rs.Close End Sub 沈 阳 大 学 课程设计说明书 NO.19 Private Sub cmdCancel_Click() Unload Me Exit Sub End Sub rivate Sub checkinput() If Me.ANewPosition = "" Then MsgBox "请输入新的职务!", vbOKOnly + vbExclamation, "警告!" Me.ANewPosition.SetFocus ElseIf Me.AOutTime = "" Or IsDate(Me.AOutTime) = False Then MsgBox "请输入正确的调出时间!", vbOKOnly + vbExclamation, "警告!" Me.AOutTime = "" Me.AOutTime.SetFocus ElseIf Me.AInTime = "" Or IsDate(Me.AInTime) = False Then MsgBox "请输入正确的调入时间!", vbOKOnly + vbExclamation, "警告!" Me.AInTime = "" Me.AInTime.SetFocus Else baddflag = True End If End Sub Private Sub cmdOK_Click() Dim SQL As String Dim rs As New ADODB.Recordset 沈 阳 大 学 课程设计说明书 NO.20 baddflag = False Call checkinput If baddflag = True Then If flag = 1 Then 'Call checkinput SQL = "select * from AlterationInfo" Set rs = TransactSQL(SQL) rs.AddNew rs.Fields(1) = Me.AID rs.Fields(2) = Me.AName rs.Fields(3) = Me.AOldDept rs.Fields(4) = Me.ANewDept rs.Fields(5) = Me.AOldPosition rs.Fields(6) = Me.ANewPosition rs.Fields(7) = Me.AOutTime rs.Fields(8) = Me.AInTime rs.Fields(9) = Me.ARemark rs.Update rs.Close SQL = "update StuffInfo set SDept='" & Me.ANewDept & "', SPosition='" SQL = SQL & Me.ANewPosition & "' where SID='" & Me.AID & "'" TransactSQL (SQL) MsgBox "已经添加调动信息!", vbOKOnly + vbExclamation, "添加结果!" SQL = "select * from AlterationInfo order by ID" 沈 阳 大 学 课程设计说明书 NO.21 frmAlterationResult.Adodc1.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + App.Path + "\Person.mdb" frmAlterationResult.Adodc1.RecordSource = SQL If SQL <> "" Then frmAlterationResult.Adodc1.Refresh End If Else '修改记录 'Call checkinput SQL = "update StuffInfo set SDept='" & Me.ANewDept & "', SPosition='" SQL = SQL & Me.ANewPosition & "' where SID='" & Me.AID & "'" TransactSQL (SQL) SQL = "update AlterationInfo set AOldDept='" & Me.AOldDept & "',ANewDept='" SQL = SQL & Me.ANewDept & "',AOldPosition='" & Me.AOldPosition SQL = SQL & "',ANewPosition='" & Me.ANewPosition & "',AOutTime=#" & Me.AOutTime SQL = SQL & "#,AInTime=#" & Me.AInTime & "# where ID=" & ID TransactSQL (SQL) MsgBox "已经修改信息!", vbOKOnly + vbExclamation, "修改结果!" Unload Me SQL = "select * from AlterationInfo order by ID" frmAlterationResult.Adodc1.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + App.Path + "\Person.mdb" frmAlterationResult.Adodc1.RecordSource = SQL If SQL <> "" Then frmAlterationResult.Adodc1.Refresh End If 沈 阳 大 学 课程设计说明书 NO.22 Set frmAlterationResult.DataGrid1.DataSource = frmAlterationResult.Adodc1.Recordset frmAlterationResult.DataGrid1.Refresh frmAlterationResult.Show frmAlterationResult.ZOrder 0 Call init Me.ZOrder 0 End If End If End Sub (3)查询员工信息窗体 Option Explicit Private query As String Private fromdate As String Private todate As String Private Sub cmdCancel_Click() Unload Me Exit Sub End Sub Private Sub CombineDate() fromdate = Me.FromYear.Text & "-" & Me.FromMonth.Text & "-1" fromdate = Format(Me.FromYear.Text & "-" & Me.FromMonth.Text & "-1", "yyyy-mm-dd") todate = Me.ToYear.Text & "-" & Me.ToMonth.Text & "-1" todate = Format(todate, "yyyy-mm-dd") End Sub 沈 阳 大 学 课程设计说明书 NO.23 Private Sub setSQL() If IDCheck.Value = vbChecked Then query = "select * from StuffInfo where SID='" & Trim(Me.SID) & "'" End If If NameCheck.Value = vbChecked Then query = "select * from StuffInfo where SName='" & Trim(Me.SName) & "'" End If End Sub Private Sub cmdOK_Click() Call CombineDate Call setSQL frmResult.createList (query) frmResult.Show Unload Me End Sub Private Sub Form_Load() Dim i As Integer Dim SQL As String Dim rs As New ADODB.Recordset SQL = "select distinct datepart(yy,SInTime) from StuffInfo" Set rs = TransactSQL(SQL) If Not rs.EOF Then rs.MoveFirst While Not rs.EOF If Not IsNull(rs.Fields(0)) Then 沈 阳 大 学 课程设计说明书 NO.24 Me.FromYear.AddItem rs(0) Me.ToYear.AddItem rs(0) End If rs.MoveNext Wend rs.Close Me.FromYear.ListIndex = 0 Me.ToYear.ListIndex = 0 End If For i = 1 To 12 Me.FromMonth.AddItem i Me.ToMonth.AddItem i Next i Me.FromMonth.ListIndex = 0 Me.ToMonth.ListIndex = 0 End Sub 至此,整个程序系统的实现就完成了。 沈 阳 大 学
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传
相似文档                                   自信AI助手自信AI助手

当前位置:首页 > 包罗万象 > 大杂烩

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:4009-655-100  投诉/维权电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服