行政管理系统毕业设计范例.docx
《行政管理系统毕业设计范例.docx》由会员分享,可在线阅读,更多相关《行政管理系统毕业设计范例.docx(51页珍藏版)》请在冰点文库上搜索。
![行政管理系统毕业设计范例.docx](https://file1.bingdoc.com/fileroot1/2023-5/24/a6e2fc35-2ce9-43a3-99f0-c516b1c28a94/a6e2fc35-2ce9-43a3-99f0-c516b1c28a941.gif)
行政管理系统毕业设计范例
行政管理系统
学院
专业
班级
学号
姓名
指导教师
教师职称
年
月
日
摘要
【摘要】
当今社会飞速发展,行政管理在社会关系中显得非常的重要,然而,在很多的行政系统中,忽略了利用计算机软件来进行日常办公管理的这一关键环节,因此,造成管理上的混乱、工作效率低下等事件的发生,随着IT产业的发展,利用计算机软件代替手工办公的方式已经当今社会发展的必然趋势,因此,行政管理系统软件应运而生。
【关键词】企事业机关行政管理行政管理系统
引言
行政管理系统涵盖会议、办公、机关事务处理、车辆、费用等行政管理内容以及人机结合的监督考评;建立事前预防(提示),事中监控,事后考评的机制,对行政管理权实施过程进行监控,全面推进行政管理工作的规范化、标准化、法制化和信息化。
行政管理包括对企业内部会议的管理、办公管理、车辆信息及用车信息管理、企业消费费用、信息发布及通知、辅助功能等方面的全方位的管理。
其中会议管理包括对会议室管理、会议通知和会议查询几部分;办公管理主要是对工作计划、工作日志和周工作安排进行系统的管理;车辆管理是对企业内部人员包括企业领导用车信息进行详细的记录;费用管理是对企业日常的消费费用进行管理,包括电话费用、报销费用和车辆费用支出管理。
通过信息发布和辅助功能为企业员工在日常工作中提供便利,如发布会议通知、航班查询和编码查询等等。
1系统分析
1.1需求分析
通过市场调查,要求本系统具有以下的功能:
❑统一友好的操作界面,能保证系统的易用性。
❑规范、完善的基础信息设置。
❑灵活的报表打印功能。
❑能够完成对企业会议、企业办公、企业车辆和费用信息的有效管理。
❑全国各地的编码及航班查询。
❑提供常用网址和手机归属地信息查询
❑通过系统日志,详细记录修改记录的操作,提供追查的有力依据。
❑完善的权限管理,增强系统的安全性。
❑强大的数据备份及恢复功能,保证系统数据的安全性。
❑可在不退出系统的同时更换操作员。
1.2可行性分析
传统的行政管理工作可以说是千头万绪,纷繁复杂,工作人员面临着大量琐碎繁重的工作,行政管理系统从企业的实际需求出发,简单易用,系统界面友好美观,自定义功能强,权限管理可根据用户的角色来设置,实施简单快速,操作简单明了。
基本适用于中小型企业的行政办公管理。
2总体设计
2.1项目规划
行政管理系统规划系统功能模块如下:
❑会议管理模块
会议管理模块主要包括维护会议室信息、发送会议通知信息、记录会议内容、查询会议室信息和会议记录信息5个方面的内容。
❑办公管理模块
该模块主要由工作日志、记事本、工作计划和一周工作安排4部分组成。
❑车辆管理模块
车辆管理模块主要包括车辆登记、用车管理、驾驶人员登记、车辆信息查询、用车信息查询和车辆投保管理6部分。
❑费用管理
包括电话费用管理、报销费用管理和车辆费用支出管理3部分。
❑辅助信息
包括常用网址、航班查询、编码大全、国际电话代码和手机归属地查询5部分。
❑系统管理
包括查看日志、删除日志、用户管理、数据备份、数据恢复和系统数据清理6部分。
2.2系统功能结构图
行政管理系统的功能结构图如图1所示。
图1行政管理系统功能结构图
3详细设计
3.1数据模块设计
模块的作用是减少程序的代码量,提高应用程序代码的重用性和程序编码的可读性。
在本系统中,将连接数据库的程序代码都集中放置在一个数据模块Mdl_Data中,在应用程序需要连接数据库时调用该模块,从而完成相应的数据操作、实现操纵数据的功能。
在数据模块Mdl_Data中定义了连接字符串变量PublicStr、记录集对象、数据连接函数Cnn和1个全局函数main。
在函数main中,提供了连接数据库的字符串,并将其赋值给全局变量PublicStr,提供数据连接。
数据模块Mdl_Data中的事件代码如下:
'数据连接模块
PublicPublicStrAsString
PublicAdoRsAsNewADODB.Recordset'后添加一个记录集对象
PublicAdoRs1AsNewADODB.Recordset'后添加一个记录集对象
PublicAdoRs2AsNewADODB.Recordset'后添加一个记录集对象
PublicFunctionCnn()AsADODB.Connection'定义连接字符串函数
SetCnn=NewADODB.Connection
Cnn.Open"Provider=SQLOLEDB.1;PersistSecurityInfo=False;User
ID=sa;InitialCatalog=db_Service"
EndFunction
PublicSubmain()
PublicStr="Provider=SQLOLEDB.1;PersistSecurityInfo=False;User
ID=sa;InitialCatalog=db_Service"
frm_xtdl.Show'显示系统登录窗体
EndSub
3.2主窗体设计
主窗体界面是显示系统主要操作功能的面板,对于主窗体设计的基本要求是:
窗体上的控件布局合理、界面美观大方,并且易于操作系统其他功能模块。
在主窗体的菜单栏或者窗体中的树状列表中,可以控制其他功能模块的运行,并且根据登录操作员赋予相应的操作权限;在状态栏中,可以显示当前登录操作员、当前系统的日期时间、公司网址等信息。
系统主窗体的运行结果如图2所示。
图2系统主窗体运行结果
1.窗体设计
(1)在工程中新建1个窗体,将窗体的名称设置为“frm_Main”,BorderStyle属性设置为“0-None”,MaxButton的属性设置为“False”,并且通过窗体的Picture属性为窗体添加图片。
(2)在菜单编辑器中为主窗体设置菜单,设置完成的菜单如图2所示。
(3)在窗体上添加TreeView控件,由于该控件属于ActiveX控件,在使用之前必须从“部件”对话框中添加到工具箱。
添加方法如下:
在“工程”/“部件”对话框中勾选“MicrosoftWindowsCommonControls6.0”列表项,单击【确定】按钮之后即可将TreeView控件添加到工具箱当中。
(4)在窗体的TreeView控件上单击鼠标右键,在弹出的快捷菜单中选择“属性”项,然后在弹出的“属性页”对话框中设置TreeView控件的显示样式,如图3所示。
图3设置控件的显示样式
(5)在窗体中添加1个StatusBar控件,由于StatusBar控件属于ActiveX控件,在使用之前必须从“部件”对话框中添加到工具箱。
添加方法如下:
在“工程”/“部件”对话框中勾选“MicrosoftWindowsCommonControls6.0”列表项,单击【确定】按钮之后即可将StatusBar控件添加到工具箱当中。
(6)利用StatusBar控件可以为主窗体设置状态栏。
在StatusBar控件上单击鼠标右键选择“属性”项,在弹出的对话框中选择“窗格”选项卡,如图4所示,在图中单击【插入窗格】按钮,可以在StatusBar控件中添加窗格,同时可以设置添加后窗格的文本内容、工具栏提示文本内容和宽度等信息。
如果想删除窗格,则通过“索引”旁边的箭头,选择要删除的窗格,然后单击【删除窗格】按钮即可删除。
图4设置状态栏中的窗格
系统主窗体界面设计结果如图5所示。
图5系统主窗体的设计界面
2.代码设计
通过单击系统主窗体当中的菜单项,可以控制系统中各个子窗体的运行。
单击某个功能菜单项调用系统子窗体的代码如下:
PrivateSubBMDQ_Click()
frm_bmcx.Show1'编码大全
EndSub
PrivateSubBXFYGL_Click()
frm_bxfy.Show1'报销费用管理
EndSub
PrivateSubCKRZ_Click()
frm_rz.Show1'查看日志
EndSub
PrivateSubCLDJ_Click()
frm_cldj.Show1'车辆登记
EndSub
PrivateSubCLFYZC_Click()
frm_clfyzc.Show1'车辆费用支出管理
EndSub
PrivateSubCLTBXXGL_Click()
frm_cltb.Show1'车辆投保管理
EndSub
PrivateSubCLXXCX_Click()
StrCx=3'如果执行的是车辆信息查询,则标识变量的数值取值为3
Frm_Cx.Show1
EndSub
PrivateSubCXDL_Click()
UnloadMe
frm_xtdl.Show'重新登录
EndSub
PrivateSubCYWZ_Click()
frm_wzcx.Show1'常用网址
EndSub
PrivateSubDHFYGL_Click()
frm_dhfy.Show1'电话费用管理
EndSub
PrivateSubDJCX_Click()
StrCx=1'如果执行的是会议记录信息查询,则标识变量的数值取值为1
Frm_Cx.Show1'会议记录信息查询
EndSub
PrivateSubGJDHDM_Click()
frm_dhhmcx.Show1'国际电话代码
EndSub
PrivateSubGYSGL_Click()
frm_hysgl.Show1'会议室管理
EndSub
PrivateSubGZJH_Click()
frm_Gzjh.Show1'工作计划
EndSub
PrivateSubGZRZ_Click()
frm_Gzrz.Show1'工作日志
EndSub
PrivateSubHBCX_Click()
frm_hbcx.Show1'航班查询
EndSub
PrivateSubHYDJ_Click()
frm_hyjl.Show1'会议记录
EndSub
PrivateSubHYSCX_Click()
StrCx=2'如果执行的是会议室信息查询,则标识变量的数值取值为2
Frm_Cx.Show1'会议室信息查询
EndSub
PrivateSubHYTZ_Click()
frm_hytz.Show1'会议通知
EndSub
PrivateSubJSB_Click()
frm_Jsb.Show1'记事本
EndSub
PrivateSubJSHF_Click()'数据恢复
DimiTaskAsLong
MsgBox"请您注意,为了确保数据安全,在进行数据恢复的同时需要关闭应用程序,请您在恢复数据完成之后重新运行应用程序",64,"提示信息"
'调用数据恢复可执行文件
iTask=Shell(App.Path&"\Restore.exe",vbNormalFocus)
End
EndSub
PrivateSubJSRYDJ_Click()
frm_jsrydj.Show1'驾驶人员登记
EndSub
PrivateSubMMXG_Click()
frm_EditPas.Show1
EndSub
PrivateSubSCRQ_Click()'删除日志
Dimdel
DimTemp1AsString
OnErrorResumeNext'错误处理语句
del=MsgBox("确认要清除系统的日志信息吗?
",17,"提示信息")
Ifdel=vbOKThen
Kill(App.Path&"\系统日志.ini")
Open(App.Path&"\系统日志.ini")ForOutputAs#1
Temp1="操作员姓名日期时间操作类型"
Print#1,Temp1
Print#1,
Close#1
MsgBox"日志清理成功完成!
!
",,"提示信息"
Else
EndIf
EndSub
PrivateSubSJBF_Click()
frm_backup.Show1'数据备份
EndSub
PrivateSubSJGSDCX_Click()
frm_Sjgsd.Show1'手机归属地查询
EndSub
PrivateSubTCXT_Click()
End'退出系统
EndSub
PrivateSubUCXXCX_Click()
StrCx=4'用车信息查询
Frm_Cx.Show1
EndSub
PrivateSubXTSJQL_Click()
frm_sfyz.Show1'数据清理
EndSub
PrivateSubYCGL_Click()
frm_ycgl.Show1'用车管理
EndSub
PrivateSubYGGL_Click()
frm_systemer.Show1'用户管理
EndSub
PrivateSubYZGZAP_Click()
frm_gzap.Show1'一周工作安排
EndSub
在窗体启动时,通过用户自定义一个函数Tree_change,在窗体的TreeView控件中显示数据。
在Tree_change函数中通过Ado对象读取数据表中的数据,然后再利用TreeView控件Nodes集合中的Add方法将数据添加到TreeView控件当中,在添加数据时同时也用到了DoWhile语句。
Tree_change函数的代码如下:
PublicSubTree_change()
DimKey,Text,BH,StrTempAsString
DimNodAsNode'定义一个节点变量
AdoRs.Open"select*fromtb_zcd",Cnn,adOpenKeyset
IfAdoRs.RecordCount>0Then
AdoRs.MoveFirst
DoWhileAdoRs.EOF=False'循环读取第1层节点中的数据信息
Key=Trim(AdoRs.Fields("主菜单名称"))
Text=AdoRs.Fields("主菜单名称")
StrTemp=AdoRs.Fields("主菜单名称")
'给第1层节点赋与数值
SetNode1=TreeView1.Nodes.Add(,tvwChild,Key,Text,0)
AdoRs1.Open"select*fromtb_zcd_zcdwhere主菜单名称='"+StrTemp
+"'",Cnn,adOpenKeyset
IfAdoRs1.RecordCount>0Then
AdoRs1.MoveFirst
DoWhileAdoRs1.EOF=False'循环读取第2层节点中的数据信息
Key=Trim(AdoRs1.Fields("子菜单名称"))
Text=AdoRs1.Fields("子菜单名称")
SetNode2=TreeView1.Nodes.Add(Node1.Index,tvwChild,Key,
Text,0)'给第2层节点赋与数值
AdoRs1.MoveNext
Loop
EndIf
AdoRs1.Close
AdoRs.MoveNext'将数据记录移向下一条
Loop
EndIf
AdoRs.Close'关闭记录集对象
EndSub
3.3会议记录
会议记录主要是记录公司举行重大会议的内容、时间等信息。
在会议记录窗体中可以通过工具栏中的【添加】、【删除】、【修改】和【保存】按钮维护会议记录信息,还可以通过单击数据网格中的数据记录,在窗体上浏览已经记录过的会议记录信息,如果会议记录被修改过,则在浏览数据记录信息时,在窗体的下面还将显示记录修改的日期和修改人姓名。
会议记录模块的运行结果如图6所示。
图6会议记录模块运行结果
1.窗体设计
(1)在工程中新建1个窗体,将窗体的名称设置为“frm_hyjl”,BorderStyle属性设置为“0-None”,MaxButton的属性设置为“False”。
(2)在窗体上添加1个Toolbar控件和1个ImageList控件。
(3)为窗体制作如图7所示的工具栏。
(4)在窗体上添加1个文本框控件数组,数组中包含有8个文本框控件。
(5)在窗体上添加1个DTPicker控件,名称命名为DT1,用于输入或显示会议进行的时间。
由于DTPicker控件属于ActiveX控件,在使用之前必须从“部件”对话框中添加到工具箱。
添加方法如下:
在“工程”/“部件”对话框中勾选“MicrosoftWindowsCommonControls2.6”列表项,单击【确定】按钮之后即可将DTPicker控件添加到工具箱当中。
(6)在窗体上添加1个CommandButton控件,并将其名称修改为“Cmd_Select”,Caption属性修改为“<<”,如图7所示。
(7)在窗体上添加1个Ado控件和1个DataGrid控件,将DataGrid控件的BackColor属性值设置为“&H&”,DataSource属性设置为“Adodc1”,AllowUpdate属性设置为“False”。
(8)在窗体上添加2个Line控件,并将其BorderColor属性值设置为“&H&”,同时将这2个控件按照如图11所示的样式放置。
(9)在窗体上添加2个文本框控件,分别命名为“Txt_Date”和“Txt_xgr”,用于显示修改记录的时间和记录修改人的姓名。
会议记录窗体的设计结果如图7所示。
图7会议记录窗体设计结果
2.代码设计
当窗体启动时,如果数据库中存在记录信息,则在窗体的文本框中显示数据库中的第一条记录,同时锁定文本框,禁止输入数据信息。
通过Ado控件的ConnectionString属性连接到数据库,然后再调用DBGCon函数,重新给DataGrid控件的列标题赋值。
窗体启动时的事件代码如下:
PrivateSubForm_Load()
DT1.Value=Date'使日期控件中显示当前系统的日期时间
CallLoadFile'调用过程,在窗体文本框中显示数据
Fori=1To7
Text1(i).Locked=True
Nexti
Adodc2.ConnectionString=PublicStr'连接数据库
Adodc2.RecordSource="select*from会议记录orderby编号"
Adodc2.Refresh
CallDBGCon
CallTbr_cortrol(Tbr_xxcz,True)
EndSub
在窗体的文本框中按下键盘上的〈Enter〉键或〈↑〉、〈↓〉方向箭头键时,光标将按照文本框的次序依次移动。
在文本框控件的键盘按下事件(KeyDown)中通过限制索引Index值和键盘代码值能够控制光标移动的顺序,实现的代码如下:
PrivateSubText1_KeyDown(IndexAsInteger,KeyCodeAsInteger,ShiftAsInteger)
OnErrorResumeNext'执行错误处理
IfKeyCode=13Then
IfIndex=1Then'如果在索引值为1的文本框中按下回车键,光标将落在日期控件当中
DT1.SetFocus
ExitSub'退出当前过程
ElseIfIndex=2Then
CallCmd_Select_Click
ExitSub
EndIf
EndIf
IfIndex<8AndKeyCode=38ThenText1(Index-1).SetFocus
IfIndex>=0AndKeyCode=40ThenText1(Index+1).SetFocus
IfIndex>=0AndKeyCode=13ThenText1(Index+1).SetFocus
IfIndex=7AndKeyCode=13Then
CallSaves'调用保存按钮事件
EndIf
EndSub
单击选中数据网格中的记录,可以使所选中的记录显示在窗体的文本框当中。
设计思路为:
将Ado数据集结果反绑定到文本框,名称为Dgr_Sjll的DataGrid控件代码如下:
PrivateSubDgr_Sjll_Click()
OnErrorResumeNext'执行错误处理
IfAdodc2.Recordset.RecordCount>0Then'判断该记录是否存在
Text1(0).Text=Adodc2.Recordset.Fields(0)
Text1
(1).Text=Adodc2.Recordset.Fields
(1)
Text1
(2).Text=Adodc2.Recordset.Fields(3)
Text1(3).Text=Adodc2.Recordset.Fields(4)
DT1.Value=Adodc2.Recordset.Fields
(2)
Text1(4).Text=Adodc2.Recordset.Fields(5)
Text1(5).Text=Adodc2.Recordset.Fields(6)
Text1(6).Text=Adodc2.Recordset.Fields(7)
Text1(7).Text=Adodc2.Recordset.Fields(8)
Txt_Date.Text=Adodc2.Recordset.Fields(9)
Txt_lxr.Text=Adodc2.Recordset.Fields(10)
EndIf
Fori=0To7'重新锁定文本框,禁止输入数据信息
Text1(i).Locked=False
Nexti
EndSub
3.4一周工作安排
一年共有52周,那么在周工作安排中通过选择年和年的第几周(0~52周),可以维护或查看所选择年中的所选择周的工作安排信息。
利用MSHFlexGrid控件和文本框控件相结合的方法可以实现该项功能。
一周工作安排模块的运行结果如图8所示。
图8一周工作安排模块的运行结果