




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、期末作业题 目: 企业职工安全教育管理系统 学生姓名: 冯晨阳 学 号: 0990801079 系部名称: 安全工程 专业班级: 劳动安全1班 指导教师: 胡广霞 评定成绩: 年 月 日目 录目 录1 引言1.1课题背景1.2课程设计目的1.3课程设计任务2 系统结构分析2.1 需求分析2.2 功能模块图3 数据库设计3.1 概念结构设计3.2逻辑结构设计3.3数据库表的建立4 系统设计4.1职工基本信息管理4.2.三级教育信息管理模块4.3事故演练模块4.4 事故统计分析模块4.5 密码修改5系统测试及结果5.1系统调试5.2 测试结果6 系统技术实现6.1 Access6.2 Visual
2、 Basic参考文献附录 部分程序代码1 引言1.1课题背景1.2课程设计目的系统地掌握需求分析、数据库设计、编码实现、测试等软件开发的流程,提高自身分析问题、解决问题的能力。1.3课程设计任务本课程设计任务是通过企业信息管理系统的设计与实现,将所学的数据库系统概论理路结合实际课程任务,进一步学习数据库系统的设计与开发,提高实践动手能力,系统使用Visual basic和2 系统结构分析2.1 需求分析2.2 功能模块图根据需求和系统分析,可以设计出系统的总体功能模块,如图2.1所示。企业安全教育管理系统系统密码修改三级教育管理事故演练管理职工信息管理事故演练统计图2.1 系统功能模块示意图1
3、.系统密码修改功能,其功能模块如下图2.2所示。系统密码修改修改密码用户登录职工信息管理模块职工基本信息打印职工信息职工信息维护图2.2 用户密码修改 图2.3 职工信息管理模块2.职工信息管理模块,保存和更新数据信息,职工基本信息,包括编号,姓名,出生年月,工作时间,职位,职称,备注等数据,实现对应模块的添加,浏览,删除和修改。模块如上图2.3所示。3.三级教育信息管理模块:保存和更新数据信息,包括编号、教育级别、培训时间、培训人、以及受训人等数据,实现设置、添加和修改信息功能。模块如图2.4所示。 三级教育管理模块教育信息添加打印三级教育三级教育维护 事故演练管理模块事故演练添加打印事故演
4、练事故演练维护 图2.4三级教育管理模块 图2.5 事故演练管理模块4.事故演练管理模块:保存和更新数据信息,包括演练部门,演练时间,演练内容等数据,实现设置、添加和修改信息功能。功能模块如图2.5所示。5.事故演练统计功能实现对事故演练信息的统计,通过条形图直观的显示出来,并实现导出excel功能。功能模块如图2.6所示。按部门统计按时间统计数据导出到表格事故演练统计模块 图2.6 事故演练统计3 数据库设计3.1 概念结构设计通过对用户需求进行综合、归纳和抽象,形成一个独立于具体数据库的概念模型。根据前面的设计规划处实体有:用户实体、总体。构建E-R图用来描述本系统中的概念模型。(1)用户
5、实体包含的属性:用户名、密码、用户类型。用户实体与各属性是对应的关系,各属性之间则是部分存在对应关系,如用户名确定,则可以推断其它两个属性,但是密码确定,却不能推断其它属性,用户实体E-R图如图3.1所示。管理人员用户名密码图3.1 用户实体E-R图(2)根据分E-R图和需求分析,可得到总E-R图,如图3.2所示。姓名职工编号工种职位文化程度出生日期单位部门性别 类别备注工作时间记录职工基本信息数据库姓名教育编号受训人考核结果教育级别培训内容记录三级教育信息数据库 时间事故演练部门演练内容 时间记录事故演练信息数据库3.2逻辑结构设计根据以上的E-R,结合关系数据库理论原则,可以得到以下的关系
6、模型:(1)登陆表:(存放管理员用户名和密码)(2)三级安全教育培训情况表;(3)事故演练记录表;(4)职工基本信息登记表;我们用数据字典来罗列关系模型的属性及其描述,本学生管理系统的数据字典如表3.1所示。表3.1 职工基本信息数据字典名字描述数据类型职工编号描述职工编号的数据50变长字符串姓名描述姓名的数据50变长字符串性别描述性别的数据50变长字符串出生日期描述出生日期的数据50变长字符串文化程度描述文化程度的数据50变长字符串工作时间描述工作时间的数据50变长字符串单位部门描述单位部门的数据50变长字符串职位描述职位的数据50变长字符串工种描述工种的数据50变长字符串类别描述类别的数据
7、50变长字符串3.2三级安全教育培训情况表数据字典名字描述数据类型职工编号描述职工编号的数据50变长字符串姓名描述姓名的数据50变长字符串教育级别描述教育级别的数据50变长字符串培训时间描述培训时间的数据50变长字符串培训内容描述培训内容的数据250变长字符串考核结果描述考核结果的数据50变长字符串培训人描述培训人的数据50变长字符串3.3三级安全教育培训情况表数据字典名字描述数据类型演练部门描述演练部门的数据50变长字符串演练内容描述演练内容的数据250变长字符串时间描述演练时间的数据50变长字符串3.3数据库表的建立在设计数据库表结构之前,首先要创建一个数据库,企业安全教育管理系统选用Ac
8、cess 2003创建用户数据库,其建设过程如图3.3图3.6所示。图3.3 创建数据库界面图3.4 职工基本信息表图3.5 三级安全教育培训情况表图3.6 事故演练记录表图3.7 用户登录表4 系统设计4.1职工基本信息管理当用户选定了添加职工基本信息按钮后,会出现以下界面,如图图4.1 添加职工信息2.维护职工基本信息为了方便查看,在程序中使用了DataGrid控件。修改信息时,点击修改后,text控件才变为可修改状态,修改后如下图4.3所示。图4.2 职工信息维护修改成功后将弹出如下提示框,如图4.3。图4.5 提示框删除时会出现如下提示框如图4.4图4.4 删除提示3. 打印职工基本信
9、息打印职工基本信息界面如下图4.5。图4.5 打印职工信息4.2.三级教育信息管理模块1.三级教育记录添加 图4.6 三级教育记录添加2. 三级教育记录维护图4.7 三级教育记录维护4.3事故演练模块1事故演练记录添加4.8事故演练添加4.4 事故统计分析模块图4.9 事故演练统计分析4.5 密码修改用于管理员修改密码,界面简单,如下图4.10图4.10 密码修改图4.11 错误提示图4.12修改成功提示5系统测试及结果5.1系统调试在系统投入使用前要进行一系列测试,以保证更高的系统准确性,数据要按照标准测试要求进行测试,如边界数据、关联数据、相似区分数据、正常使用数据、大小写等。经调试后确认
10、本系统,已完成分析阶段所要求的所有功能,可以投入使用。5.2 测试结果兼容性:软件在win7系统运行正常,反应迅速,测试过程中没有出现崩溃,卡死等现象。功能实现:各个模块,功能完全正常,符合设计预期。其他:软件大小2mb,小巧实用,此为第一版,以后会进行功能上的改良和完善,加入用户管理系统,管理员超级密码,窗口管理系统,访客查询数据系统等。6 系统技术实现6.1 Access 6.2 Visual BasicVisual Basic是一种由微软公司开发的包含协助开发环境的事件驱动编程语言。从任何标准来说,VB都是世界上使用人数最多的语言不仅是盛赞VB的开发者还是抱怨VB的开发者的数量。它源自于
11、BASIC编程语言。VB拥有图形用户界面(GUI)和快速应用程序开发(RAD)系统,可以轻易的使用DAO、RDO、ADO连接数据库,或者轻松的创建ActiveX控件。程序员可以轻松的使用VB提供的组件快速建立一个应用程序。参考文献1 VisualBasic范例开发大全, 隋丽娜, 清华大学出版社, 2010.62 数据库技术,黄平,机械工业出版社,20023Visual Basic +Access 数据库开发与实例, 刘文涛,清华大学出版社,2006.10附录 部分程序代码1 密码修改部分代码Private Conn As ADODB.ConnectionPrivate rs As ADODB
12、.RecordsetDim cnt As IntegerPrivate Sub Command1_Click() If Trim(Text1.Text) = "" Then MsgBox "没有这个用户", vbOKOnly + vbExclamation, "" Text1.SetFocus Exit Sub End If Dim sql As String Set rs = New ADODB.Recordset rs.CursorLocation = adUseClient sql = "select * from 登
13、录表 where 用户名='" & Text1.Text & "'" rs.Open sql, Conn, 2, 2 If rs.EOF = True Then MsgBox "没有这个用户", vbOKOnly + vbExclamation, "" Text1.SetFocus Else '检验密码是否正确 If Trim(rs.Fields(1) = Trim(Text2.Text) Then If Trim(Text3.Text) = "" Or Trim(
14、Text4.Text) = "" Then MsgBox "密码不能为空", , "提示" Else If Trim(Text3.Text) <> Trim(Text4.Text) Then ' userID = text1.Text 'userpow = rs.Fields(2) MsgBox "新密码不相同!", , "提示" Text3 = "" Text4 = "" Text3.SetFocus Else rs.Fiel
15、ds("密码") = Trim(Text4.Text) rs.Update rs.Close MsgBox "修改成功", , "恭喜" Unload Me End If End If Else MsgBox "原密码不正确", vbOKOnly + vbExclamation, "" Text2 = "" Text2.SetFocus cnt = cnt + 1 End If End IfIf cnt = 3 ThenMsgBox "原密码错误超过3次"
16、, , "提示" Unload MeEnd IfEnd SubPrivate Sub Command3_Click()Unload MeEnd SubPrivate Sub Form_Load()Set Conn = New ADODB.ConnectionConn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & App.Path & "企业安全教育管理.mdb"Conn.Open '打开数据库cnt = 0End Sub
17、2 添加职工信息代码Private Sub Form_Load()Set Conn = New ADODB.ConnectionConn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & App.Path & "企业安全教育管理.mdb"Conn.Open '打开数据库Set rs = New ADODB.Recordsetrs.CursorLocation = adUseClientrs.Open "职工基本信息登记表",
18、 Conn, 2, 2End SubPrivate Sub Command1_Click() For i = 0 To 4 If Trim(Text(i).Text) = "" Then MsgBox "记录不能为空!", vbOKOnly + vbInformation, "提示" Text(i).SetFocus Exit Sub End If Next rs.AddNew '添加新记录 rs.Fields("职工编号") = Trim(Text(0).Text) rs.Fields("姓名&
19、quot;) = Trim(Text(1).Text) rs.Fields("性别") = Combo1.Text rs.Fields("出生日期") = DTPicker1.Value rs.Fields("文化程度") = Combo2.Text rs.Fields("工作时间") = DTPicker2.Value rs.Fields("单位部门") = Trim(Text(2).Text) rs.Fields("职位") = Trim(Text(3).Text) rs
20、.Fields("职称") = Combo3.Text rs.Fields("类别") = Combo4.Text rs.Fields("备注") = Trim(Text(4).Text) rs.Update '更新记录 MsgBox "添加成功", , "成功" Unload Me End SubPrivate Sub Command2_Click() '退出Unload MeEnd Sub3 职工信息维护代码Private Conn As ADODB.ConnectionPr
21、ivate rs As ADODB.RecordsetPrivate rschaxun As ADODB.RecordsetPrivate Sub Command2_Click()If Command2.Caption = "修改" Then '点击修改按钮后,按钮标题改为确认修改,完成修改操作 Command2.Caption = "确认修改" Text(0).Enabled = TrueText(1).Enabled = TrueText(2).Enabled = TrueText(3).Enabled = TrueText(4).Enabl
22、ed = TrueText(5).Enabled = TrueText(6).Enabled = TrueText(7).Enabled = TrueText(8).Enabled = TrueText(9).Enabled = TrueText(10).Enabled = True Else rs.Fields("职工编号") = Trim(Text(0).Text) rs.Fields("姓名") = Trim(Text(1).Text) rs.Fields("性别") = Trim(Text(2).Text) rs.Fields
23、("出生日期") = Trim(Text(3).Text) rs.Fields("文化程度") = Trim(Text(4).Text) rs.Fields("单位部门") = Trim(Text(5).Text) rs.Fields("职位") = Trim(Text(6).Text) rs.Fields("工作时间") = Trim(Text(7).Text) rs.Fields("类别") = Trim(Text(8).Text) rs.Fields("职称&
24、quot;) = Trim(Text(9).Text)rs.Fields("备注") = Trim(Text(10).Text) Text(0).DataField = "职工编号" rs.Update '更新记录 DataGrid1.Refresh '更新DataGrid1 MsgBox "修改成功" Command2.Caption = "修改" Text(0).Enabled = FalseText(1).Enabled = FalseText(2).Enabled = FalseText(3
25、).Enabled = FalseText(4).Enabled = FalseText(5).Enabled = FalseText(6).Enabled = FalseText(7).Enabled = FalseText(8).Enabled = FalseText(9).Enabled = FalseText(10).Enabled = FalseEnd IfEnd SubPrivate Sub Command3_Click()'删除记录Dim a As StringDim b As Stringa = "是否确定要删除记录" & Text(0).T
26、extb = rs.RecordCountIf b = 0 Then Exit SubIf b = 1 ThenIf MsgBox(a, vbOKCancel, "删除记录?") = vbCancel Then Exit Sub End Ifrs.DeleteText(0) = ""Text(1) = ""Text(2) = ""Else If Not rs.EOF And Not rs.BOF Then If MsgBox(a, vbOKCancel, "删除记录?") = vbCancel
27、Then Exit Sub Else rs.Delete rs.MoveNext End If If rs.EOF Then rs.MovePrevious End IfText(0).DataField = "职工编号" Text(1).DataField = "姓名" Text(2).DataField = "性别" Text(3).DataField = "出生日期" Text(4).DataField = "文化程度" Text(5).DataField = "单位部门&quo
28、t; Text(6).DataField = "职位" Text(7).DataField = "工作时间" Text(8).DataField = "类别" Text(9).DataField = "职称" Text(10).DataField = "备注" End IfDataGrid1.Refresh '更新DataGrid1End SubPrivate Sub Command4_Click()Unload MeEnd SubPrivate Sub Form_Load()Set C
29、onn = New ADODB.ConnectionConn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & App.Path & "企业安全教育管理.mdb"Conn.Open '打开数据库Set rs = New ADODB.Recordsetrs.CursorLocation = adUseClientrs.Open "职工基本信息登记表", Conn, 2, 2For i = 0 To 10 Set Text(i)
30、.DataSource = rsNext Text(0).DataField = "职工编号" Text(1).DataField = "姓名" Text(2).DataField = "性别" Text(3).DataField = "出生日期" Text(4).DataField = "文化程度" Text(5).DataField = "单位部门" Text(6).DataField = "职位" Text(7).DataField = "
31、工作时间" Text(8).DataField = "类别" Text(9).DataField = "职称" Text(10).DataField = "备注" Set DataGrid1.DataSource = rs '为DataGrid1付值DataGrid1.RefreshText(0).Enabled = FalseText(1).Enabled = FalseText(2).Enabled = FalseText(3).Enabled = FalseText(4).Enabled = FalseText
32、(5).Enabled = FalseText(6).Enabled = FalseText(7).Enabled = FalseText(8).Enabled = FalseText(9).Enabled = FalseText(10).Enabled = FalseEnd SubPrivate Sub Command1_Click()'判断是否按照要求添加记录,如有空项,提示并结束程序 If Trim(Text1.Text) = "" Then MsgBox "请输入完整的信息!", vbOKOnly + vbInformation, &qu
33、ot;提示" Exit Sub End If Dim sql As String If Option1.Value = True Then sql = "select * from 职工基本信息登记表 where 职工编号='" & Trim(Text1.Text) & "'" Else sql = "select * from 职工基本信息登记表 where 姓名='" & Trim(Text1.Text) & "'" End If Set
34、 rschaxun = New ADODB.Recordset rschaxun.CursorLocation = adUseClient rschaxun.Open sql, Conn, 1, 1 '按照查询条件打开表 If rschaxun.EOF Then '如果没查到 给与提示 MsgBox "没有找到符合条件的记录!", vbOKOnly + vbInformation, "提示" Else Set DataGrid1.DataSource = rschaxun '查到后更新DataGrid1 DataGrid1.Ref
35、resh For i = 0 To 10 Set Text(i).DataSource = rschaxun Next Text(0).DataField = "职工编号" Text(1).DataField = "姓名" Text(2).DataField = "性别" Text(3).DataField = "出生日期" Text(4).DataField = "文化程度" Text(5).DataField = "单位部门" Text(6).DataField = &q
36、uot;职位" Text(7).DataField = "工作时间" Text(8).DataField = "类别" Text(9).DataField = "职称" Text(10).DataField = "备注" End IfEnd Sub4.打印三级教育信息代码Private Sub Command1_Click()If Trim(Text1.Text) = "" Then MsgBox "请输入完整的信息!", vbOKOnly + vbInformat
37、ion, "提示" Exit SubEnd If Dim rs As ADODB.Recordset Set rs = DataEnvironment1.rsCommand4 If rs.State <> adStateClosed Then rs.Close End If Dim sql As String If Option1.Value = True Then sql = "select * from 三级安全教育培训情况表 where 职工编号='" & Trim(Text1.Text) & "
38、9;" Else sql = "select * from 三级安全教育培训情况表 where 姓名='" & Trim(Text1.Text) & "'" ' 连接数据库 End If rs.Open sql If (rs.BOF Or rs.EOF) Then '如果当前没有员工信息 MsgBox "没有找到!" End If DataGrid1.DataMember = "Command4"End SubPrivate Sub Command2_Click()DataReport2.ShowEnd SubPrivate Sub Command3_Click()Unload MeEnd Sub5 事故演练分析代码Private Conn As ADODB.ConnectionPrivate rs As ADODB.RecordsetPrivate Sub Command1_Click()Set Conn = New ADODB.Conn
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 水利水电工程考试真题解析及答案
- 行政管理专业经济法概论考试试题及答案
- 物业服务确定及升级合作协议
- 汽车电气系统维护与修理考试题及答案
- 互联网行业技术工作证明(7篇)
- 物理学光学与声学练习题
- 眼睛面诊知识培训课件
- 2025年市政工程考试高分答案技巧分享及试题及答案
- 家电维修售后服务协议书
- 2024水利水电工程职称考试试题及答案
- 婴幼儿体格测量胸围的测量
- 幼儿园故事课件:《胸有成竹》
- 锂离子电池内阻的影响因素
- DB34-T 4170-2022 软阔立木材积表
- 《山西革命文化》课程教学大纲
- 工程质量问题整改回执单
- 汽车租赁有限公司车队及车辆管理制度
- 第9章-辅助技术与环境改造
- 民事非法强占土地上诉状模板
- 铁路基础知识-课件
- 2022公务员录用体检操作手册(试行)
评论
0/150
提交评论