VB+Access员工信息管理系统
员工信息管理系统
1.课程设计的目的
本系统将模拟实现企业员工的各项信息管理系统。主要用于对公司所有员工的个人信息,企业的各部门信息,以及公司员工的工资状况作出相应的统计与管理。本系统是采用Visual Basic6.0高级语言进行程序编制,以Access数据库为程序数据库。
2.系统总体设计
系统的总体任务是实现对公司员工信息的管理,主要完成的功能有:
(1).员工自然信息管理:该模块是对公司员工的个人信息进行管理,包括员工编号,员工姓名,员工性别,员工年龄,基本学历,政治面貌,所在城市。如果有新员工加入该 公司,可在本模块进行添加新员工操作,如果有员工辞职或是退休,也可以在本模块进 行删除员工操作。还可以对现有的员工信息进行修改操作,也可以查找个别员工的个人基本信息。该模块还可以对现有的员工作出统计,并打印统计出的表格。允许高级管理员和相关工作人员添加员工信息,删除员工信息和修改员工信息。
(2).企业部门信息管理:该模块是对公司各部门的分配情况作出管理,包括部门编号,部门名称,职务名称,职称名称,主管人姓名,部门人数。可以在该模块对公司的职务安排作出相应的管理,如增加新的部门,任命新的部门领导,或是对部门人数进行调整与分配。也可以查找相应部门的信息。
(3).员工的工资信息管理:该模块是对公司的员工工资状况作出相应的管理,包括部门编号,部门名称,职务,月薪。可以在该模块对公司员工的工资作出调整,并可以查看每个部门的开支情况。
系统功能模块图若图片无法显示请联系QQ3710167,数据库课程设计-VB+Access员工信息管理系统免费,转发请注明源于www.lwfree.cn 111
员工信息管理系统源代码系统功能模块图
3.数据库设计
本系统的数据库是采用Microsoft公司的Access 2000设计的。员工管理系统需要对数据库进行必要的设计,才能正常运行。在数据库的设计过程中,首先是收集、分析需求;再从需求抽象出一般的实体、关系和他们的属性;再将这些实体、关系和属性按照一定的规则转化为二元表结构。
本系统中需要3个数据表
第一个表是存放员工信息的数据表,该表记录了该公司全体员工的个人信息,管理员可以添加、删除和查询该表。该表包括了员工编号,员工姓名,性别,年龄,员工的学
历,政治面貌,以及所在城市。如下表所示:
表1 员工资料
字段名称
数据类型
员工编号
数字
员工姓名
文本
性别
文本
年龄
数字
基本学历
文本
政治面貌
文本
所在城市
文本
第二个表是存放部门信息的数据表,该表记录了该公司的各部门职务的分配情况,管理员可以添加、删除和查询该表。该表包括了部门编号,部门名称,职务名称,职称名称,主管人姓名,部门人数。如下表所示:
表2 信息部门
字段名称
数据类型
部门编号
数字
部门名称
文本
职务名称
文本
职称名称
文本
主管人姓名
文本
部门人数
数字
第三个表是存放员工工资信息的数据表,该表记录了该公司各部门工作人员的工资情况,管理员可以添加、删除和查询该表。该表包括了部门编号,部门名称,职务,月薪。
如下表所示:
表3 工资表
字段名称
数据类型
部门编号
数字
部门名称
文本
职务
文本
月薪
数字
4.应用软件的开发与实现
主要窗体的实现:
(1)登录模块的设计:本系统采用管理员登录制,除管理员或公司高层人员拥有管理员账户和密码外其余普通员工均不可登录本系统进行修改。此模块的功能是检查管理员是否有进入系统的权限,主要控件有2个label,2个textbox,2个button。窗体界面如下图2所示:
图2 窗体界面
该界面的代码如下:
Private Sub Command1_Click()
x = Text1.Text
y = Text2.Text
If x = "GYS" Then
If y = "123456789" Then
MsgBox ("欢迎您")
Form1.Show
Form5.Hide
Else
MsgBox ("用户密码错误,请重新输入")
Text2.Text = ""
Text2.SetFocus
End If
Else
MsgBox ("用户名错误,请重新输入")
Text1.Text = ""
Text1.SetFocus
End If
End Sub
Private Sub Command2_Click()
End
End Sub
Private Sub Form_Load()
Text1.Text = ""
Text2.Text = ""
Text2.MaxLength = 9
Text2.PasswordChar = "*"
End Sub
(由于本程序最后添加的登录窗体,故命名为Form5)
本登录界面的主要作用是,当正确输入管理员用户名“GYS”和管理员密码123456789时,系统将自动开始运行,并显示欢迎语句,如果用户名或密码输入错误时,则弹出相应对话框,如下图3
此时程序回到登录界面不运行管理系统,并等待输入新的密码。密码输入正确之后,就可以登录到管理系统进行相关操作了。若图片无法显示请联系QQ3710167,数据库课程设计-VB+Access员工信息管理系统免费,转发请注明源于www.lwfree.cn (2)主页面模块的设计:此模块是员工管理系统的主要控制界面,通过菜单的选择,可以控制系统的所有功能。主要控件有1个Label,4个Button。窗体界面如下图所示
具体实现代码如下:
Private Sub Command1_Click()
Form2.Show
Form1.Hide
End Sub
Private Sub Command2_Click()
Form3.Show
Form1.Hide
End Sub
Private Sub Command3_Click()
Form4.Show
Form1.Hide
End Sub
Private Sub Command4_Click()
End
End Sub
Private Sub Form_Load()
Form5.Show
Form1.Hide
End Sub
该界面显示了本系统的主要功能,即员工个人信息管理模块,企业部门信息管理模块,员工工资信息管理模块。
(3)功能模块的设计:
1.员工个人信息管理模块:该模块主要用途为管理员工的自然信息,通过本模块的操作,可以对员工的个人信息进行添加删除修改等操作。主要控件有8个button,7个textbox,
1个data控件,7个label。窗体界面如下图5所示
VB+Access员工信息管理系统
图5 连接图
本系统已连接了ACCESS数据库,所以在这里显示了数据库已经输入的内容,下面进行添加新员工的操作,点击添加新员工按钮,系统弹出提示界面,如下图所示:
点击确定之后可以在该界面上输入新员工的各项信息,输入完之后即可添加到员工信息的数据库中。
删除员工时系统提示管理员操作,如下图所示:
此时如果点击“是”按钮,则删除当前显示的员工信息。
修改员工信息时,点击修改按钮,系统提示用户操作,如下图所示:
点击确定之后,可以对当前用户的信息作出修改。
当需要查找相应员工时,可以点击查找员工信息按钮,此时系统提示用户操作,如下图所示此时可以输入员工的个人编号进行个别员工的信息查找,如果输入的员工编号不在该管理系统的数据库内,则系统提示操作为下图所示:
如果输入正确的员工编号,如该管理系统的数据库里已有编号为10004的员工,则系统显示10004的员工信息,如下图所示:
图11 员工信息
上一个和下一个按钮可以改变当前窗口显示的员工信息。打印按钮可显示该数据库中所有员工信息的数据报表。返回即返回上一页面。
2.部门信息管理模块:该模块主要用途为管理该公司的各部门信息,如部门名称,负责人等相关信息的添加修改和查找。主要控件有7个button,6个txetbox,6个label,1个data控件。窗体界面如下图12所示:
图12 基本控件图
ACCESS数据库中已输入了相关部门的数据,如果有需要添加新的部门,则可以点击添加新部门按钮,系统提示用户进行操作,如下图所示:
图13添加部门图假设添加编号为5,部门名称为财务部,职务名称为理财负责人,职称名称为会计,负责人姓名为李勇,部门人数为10的部门信息,则输入之后添加到数据库的最后一行数据。下图14已经成功录入数据
图14 录入成功图
删除部门时,可点击删除该部门信息按钮,则系统可以删除当前部门信息,系统提示用户如下图15所示:
图15删除图
点击确定后可以删除当前部门信息。
修改部门信息时,点击修改按钮,系统提示用户操作,如下图所示:
图16 修改信息
点击确定之后,可以对当前部门的信息作出修改。
员工信息管理系统源代码系统功能模块图
当需要查找个别部门的信息时,可以点击查找部门信息按钮,系统就可以在当前页面上显示要查找的部门的信息。点击返回可返回主界面。
3.工资信息管理模块:该模块主要用途为管理该公司的员工的工资情况,如部门名称,部门职务和月薪等相关信息的添加修改和查找。主要控件有7个button,4个txetbox,4个label,1个data控件。窗体界面如下图所示:
图17 七个控件图
如果该公司有新的部门创建了,那么就应该为新部门的员工进行相应的开支,工资管理模块的作用是对新部门员工工资的管理。
点击添加新部门工资信息按钮,可以对新加入的部门的工资信息进行添加处理,系统提示用户操作,如下图18所示:
如需要添加部门编号为5,部门名称为财务部,职务为会计,月薪为1500的员工工资信息,则输入后查看数据库内的信息,有如下图19所示:
此时表明,该工资信息已经添加到数据库中了。
删除该部门工资信息时,可以点击删除该部门工资信息按钮,此时系统提示如该图21所示:
图21 删除部门信息
点击确定可以删除当前显示的部门工资信息。修改该部门工资信息时,点击修改按钮,系统提示用户操作,如下图22所示:
图22 修改图
点击确定之后,可以对当前部门的工资信息作出修改。
查询工资信息时,可以点击查询工资信息按钮,如需要查找部门名称为营销部的工资信息,则在提示的对话框中输入营销部,如下图23所示:
图23 超找行销部
则系统显示营销部的工资信息,如下图24所示
5.设计体会
通过本次的课程设计,使我熟练地掌握了VB语言的基本内容和课程设计的基本方法与编程技巧,使我对VB这门课程有了更深的理解与认识。提高了应用计算机解决问题和处理实际问题的思维方法与基本能力,为进一步学习和应用计算机的专业知识打下了基础。
6.参考文献
[1]林卓然.VB语言程序设计.北京:电子工业出版社.2003.P56-P61.
[2]郑人杰,殷人昆.实用软件工程[M].北京:清华大学出版社.2006.P23-P32.[3]杜民.VisualBasic程序设计与开发指南[M].北京:高等教育出版社.1989.P61-P63.[4]武马群.VisualBasic程序设计.北京:北京工业大学出版社.2004.P47-P49.
VB+Access员工信息管理系统
程序代码如下
Form2:
Public msg
Private Sub Command1_Click()
vb_msg = MsgBox("请输入新员工", vbOKCancel)
If vb_msg = vbCancel Then
Exit Sub
End If
data1.Recordset.AddNew
data1.Recordset.Fields("员工编号") = Text1.Text
data1.Recordset.Fields("员工姓名") = Text2.Text
data1.Recordset.Fields("性别") = Text3.Text
Dada1.Recordset.Fields("年龄") = Text4.Text
Dada1.Recordset.Fields("基本学历") = Text5.Text
Dada1.Recordset.Fields("政治面貌") = Text6.Text
Dada1.Recordset.Fields("所在城市") = Text7.Text
data1.Recordset.Update
End Sub
Private Sub Command2_Click()
Dim areturn As Integer
areturn = MsgBox("你确实要删除员工记录吗?", vbYesNo)
If areturn = vbYes Then
data1.Recordset.Delete
data1.Recordset.MoveNext
If data1.Recordset.EOF Then
data1.Recordset.MoveLast
End If
End If
End Sub
Private Sub Command3_Click()
Dim areturn As Integer
areturn = MsgBox("你确实要修改员工信息吗?", vbYesNo)
If areturn = vbYes Then
data1.Recordset.Edit
data1.Recordset.Fields("员工编号") = Text1.Text
data1.Recordset.Fields("员工姓名") = Text2.Text
data1.Recordset.Fields("性别") = Text3.Text
Dada1.Recordset.Fields("年龄") = Text4.Text
Dada1.Recordset.Fields("基本学历") = Text5.Text
Dada1.Recordset.Fields("政治面貌") = Text6.Text
Dada1.Recordset.Fields("所在城市") = Text7.Text
data1.Recordset.Update
End If
End Sub
Private Sub Command4_Click()
msg = InputBox("请输入员工编号", "查找记录")
Data.recourdset.FindFirst "员工编号='" & msg & "'"
If data1.Recordset.NoMatch Then
MsgBox "没有符合条件的员工"
Else
MsgBox "符合条件的员工为" & data1.Recordset.Fields(1)
End If
End Sub
Private Sub Command5_Click()
data1.Recordset.MovePrevious
If data1.Recordset.BOF Then
data1.Recordset.MoveFirst
MsgBox ("已经是第一条记录了!")
End If
End Sub
Private Sub Command6_Click()
data1.Recordset.MoveNext
If data1.Recordset.EOF Then
MsgBox ("已经是最后一条记录了!")
End If
End Sub
Private Sub Command7_Click()
datareport1.Show
End Sub
Private Sub Command8_Click()
Form1.Show
Form2.Hide
End Sub
Form3:
Public msg
Private Sub Command1_Click()
vb_msg = MsgBox("请输入新部门信息", vbOKCancel)
If vb_msg = vbCancel Then
Exit Sub
End If
Data1.Recordset.AddNew
Data1.Recordset.Fields("部门编号") = Text1.Text
Data1.Recordset.Fields("部门名称") = Text2.Text
Data1.Recordset.Fields("职务名称") = Text3.Text
Dada1.Recordset.Fields("职称名称") = Text4.Text
Dada1.Recordset.Fields("负责人姓名") = Text5.Text
Dada1.Recordset.Fields("部门人数") = Text6.Text
Data1.Recordset.Update
End Sub
Private Sub Command1_Click()
vb_msg = MsgBox("请输入新部门信息", vbOKCancel)
If vb_msg = vbCancel Then
Exit Sub
End If
Data1.Recordset.AddNew
Data1.Recordset.Fields("部门编号") = Text1.Text
Data1.Recordset.Fields("部门名称") = Text2.Text
Data1.Recordset.Fields("职务名称") = Text3.Text
Dada1.Recordset.Fields("职称名称") = Text4.Text
Dada1.Recordset.Fields("负责人姓名") = Text5.Text
Dada1.Recordset.Fields("部门人数") = Text6.Text
Data1.Recordset.Update
End Sub
Private Sub Command2_Click()
Dim areturn As Integer
areturn = MsgBox("你确实要删除该部门记录吗?", vbYesNo)
If areturn = vbYes Then
Data1.Recordset.Delete
Data1.Recordset.MoveNext
If Data1.Recordset.EOF Then
Data1.Recordset.MoveLast
需要完整内容的请联系QQ3710167,本文免费,转发请注明源于www.lwfree.cn
If areturn = vbYes Then
Data1.Recordset.Edit
Data1.Recordset.Fields("部门编号") = Text1.Text
Data1.Recordset.Fields("部门名称") = Text2.Text
Data1.Recordset.Fields("职务名称") = Text3.Text
Dada1.Recordset.Fields("职称名称") = Text4.Text
Dada1.Recordset.Fields("负责人姓名") = Text5.Text
Dada1.Recordset.Fields("部门人数") = Text6.Text
Data1.Recordset.Update
End If
End Sub
员工信息管理系统源代码系统功能模块图
Private Sub Command4_Click()
msg = InputBox("请输入该部门名称", "查找记录")
Data.recourdset.FindFirst "部门名称='" & msg & "'"
If Data1.Recordset.NoMatch Then
MsgBox "没有符合条件的部门信息"
Else
MsgBox "符合条件的部门为" & Data1.Recordset.Fields(1)
End If
End Sub
Private Sub Command5_Click()
Data1.Recordset.MovePrevious
If Data1.Recordset.BOF Then
Data1.Recordset.MoveFirst
MsgBox ("已经是第一条记录了!")
End If
End Sub
Private Sub Command6_Click()
Data1.Recordset.MoveNext
If Data1.Recordset.EOF Then
MsgBox ("已经是最后一条记录了!")
End If
End Sub
Private Sub Command7_Click()
Form1.Show
Form3.Hide
End Sub
Form4:
Public msg
Private Sub Command1_Click()
vb_msg = MsgBox("请输入新部门工资信息", vbOKCancel)
If vb_msg = vbCancel Then
Exit Sub
End If
Data1.Recordset.AddNew
Data1.Recordset.Fields("部门编号") = Text1.Text
Data1.Recordset.Fields("部门名称") = Text2.Text
Data1.Recordset.Fields("职务") = Text3.Text
Dada1.Recordset.Fields("月薪") = Text4.Text
Data1.Recordset.Update
End Sub
Private Sub Command1_Click()
vb_msg = MsgBox("请输入新部门工资信息", vbOKCancel)
If vb_msg = vbCancel Then
Exit Sub
End If
Data1.Recordset.AddNew
Data1.Recordset.Fields("部门编号") = Text1.Text
Data1.Recordset.Fields("部门名称") = Text2.Text
Data1.Recordset.Fields("职务") = Text3.Text
Dada1.Recordset.Fields("月薪") = Text4.Text
Data1.Recordset.Update
End Sub
Private Sub Command2_Click()
Dim areturn As Integer
areturn = MsgBox("你确实要删除该部门工资信息吗?", vbYesNo)
If areturn = vbYes Then
Data1.Recordset.Delete
Data1.Recordset.MoveNext
If Data1.Recordset.EOF Then
Data1.Recordset.MoveLast
End If
End If
End Sub
Private Sub Command3_Click()
Dim areturn As Integer
areturn = MsgBox("你确实要修改该部门工资信息吗?", vbYesNo)
If areturn = vbYes Then
Data1.Recordset.Edit
Data1.Recordset.Fields("部门编号") = Text1.Text
Data1.Recordset.Fields("部门名称") = Text2.Text
Data1.Recordset.Fields("职务") = Text3.Text
Dada1.Recordset.Fields("月薪") = Text4.Text
Data1.Recordset.Update
End If
End Sub
Private Sub Command4_Click()
msg = InputBox("请输入该部门名称", "查找记录")
Data.recourdset.FindFirst "部门名称='" & msg & "'"
If Data1.Recordset.NoMatch Then
MsgBox "没有符合条件的工资信息"
Else
MsgBox "符合条件的部门为" & Data1.Recordset.Fields(1)
End If
End Sub
Private Sub Command5_Click()
Data1.Recordset.MovePrevious
If Data1.Recordset.BOF Then
Data1.Recordset.MoveFirst
MsgBox ("已经是第一条记录了!")
End If
End Sub
Private Sub Command6_Click()
Data1.Recordset.MoveNext
If Data1.Recordset.EOF Then
MsgBox ("已经是最后一条记录了!")
End If
End Sub
Private Sub Command7_Click()
Form1.Show
Form4.Hide
End Sub