版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、数 据 库 课 程 设 计设计题目:人事档案管理系统的设计 计算机科学与技术系系 别:_班 级:_学 号:_老师姓 名:_指 导 教 师:_ 2012年12月27日目 录需求概述2数据库设计21、需求概述概要 人才是企、事业单位的宝贵财富,而人事管理系统又是人力资源管理的核心,一个正常运作的公司必定有一个健全的人事管理系统,来管理员工的信息。因此,快捷、准确、方便、高效的人事档案管理系统就成为企、事业单位的基本需求之一。此系统提供员工信息更改或删除等的功能,使公司的人事管理方便快捷而又清晰。面对各种不同种类的信息,需要合理的数据库结构来保存数据信息以及有效地程序结构支持各种数据操作的执行。2、
2、 系统功能概要人事档案管理系统必须具备以下基本功能:1) 人事档案管理数据库及表的操纵。实现对人事档案管理数据库及其表的创建,表中数据维护。2) 人事档案信息的管理。实现人事信息的添加、保存、修改和删除等。3) 人事档案信息的应用。实现人事信息的查询、统计、人事资源的利用等。3、 系统结构总图1)系统结构总图如下:人事档案管理系统主界面 按离职按在职查询查询退出删除添加新增离职变动增加更新加班出差考勤删除修改删除查询添加人事档案管理统计决策查询教育培训人事变动 日常考核 部门管理2)实体E-R图根据人事管理系统的系统分析与功能设计,人事管理系统中主要包括部门信息实体,出差信息实体,加班信息实体
3、,教育培训信息实体,考勤信息实体等,下面为它们的E-R图:部门名称姓名培训名称工号培训时间ID教育培训信息性别ID出生日期姓名工号姓名工号人事档案信息考勤信息考勤休假档案编号离职工作部门部门名称部门主管出差部门编号加班离职信息部门电话部门信息部门名称姓名加班信息出差信息备注工号部门级别信息变动上报日期IDID工号人事变动信息ID变动日期工号姓名3)由实体E-R图得到的关系模型如下:部门信息表(部门编号 部门名称 部门级别 部门主管 部门电话 备注)出差信息表(ID 工号 姓名 部门名称 职务 代理人 出差目的 出差地点 出差起始日期 出差截止日期 备注)加班信息表(ID 上报日期 工号 姓名
4、部门名称 工作内容 工作地点 加班起始时间 加班结束时间 加班时数 加班费 其他费用 费用合计)教育培训信息表(ID 工号 姓名 部门名称 培训名称 培训时间 培训成绩 培训费用 备注)考勤信息表(ID 工号 姓名 部门名称 出勤 休假 事假 病假 公假 婚假 丧假 迟到 早退 旷职 公差 月份 年)离职信息表(工号 姓名 部门名称 性别 是否离职 离职日期 备注)人事变动信息表(ID 工号 姓名 原部门名称 原职务 现部门名称 现职务 变动说明)人事档案信息表(档案编号 工号 姓名 曾用名 性别 出生日期 身份证号 相片 籍贯 工龄 聘用日期 家庭住址 联系电话 部门名称 婚姻状况 政治面貌
5、 民族 技术职称 文化程度 行政职务 用工性质 健康状况 工资级别 用工状态)2、 运行环境 4.1 这次人事档案管理数据库的后台数据库环境是Microsoft SQL Server 2005,因为这款软件比较常用且方便。 4.2 前台界面设计的环境是运用Microsoft Visual Basic 6.0,其中需要掌握的知识有: 1)VB可视化编程基础:VB对象的概念,窗体和基本控件 2)VB语言基础:数据类型,常量与变量,运算符表达和式,VB程序结构和编码规则 3)VB控制结构:顺序结构,选择结构,循环结构 ,辅助控制语句,程序调试 4)数组和自定义类型:数组的基本操作,列表框和组合框 5
6、)过程:函数过程的定义和调用,子过程的定义和调用,参数传递,过程的嵌套和递归调用,变量的作用域 6)用户界面设计:各种控件的应用,以及对话框的应用,菜单设计 7) 数据库应用基础:VB数据库的访问,记录集对象4、前台界面设计 1)本系统的前台开发工具为Microsoft visual basic 6.0 ,除了一些常用的控件Commandbutton,Combobox,Textbox和Label外,这里还使用了控件ADO和DataGrid。ADO用来链接数据库与前台开发程序,指定链接的数据源和要访问的数据,并通过绑定要使用的数据来显示所获得的数据。DataGrid控件的作用是以表格的形式显示结
7、果中的全部数据,但允许在表格中增加,删除和修改纪录。具体的链接过程如下:ADO(步骤)(1)选择“工程”菜单中的部件命令,打开部件对话框,在控件选项中选择Microsoft ADO Data Control 6.0(OLEDB)复选框,单击确定,工具栏中会出现ADO数据控件的图标,其微帮助名称为:Adodc。(2)在当前窗体上添加一个ADO控件。(3)打开ADO的属性页,设置使用的ODBC数据资源的名称,(如果没有则新建一个)即我所使用的数据库wangjiaDSN;设置身份验证,包括用户名称和密码;设置纪录源,命令类型选择adCmdTable.(因为我所用到的记录源都是表,所以设置为该属性。a
8、dCmdTable.表示的是数据源的属性是一个表名,表示其结果级是对该表执行无条件查询后得到的结果),表名或存储过程名则选择自己所要用到的表。到此,便链接成功。DataGrid(步骤)(1)同ADO控件一样,选择选择“工程”菜单中的部件命令,打开部件对话框,在控件选项中选择Microsoft DataGrid Control 6.0(OLEDB)复选框,单击确定,工具栏中会出现DataGrid数据控件的图标 。(2)在当前窗体上添加一个DataGrid控件。(3)打开DataGrid的属性页,设置标题名,列,列标题与其对应的数据段。颜色,字体等可根据需要设定。将DataGrid的Records
9、ource设置为该窗体对应的Adodc;另外可检索字段和删除字段,这样可以显示自己想要的字段,而不是将adodc所对应的内容全部显示出来。到此,链接成功。2)窗体及其所对应的源代码2.1人事档案管理系统主界面源代码Private Sub Form_Resize() On Error Resume Next Me.Width = 7170 Me.Height = 6200End SubPrivate Sub Command1_Click() Load main_rsxx main_rsxx.ShowEnd SubPrivate Sub Command2_Click() Load main_bmg
10、l main_bmgl.ShowEnd SubPrivate Sub Command3_Click() Load main_rckh main_rckh.ShowEnd SubPrivate Sub Command4_Click() Load main_rsbd main_rsbd.ShowEnd SubPrivate Sub Command5_Click() Load main_jypx main_jypx.ShowEnd SubPrivate Sub Command6_Click() Load main_jccx main_jccx.ShowEnd SubPrivate Sub Comma
11、nd7_Click() Load main_tj main_tj.ShowEnd SubPrivate Sub Command8_Click()If MsgBox(确定要退出本系统, vbInformation + vbYesNo, 信息提示) = vbYes Then Unload Me End Else End IfEnd Sub2.2 人事档案信息查询、增加、修改与删除:源代码Private Sub Form_Load() Combo1.AddItem (档案编号) Combo1.AddItem (工号) Combo1.AddItem (姓名) Combo1.AddItem (性别) C
12、ombo1.AddItem (身份证号) Combo1.AddItem (部门名称) Combo1.AddItem (用工性质) Combo1.AddItem (员工状态) Combo1.ListIndex = 0End SubPrivate Sub Text1_GotFocus() Text1.SelStart = 0 设置选定的起始位置 Text1.SelLength = Len(Text1.Text) 设置选定的长度。End SubPrivate Sub CmdAdd_Click() 生成档案编号 Dim dabh As Long Dim rs1 As New ADODB.Records
13、et rs1.Open select * from 人事档案信息表 order by 档案编号, Cnn, adOpenKeyset, adLockOptimistic If rs1.RecordCount 0 Then If rs1.EOF = False Then rs1.MoveLast dabh = Val(Right(rs1.Fields(档案编号), 5) + 1 main_rsxx_lr.Txt1(0).Text = C- & Format(dabh, 00000) Else main_rsxx_lr.Txt1(0).Text = C-00001 End If 生成工号 main
14、_rsxx_lr.Txt1(1).Text = Right(main_rsxx_lr.Txt1(0), 5) rs1.Close 调用main_rsxx_lr窗体 Load main_rsxx_lr main_rsxx_lr.Show main_rsxx_lr.Caption = 人事档案信息录入窗口 main_rsxx_lr.Label10.Caption = 人事档案信息录入End SubPrivate Sub CmdFind_Click() Adodc1.RecordSource = select * from 人事档案信息表 where (人事档案信息表. & Combo1.Text
15、& like + + Text1.Text + +%) Adodc1.RefreshEnd SubPrivate Sub CmdModify_Click() On Error GoTo picview Dim i As Integer For i = 0 To 3 对应列 DataGrid1.Col = i main_rsxx_lr.Txt1(i) = DataGrid1.Text Next i DataGrid1.Col = 4 main_rsxx_lr.Cbo1 = DataGrid1.Text DataGrid1.Col = 5 main_rsxx_lr.DTP1.Value = Dat
16、aGrid1.Text DataGrid1.Col = 6 main_rsxx_lr.Txt1(4) = DataGrid1.Text DataGrid1.Col = 7 main_rsxx_lr.Lblxplj.Caption = DataGrid1.Text On Error Resume Next main_rsxx_lr.PicPhoto.Picture = LoadPicture(DataGrid1.Text) main_rsxx_lr.Image1.Picture = LoadPicture(DataGrid1.Text) DataGrid1.Col = 8 main_rsxx_l
17、r.Txt1(5) = DataGrid1.Text DataGrid1.Col = 9 main_rsxx_lr.Txt1(6) = DataGrid1.Text DataGrid1.Col = 10 main_rsxx_lr.DTP2.Value = DataGrid1.Text DataGrid1.Col = 11 main_rsxx_lr.Txt1(7) = DataGrid1.Text DataGrid1.Col = 12 main_rsxx_lr.Txt1(8) = DataGrid1.Text DataGrid1.Col = 13 main_rsxx_lr.DataCombo1
18、= DataGrid1.Text DataGrid1.Col = 14 main_rsxx_lr.Cbo2 = DataGrid1.Text DataGrid1.Col = 15 main_rsxx_lr.Cbo3 = DataGrid1.Text DataGrid1.Col = 16 main_rsxx_lr.Txt1(9) = DataGrid1.Text DataGrid1.Col = 17 main_rsxx_lr.Txt1(10) = DataGrid1.Text DataGrid1.Col = 18 main_rsxx_lr.Cbo4 = DataGrid1.Text DataGr
19、id1.Col = 19 main_rsxx_lr.Txt1(11) = DataGrid1.Text DataGrid1.Col = 20 main_rsxx_lr.Cbo5 = DataGrid1.Text DataGrid1.Col = 21 main_rsxx_lr.Txt1(12) = DataGrid1.Text DataGrid1.Col = 22 main_rsxx_lr.Cbo6 = DataGrid1.Text DataGrid1.Col = 23 main_rsxx_lr.Cbo7 = DataGrid1.Text Load main_rsxx_lr main_rsxx_
20、lr.Show main_rsxx_lr.Caption = 人事档案信息修改窗口 main_rsxx_lr.Label10.Caption = 人事档案信息修改 Exit Subpicview: MsgBox Err.Description, , 提示窗口End SubPrivate Sub CmdDelete_Click() Dim a As String If Adodc1.Recordset.RecordCount 0 Then a = MsgBox(您确实要删除这条数据吗?, vbYesNo) If a = vbYes Then Adodc1.Recordset.Delete Ado
21、dc1.Refresh End If Else MsgBox (没有要删除的数据!) End IfEnd SubPrivate Sub CmdExit_Click() Call CmdEnd(Me)End Sub2.3部门管理添加、修改与删除:源代码Private Sub Form_Unload(Cancel As Integer) frm_main.Enabled = TrueEnd SubPrivate Sub CmdAdd_Click() Load main_bmgl_add main_bmgl_add.Show main_bmgl.Enabled = FalseEnd SubPriva
22、te Sub CmdModify_Click() Load main_bmgl_update main_bmgl_update.Show main_bmgl.Enabled = FalseEnd SubPrivate Sub CmdDelete_Click() Dim a As String If Adodc1.Recordset.RecordCount 0 Then a = MsgBox(您确实要删除这条数据吗?, vbYesNo) If a = vbYes Then Adodc1.Recordset.Delete Adodc1.Refresh End If Else MsgBox (没有要
23、删除的数据!) End IfEnd SubPrivate Sub CmdExit_Click() Call CmdEnd(Me)End Sub2.4日常考核添加、修改与删除:源代码Option ExplicitPrivate Sub cmdModity_Click() Select Case SSTab1.Tab Case 0 blnAdd0 = False If Adodc1.Recordset.RecordCount 0 Then If DataCombo1.Text = Then MsgBox 请选择工号! Else Load main_rckh_kq main_rckh_kq.Show
24、 End If Else MsgBox 没有您要修改的数据,请先添加数据! End If Case 1 blnAdd1 = False If Adodc2.Recordset.RecordCount 0 Then Load main_rckh_jb main_rckh_jb.Show Else MsgBox 没有您要修改的数据,请先添加数据! End If Case 2 blnAdd2 = False If Adodc3.Recordset.RecordCount 0 Then Load main_rckh_cc main_rckh_cc.Show Else MsgBox 没有您要修改的数据,
25、请先添加数据! End If End SelectEnd SubPrivate Sub Form_Load() Set DataGrid1.DataSource = Adodc1 Dim i As Integer For i = 0 To DataGrid1.Columns.Count - 1 DataGrid1.Columns(i).Width = 840 Next iEnd SubPrivate Sub DataCombo1_Change() Adodc1.RecordSource = select * from 考勤信息表 where 工号 like + + DataCombo1.Tex
26、t + +% Adodc1.RefreshEnd SubPrivate Sub CmdAdd_Click() Select Case SSTab1.Tab Case 0 blnAdd0 = True If DataCombo1.Text = Then MsgBox 请选择工号! Else If Adodc1.Recordset.RecordCount = 0 Then Load main_rckh_kq main_rckh_kq.Show Else MsgBox 此员工考勤记录已存在,只能进行修改! End If End If Case 1 blnAdd1 = True Load main_r
27、ckh_jb main_rckh_jb.Show Case 2 blnAdd2 = True Load main_rckh_cc main_rckh_cc.Show End SelectEnd SubPrivate Sub CmdDelete_Click() Select Case SSTab1.Tab Case 0 If Adodc1.Recordset.RecordCount 0 Then Adodc1.Recordset.Delete Adodc1.Refresh End If Case 1 If Adodc2.Recordset.RecordCount 0 Then Adodc2.Re
28、cordset.Delete Adodc2.Refresh End If Case 2 If Adodc3.Recordset.RecordCount 0 Then Adodc3.Recordset.Delete Adodc3.Refresh End If End SelectEnd SubPrivate Sub CmdEnd_Click() Unload MeEnd Sub2.5人事变动添加与删除:源代码Option ExplicitPrivate Sub CmdAdd_Click() Select Case SSTab1.Tab Case 0 Dim dabh As Long Dim gh
29、 As Long Dim rs1 As New ADODB.Recordset rs1.Open select * from 人事档案信息表 order by 档案编号, Cnn, adOpenKeyset, adLockOptimistic If rs1.RecordCount 0 Then If rs1.EOF = False Then rs1.MoveLast dabh = Val(Right(rs1.Fields(档案编号), 5) + 1 main_rsxx_lr.Txt1(0).Text = C- & Format(dabh, 00000) Else main_rsxx_lr.Tx
30、t1(0).Text = C-00001 End If main_rsxx_lr.Txt1(1).Text = Right(main_rsxx_lr.Txt1(0).Text, 5) rs1.Close Load main_rsxx_lr main_rsxx_lr.Show main_rsxx_lr.Caption = 人事档案信息录入窗口 main_rsxx_lr.Label10.Caption = 人事档案信息录入 Case 1 Load main_rsbd_yglz main_rsbd_yglz.Show Case 2 Load main_rsbd_rsbd main_rsbd_rsbd
31、.Show End SelectEnd SubPrivate Sub CmdDelete_Click() Select Case SSTab1.Tab Case 0 If Adodc1.Recordset.RecordCount 0 Then Adodc1.Recordset.Delete Adodc1.Refresh End If Case 1 If Adodc2.Recordset.RecordCount 0 Then Adodc2.Recordset.Delete Adodc2.Refresh End If Case 2 If Adodc3.Recordset.RecordCount 0
32、 Then Adodc3.Recordset.Delete Adodc3.Refresh End If End SelectEnd SubPrivate Sub CmdEnd_Click() Unload MeEnd Sub2.6教育培训添加与删除:源代码Private Sub Form_Load() 向combo1控件中添加查询所需的字段 Combo1.AddItem (工号) Combo1.AddItem (姓名) Combo1.AddItem (部门名称) Combo1.AddItem (培训名称) Combo1.ListIndex = 0End SubPrivate Sub Combo
33、1_KeyDown(KeyCode As Integer, Shift As Integer) If KeyCode = vbKeyReturn Then Text1.SetFocus 按【Enter】键,使Text1控件获得焦点End SubPrivate Sub Text1_GotFocus() Text1.SelStart = 0 设置选定的起始位置 Text1.SelLength = Len(Text1.Text) 设置选定的长度。End SubPrivate Sub CmdAdd_Click() 加载窗体 Load main_jypx_lr main_jypx_lr.ShowEnd
34、SubPrivate Sub CmdFind_Click() 按选择的字段和输入的内容查询教育培训信息 Adodc1.RecordSource = select * from 教育培训信息表 where (教育培训信息表. & Combo1.Text & like + + Text1.Text + +%) Adodc1.RefreshEnd SubPrivate Sub CmdDelete_Click() 删除教育培训信息 Dim a As String If Adodc1.Recordset.RecordCount 0 Then a = MsgBox(您确实要删除这条数据吗?, vbYesNo) If a = vbYes Then Adodc1.Recordset.Delete Adodc1.Refresh End If Else MsgBox (没有要删除的数据!) End IfEnd SubPrivate Sub CmdExit_Click() Call CmdEnd(Me)Unload MeEnd Sub2.7决策统计:源代码Option ExplicitPrivate Sub Command1_Click() If Option1.Value = True Then Adodc1.RecordSource = select & Combo1.Text &
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026江苏住院医师规范化培训考试(麻醉科Ⅱ阶段)历年参考题库含答案详解
- 2026正高面审答辩-正高027面审答辩耳鼻咽喉科学历年题库含答案详解
- 2026新疆事业单位招聘考试(文秘类)历年参考题库含答案详解
- 冰箱课程设计标准
- ug课程设计小节
- 药品库存管理系统完整版课程设计
- RFM模型客户价值分析成功案例课程设计
- Snort威胁狩猎课程设计
- 茶饼包装课程设计
- 北京制冷机房课程设计
- 间质性膀胱炎诊疗规范
- 居民健康档案死亡档案管理制度
- 2025年广东省第一次普通高中学业水平合格性考试(春季高考)语文试题(含答案详解)
- 2025年12月6日黑龙江省高级人民法院遴选加试真题及答案解析
- 构成基础知识总结
- GB/T 18015.5-2025数字通信用对绞或星绞多芯对称电缆第5部分:具有1 000 MHz及以下传输特性的对绞或星绞对称电缆水平层布线电缆分规范
- 2025年西学中培训结业考试卷带答案
- 露天矿桥吊式提升运输系统的设计思路与实际应用潜力
- 学校食堂安全汇报
- 《老年服务礼仪与沟通技巧》全套教学课件
- 数学·第五册(五年制高职) 教案 第二十一章 极限与连续 21.1.1 基本初等函数
评论
0/150
提交评论