《课程设计报告安全生产监督管理系统.doc》由会员分享,可在线阅读,更多相关《课程设计报告安全生产监督管理系统.doc(22页珍藏版)》请在三一办公上搜索。
1、目 录引言. . . . . .1 第一章 系统分析与规划. . . . .2 第二章 数据库设计. . . . .4 第三章 系统设计. . . . .5一、创建工程. . . . .5二、登录界面设计. . . .6三、编辑界面设计. . . .8四、查询界面设计. . . .14五、退出设计. . . . .17引 言随着计算机数据库管理的正规化,越来越多的人倾向于通过计算机管理数据库。开发安全生产监督管理信息系统的过程就是要实现数据处理方式由人工管理向计算机管理的转变,它在计算机技术和安全生产监督管理实践活动两者之间建立桥梁。对于一个安全管理机构来说,大量企业信息,人事信息,设施设备,
2、救援力量的管理,以及基本数据的维护都难于通过传统的方法进行管理;这就迫切需要利用计算机技术来帮助安全生产管理者来处理这些日常管理。利用电子数据库来进行安全生产监督管理大大提高了工作效率,他成为管理系统的一种趋势。在老师的指导和帮助下,我组人员利用Visual Basic 6.0 + Access 2003设计了一个大连市安全生产监督管理系统,界面简洁,运行良好。以下即为系统的结构和设计思想的介绍。l 编写目的:企业安全监督管理是安全监督局的主要日常管理工作之一,涉及到企业、人员、设备、安全防范等诸多方面,随着安全课题的深入人心,把企业安全管理工作信息化,模块化,便捷化是本系统的重点。l 系统目
3、标:本系统完成:(1)各企业各类信息(如企业基本信息、人事信息、设施设备、救援力量等)的增加、修改和删除,完成对企业安全情况的基本管理;(2)完成对企业信息的查询,分按所属地区查询、按企业名称查询。开发平台简介本安全生产监督管理信息系统的开发平台为微软Microsoft Visual Basic 6.0 以及Microsoft Access 2003。 Microsoft Access 2003简介: 使用Microsoft Access 2003,可以在单一的数据库文件中管理所有的信息。在这个文件中,用户可以将自己的数据分别保存在各自独立的存储空间中,这些空间称作表;可以使用联机窗体来查看、
4、添加及更新表中的数据;使用查询来查找并检索所要的数据;也可以使用报表以特定的版面布置来分析及打印数据。 如果要保存数据,请为每一种类型的信息创建一个表。如果要从查询、窗体或报表中的多个表中将数据合并在一起,就要定义各个表之间的关系。 如果要搜索并检索符合指定条件的数据,包括来自多个表中的数据,就要创建查询。查询的同时也可以更新或删除多条记录,并对数据执行内嵌或自定义的计算。 如果要简单地直接在某个表中查看、输入及更改数据,请创建一个窗体。在打开一个窗体时,Microsoft Access 2003将从一个或多个表中检索数据,并使用用户在“窗体向导”选择的版面布局或所创建的版面布局,将窗体显示在
5、屏幕上。 Microsoft Visual Basic 6.0简介:Visual Basic是由微软公司推出的一套完整的Windows系统软件开发工具,可用于开发Windows环境下的各类应用程序,是一种可视化、真正面向对象、采用事件驱动方式的结构化高级程序设计语言和工具的完美集成。它编程简单、方便、功能强大,具有与其它语言及环境的良好接口,不需要编程开发人员具备C/C+或者Turbo Pascal 语言知识和特别高深的专业知识,只要懂得Windows的界面及其基本操作,就可以迅速上手,而VB在程序界面设计、多媒体开发方面更是独具优势。因此特别适合初学者和业余人员使用。VB 集成开发环境 (I
6、DEIntegrated Developing Environment ) 由以下元素组成: 1 标题栏 用于显示正在开发或调试的工程名和系统的工作状态(设计态、运行态、中止态)。2 菜单栏用于显示所使用的 Visual Basic 6.0 命令。3 工具栏在编程环境下用于快速访问常用命令。缺省情况下,启动 VB后显示“标准”工具栏,附加的编辑、窗体设计和调试的工具 栏可以从“视图”菜单上的“工具栏”命令中移进或移出。4 窗体设计器用来设计应用程序的界面。启动VB 6.0后,窗体设计器中自动出现一个名为Form1的空白窗体,可以在该窗体中添加控件、图形和图片等来创建所希望的外观,窗体的外观设计
7、好后,从菜单中选择“文件”“保存窗体”在保存对话框中给出合适的文件名(注意扩展名),并选择所需的保存位置确定。需要再设计另一个窗体时,单击工具栏上的“添加窗体”按钮即可。5 控件(工具)箱由一组控件按钮组成,用于设计时在窗体中放置控件。除了缺省的工具箱布局之外,还可以通过从上下文菜单中选定“添加选项卡”并在结果选项卡中添加控件来创建自定义布局。6 弹出式(上下文)菜单在要使用的对象上单击鼠标右键即可打开快捷菜单,其上会出现与当前对象相关的经常执行的操作,以加快操作速度。7 工程管理器窗口用于浏览工程中所包含的窗体和模块,还可以从中查看代码、查看对象。8 属性窗口是VB中一个比较复杂的窗口,其中
8、列出了对选定窗体和控件的属性设置值。VB中正是通过改变属性来改变对象的特征,如大小、标题或颜色。9 对象浏览器列出工程中有效的对象,并提供在编码中漫游的快速方法。可以使用“对象浏览器”浏览在 VB中的对象和其它应用程序,查看对那些对象有效的方法和属性,并将代码过程粘贴进自己的应用程序。10 对象浏览器右击窗体中的对象、从工程管理器中点“查看代码”按钮。11窗体布局窗口Form Layout window允许使用表示屏幕的小图象来布置应用程序中各窗体的位置。12 立即、本地和监视窗口这些附加窗口是为调试应用程序提供的,它们只在 IDE 之中运行应用程序时才有效。第一章 系统分析与规划 大连市辖区
9、内生产企业众多,部分企业包含重大危险源,大连市安全生产监督管理局对各企业实施安全监督管理,但目前的安全信息管理仍是人工式的,效率低,已经不适合现在社会的需要。为了对企业基本信息、安全管理信息、企业危险源目标进行查询、统计分析,并实现对数据的管理(包括修改、增加、删除等操作)功能,建立大连市安全生产监督管理信息系统。1.系统功能规划系统开发的总体任务是实现各种信息的系统化、规范化和自动化管理,减少工作量,提高效率,增强可靠性。系统功能分析是在系统开发设计的总体任务的基础上完成,完成的功能主要有: 系统的登录 系统的编辑,包括对企业基本信息、人事信息、设施设备、救援力量的添加、修改删除。 系统的查
10、询,包括按所属地区查询和按关键字查询。 退出系统2.功能模块划分大连市安全生产监督管理信息系统登 录 编 辑查 询退 出选择区编辑区操作区按所属地区查询按关键字查询修改删除添加人事信息设施设备救援力量企业基本信息3系统流程分析第二章 数据库设计1数据库分析 数据库是信息管理系统的后台,存储着所有的信息,在信息管理系统中占有非常重要的地位。数据库结构设计的好坏对应用系统的效率及实现产生直接影响,而且好的数据库结构也较有利于程序的实现。本系统主要是方便用户查询企业基本信息和与安全管理相关的信息,具体内容如下: 企业基本信息,包括企业名称,所在区,所在镇,所在村,详细地址,电话,占地面积,安全管理制
11、度,环保等级,年产量 人事信息,包括职工总数,安全管理人员数,特种作业人员数 设施设备,包括厂房,仓库,储罐,锅炉,其他压力容器 其他救援力量,分为内部(包括应急救援人员、医护人员或医疗机构、消防栓、灭火器、其他灭火器材、自救器材)、外部(包括医院、消防队、公安、周边企业)。2数据库建立启动Access2003创建一个新的数据库,命名为“first.mdb”,保存在前面建立的工程的文件夹中。数据库中仅建立一个“企业信息表”,设置字段及数据类型如下: 第三章 系统设计一创建工程打开VB 6.0之后,选择菜单中的“新建工程”项,在“新建工程”对话框中选择“标准EXE”,建立一个标准窗体Form 1
12、。选择菜单中的“工程”,选择“添加MDI窗体”,添加一个多文档界面MDI(Multiple Document Interface),设置其“名称”为“MDIFrmmain”,并将它作为整个系统的主界面窗体。依次选择菜单中的“工程”,选择“添加窗体”,把Form 1的“MDIChild”属性设置为“True”,“名称”设为“frmwelcome”。在系统菜单中选择“工程1属性”/“通用”选项卡,在“启动对象”中选择frmwelcome,设置其为为系统的第一个界面。在这个界面中添加一个Timer1控件和一个Label1控件,设计一个倒计时,在倒计时5秒后自动进入欢迎界面:Private Sub T
13、imer1_Timer() lbltime.Caption = Str(pretime) & 秒后进入系统! If pretime = 3 Then MsgBox 您已经三次尝试进入本系统,均不成功,系统将关闭 End End If End If Case guest If txtPassword.Text = 123456 Then Me.Hide MDIFrmmain.mnuquery.Enabled = True Else MsgBox 密码无效,请重试!, , 登录 trytime = trytime + 1 txtPassword.SetFocus SendKeys home+end
14、 If trytime = 3 Then MsgBox 您已经三次尝试进入本系统,均不成功,系统将关闭 End End If End If Case Else MsgBox 用户名无效,请重试!, , 登录 txtUserName.SetFocus SendKeys home+end End SelectEnd Sub设计主界面窗体:三、设置编辑界面再添加一个普通窗体,设置其名称为“frmedit.frm”。此模块用于企业信息的编辑,添加、修改、删除。设计界面如下:控件captionSSTab1企业基本信息,人事信息,设施设备,救援力量控件captionfontsizeFrame3操作区四号F
15、rame4编辑区四号Frame5选择区四号控件名称CaptionToolTipTextCommand1cmdadd添加点击开始添加数据Command2cmdedit修改点击开始修改数据Command3cmddelete删除点击删除当前数据Command4cmdfirst首记录点击显示第一条记录Command5cmdprevious上一条点击显示当前记录的上一条记录Command6cmdnext下一条点击显示当前记录的下一条记录Command7cmdlast尾记录点击显示最后一条记录Command8cmdexit退出点击退出本界面控件属性captiondatasourcedatafieldfon
16、tsizeText1txtEnameAdodc1企业名称小五Text2txtEdistrictAdodc1所在区小五Text3txtEstreetAdodc1所在镇小五Text4txtEcountryAdodc1所在村小五Text5txtElocalAdodc1详细地址小五Text6txtEtelephoneAdodc1电话小五Text7txtEareaAdodc1占地面积小五Text8txtEsaferuleAdodc1安全管理制度小五Text9txtEendegreeAdodc1环保等级小五Text10txtEproductionAdodc1年产量小五Text11txtworkernumb
17、erAdodc1职工总数小五Text12txtsafemanAdodc1安全管理人员小五Text13txtspecialmanAdodc1特种作业人员小五Text14txtworkshopAdodc1厂房小五Text15txtstorageAdodc1仓库小五Text16txttankAdodc1储罐小五Text17txtboilerAdodc1锅炉小五Text18txtothercontainerAdodc1其他压力容器小五Text19txtemergencyAdodc1应急救援人员小五Text20txtnurseAdodc1医护人员或医疗机构小五Text21txthydrantAdodc1
18、消防栓小五Text22txtfireexterAdodc1灭火器小五Text23txtothertoolsAdodc1其他灭火器材小五Text24txtselfsavetoolsAdodc1自救器材小五Text25txthospitalAdodc1医院小五Text26txtfirehouseAdodc1消防队小五Text27txtpoliceAdodc1公安小五Text28txtEaroundAdodc1周边企业小五控件caption控件caption Label1选择企业Label16仓库(间)Label2企业名称Label17储罐(个)Label3所在区Label18锅炉(个)Label4
19、所在镇(街道)Label19其他压力容器Label5所在村Label20应急救援人员Label6详细地址Label21医护人员或医疗机构Label7电话Label22消防栓Label8占地面积Label23灭火器Label9安全管理制度Label24其他灭火器材Label10环保等级Label25自救器材Label11年产量Label26医院Label12职工总数Label27消防队Label13安全管理人员Label28公安Label14特种作业人员Label29周边企业Label15厂房(座)具体界面如下:企业基本信息:人事信息:设施设备:救援力量:代码为添加:Private Sub cm
20、dadd_Click() Dim j As Integer Select Case cmdadd.Caption Case 添加 Adodc1.Recordset.AddNew cmdadd.Caption = 确定 cmdedit.Enabled = False cmddelete.Enabled = False cmdfirst.Enabled = False cmdprevious.Enabled = False cmdnext.Enabled = False cmdlast.Enabled = False Case 确定 If txtEname.Text = Then j = MsgB
21、ox (企业名称不能为空!, vbExclamation, 提示) cmdadd.Caption = 添加 Exit Sub End If Adodc1.Recordset.Update comboEchoose1.AddItem txtEname.Text cmdadd.Caption = 添加 cmdedit.Enabled = True cmddelete.Enabled = True cmdfirst.Enabled = True cmdprevious.Enabled = True cmdnext.Enabled = True cmdlast.Enabled = True End S
22、electEnd Sub删除:Private Sub cmddelete_Click() Dim i As Integer i = MsgBox(确定要删除此记录?, vbYesNo + vbExclamation + vbdefaultbuttonl, 编辑) If i = vbYes Then Adodc1.Recordset.Delete comboEchoose1.RemoveItem Index Adodc1.Refresh End IfEnd Sub修改:Private Sub cmdedit_Click() Select Case cmdedit.Caption Case 修改
23、cmdedit.Caption = 确定 cmdadd.Enabled = False cmddelete.Enabled = False cmdfirst.Enabled = False cmdprevious.Enabled = False cmdnext.Enabled = False cmdlast.Enabled = False Case 确定 Adodc1.Recordset.Update cmdedit.Caption = 修改 cmdadd.Enabled = True cmddelete.Enabled = True cmdfirst.Enabled = True cmdpr
24、evious.Enabled = True cmdnext.Enabled = True cmdlast.Enabled = True End SelectEnd Sub退出:Private Sub cmdexit_Click() Unload MeEnd Sub首记录:Private Sub cmdfirst_Click() Adodc1.Recordset.MoveFirst cmdfirst.Enabled = False cmdprevious.Enabled = False cmdnext.Enabled = True cmdlast.Enabled = True comboEcho
25、ose1.Text = Adodc1.Recordset.Fields(企业名称).ValueEnd Sub尾记录:Private Sub cmdlast_Click() Adodc1.Recordset.MoveLast cmdfirst.Enabled = True cmdprevious.Enabled = True cmdnext.Enabled = False cmdlast.Enabled = False comboEchoose1.Text = Adodc1.Recordset.Fields(企业名称).ValueEnd Sub下一条:Private Sub cmdnext_Cl
26、ick() Adodc1.Recordset.MoveNext cmdfirst.Enabled = True cmdprevious.Enabled = True If Adodc1.Recordset.EOF Then Adodc1.Recordset.MoveLast cmdnext.Enabled = False cmdlast.Enabled = False End If comboEchoose1.Text = Adodc1.Recordset.Fields(企业名称).ValueEnd Sub上一条:Private Sub cmdprevious_Click() Adodc1.R
27、ecordset.MovePrevious cmdnext.Enabled = True cmdlast.Enabled = True If Adodc1.Recordset.BOF Then Adodc1.Recordset.MoveFirst cmdfirst.Enabled = False cmdprevious.Enabled = False End If comboEchoose1.Text = Adodc1.Recordset.Fields(企业名称).ValueEnd SubPrivate Sub comboEchoose1_Change() frmedit.StatusBar1
28、.Panels(2).Text = comboEchoose1.TextEnd SubPrivate Sub comboEchoose1_Click() If comboEchoose1.ListIndex 0 Then cmdfirst.Enabled = True cmdprevious.Enabled = True End If frmedit.StatusBar1.Panels(2).Text = comboEchoose1.Text Adodc1.Recordset.Find 企业名称= + comboEchoose1.Text + Adodc1.Recordset.UpdateEn
29、d SubPrivate Sub Form_Load() Dim i As Integer For i = 0 To Adodc1.Recordset.RecordCount - 1 If Not Adodc1.Recordset.EOF Then comboEchoose1.AddItem Adodc1.Recordset.Fields(企业名称).Value Adodc1.Recordset.MoveNext End If Next i Adodc1.Recordset.MoveFirst comboEchoose1.Text = Adodc1.Recordset.Fields(0) cm
30、dfirst.Enabled = False cmdprevious.Enabled = FalseEnd Sub四、查询界面设计企业信息查询模块用于企业基本信息的查询,它实现的功能有:按所属地区和按企业名称查询企业的全部信息,企业基本信息,人事信息,设施设备,救援力量。控件captionfontsizeLabel1全部信息小四Label2企业基本信息小四Label3人事信息小四Label4设施设备小四Label5救援力量小四Frame1查询项目小四控件Adodc1TreeView1DataGrid1控件名称optionbutton1optallinfooptionbutton2optcomm
31、onoptionbutton3optpersonoptionbutton4optequipmentoptionbutton5optemergency控件CaptionToolTipTextCommand1退出点击退出本界面StatusBar1panels(1)panels(2)panels(3)panels(4)panels(5)样式sbrTextsbrTextsbrNumsbrCapssbrTime文本当前企业代码如下:Private Sub TreeView1_NodeClick(ByVal Node As MSComctlLib.Node) Select Case Node.Index
32、Case 1 Case 2, 17, 34, 42, 50, 76, 115 district = 所在区 Case 86 To 92, 94 To 97, 99 To 105, 107 To 114 district = 所在村 Case Else district = 所在镇 End Select If optcommon.Value Then If Node.Index = 1 Then sql = select 企业名称,所在区,所在镇,所在村,详细地址,电话,占地面积,安全管理制度,环保等级,年产量 from 企业信息表 Else sql = select 企业名称,所在区,所在镇,
33、所在村,详细地址,电话,占地面积,安全管理制度,环保等级,年产量 from 企业信息表 where + district + = + Node.Text + End If ElseIf optperson.Value Then If Node.Index = 1 Then sql = select 企业名称,职工总数,安全管理人员,特种作业人员 from 企业信息表 Else sql = select 企业名称,职工总数,安全管理人员,特种作业人员 from 企业信息表 where + district + = + Node.Text + End If ElseIf optequipment.
34、Value Then If Node.Index = 1 Then sql = select 企业名称,厂房,仓库,储罐,锅炉,其他压力容器 from 企业信息表 Else sql = select 企业名称,厂房,仓库,储罐,锅炉,其他压力容器 from 企业信息表 where + district + = + Node.Text + End If ElseIf optemergency.Value Then If Node.Index = 1 Then sql = select 企业名称,应急救援人员,医护人员或医疗机构,消防栓,灭火器,其他灭火器材,自救器材,医院,消防队,公安,周边企业 from 企业信息表 Else sql = select 企业名称,应急救援人员,医护人员或医疗机构,消防栓,灭火器,其他灭火器材,自救器材,医院,消防队,公安,周边企业 from 企业信息表 where + district + = + Node.Text + End If Else sql = select * from 企业信息表