收藏 分销(赏)

行政管理系统毕业设计范例.doc

上传人:a199****6536 文档编号:3329110 上传时间:2024-07-02 格式:DOC 页数:58 大小:1.11MB 下载积分:14 金币
下载 相关 举报
行政管理系统毕业设计范例.doc_第1页
第1页 / 共58页
行政管理系统毕业设计范例.doc_第2页
第2页 / 共58页


点击查看更多>>
资源描述
行政管理系统 学 院 专 业 班 级 学 号 姓 名 指导教师 教师职称 年 月 日 摘要 【摘要】 当今社会飞速发展,行政管理在社会关系中显得非常的重要,然而,在很多的行政系统中,忽略了运用计算机软件来进行平常办公管理的这一关键环节,因此,导致管理上的混乱、工作效率低下等事件的发生,随着IT产业的发展,运用计算机软件代替手工办公的方式已经当今社会发展的必然趋势,因此,行政管理系统软件应运而生。 【关键词】 企事业机关 行政管理 行政管理系统 目录 摘要 1 目录 1 引言 1 1 系统分析 2 1.1 需求分析 2 1.2 可行性分析 2 2 总体设计 2 2.1 项目规划 2 2.2 系统功能结构图 3 3 具体设计 3 3.1 数据模块设计 3 3.2 主窗体设计 4 3.3 会议记录 9 3.4 一周工作安排 12 3.5 报销费用管理 15 3.6 编码查询 19 附录A 参考文献 23 附录B 数据表结构 24 附录C 文献架构图 32 引言 行政管理系统涵盖会议、办公、机关事务解决、车辆、费用等行政管理内容以及人机结合的监督考评;建立事前防止(提醒),事中监控,事后考评的机制,对行政管理权实行过程进行监控,全面推动行政管理工作的规范化、标准化、法制化和信息化。行政管理涉及对公司内部会议的管理、办公管理、车辆信息及用车信息管理、公司消费费用、信息发布及告知、辅助功能等方面的全方位的管理。其中会议管理涉及对会议室管理、会议告知和会议查询几部分;办公管理重要是对工作计划、工作日记和周工作安排进行系统的管理;车辆管理是对公司内部人员涉及公司领导用车信息进行具体的记录;费用管理是对公司平常的消费费用进行管理,涉及电话费用、报销费用和车辆费用支出管理。通过信息发布和辅助功能为公司员工在平常工作中提供便利,如发布会议告知、航班查询和编码查询等等。 1 系统分析 1.1 需求分析 通过市场调查,规定本系统具有以下的功能: q 统一和谐的操作界面,能保证系统的易用性。 q 规范、完善的基础信息设立。 q 灵活的报表打印功能。 q 可以完毕对公司会议、公司办公、公司车辆和费用信息的有效管理。 q 全国各地的编码及航班查询。 q 提供常用网址和手机归属地信息查询 q 通过系统日记,具体记录修改记录的操作,提供追查的有力依据。 q 完善的权限管理,增强系统的安全性。 q 强大的数据备份及恢复功能,保证系统数据的安全性。 q 可在不退出系统的同时更换操作员。 1.2 可行性分析 传统的行政管理工作可以说是千头万绪,纷繁复杂,工作人员面临着大量琐碎繁重的工作,行政管理系统从公司的实际需求出发,简朴易用,系统界面和谐美观,自定义功能强,权限管理可根据用户的角色来设立,实行简朴快速,操作简朴明了。基本合用于中小型公司的行政办公管理。 2 总体设计 2.1 项目规划 行政管理系统规划系统功能模块如下: q 会议管理模块 会议管理模块重要涉及维护会议室信息、发送会议告知信息、记录会议内容、查询会议室信息和会议记录信息5个方面的内容。 q 办公管理模块 该模块重要由工作日记、记事本、工作计划和一周工作安排4部分组成。 q 车辆管理模块 车辆管理模块重要涉及车辆登记、用车管理、驾驶人员登记、车辆信息查询、用车信息查询和车辆投保管理6部分。 q 费用管理 涉及电话费用管理、报销费用管理和车辆费用支出管理3部分。 q 辅助信息 涉及常用网址、航班查询、编码大全、国际电话代码和手机归属地查询5部分。 q 系统管理 涉及查看日记、删除日记、用户管理、数据备份、数据恢复和系统数据清理6部分。 2.2 系统功能结构图 行政管理系统的功能结构图如图1所示。 图1 行政管理系统功能结构图 3 具体设计 3.1 数据模块设计 模块的作用是减少程序的代码量,提高应用程序代码的重用性和程序编码的可读性。在本系统中,将连接数据库的程序代码都集中放置在一个数据模块Mdl_Data中,在应用程序需要连接数据库时调用该模块,从而完毕相应的数据操作、实现操纵数据的功能。 在数据模块Mdl_Data中定义了连接字符串变量PublicStr、记录集对象、数据连接函数Cnn和1个全局函数main。在函数main中,提供了连接数据库的字符串,并将其赋值给全局变量PublicStr,提供数据连接。数据模块Mdl_Data中的事件代码如下: '数据连接模块 Public PublicStr As String Public AdoRs As New ADODB.Recordset '后添加一个记录集对象 Public AdoRs1 As New ADODB.Recordset '后添加一个记录集对象 Public AdoRs2 As New ADODB.Recordset '后添加一个记录集对象 Public Function Cnn() As ADODB.Connection '定义连接字符串函数 Set Cnn = New ADODB.Connection Cnn.Open "Provider=SQLOLEDB.1;Persist Security Info=False;User ID=sa;Initial Catalog=db_Service" End Function Public Sub main() PublicStr = "Provider=SQLOLEDB.1;Persist Security Info=False;User ID=sa;Initial Catalog=db_Service" frm_xtdl.Show '显示系统登录窗体 End Sub 3.2 主窗体设计 主窗体界面是显示系统重要操作功能的面板,对于主窗体设计的基本规定是:窗体上的控件布局合理、界面美观大方,并且易于操作系统其他功能模块。在主窗体的菜单栏或者窗体中的树状列表中,可以控制其他功能模块的运营,并且根据登录操作员赋予相应的操作权限;在状态栏中,可以显示当前登录操作员、当前系统的日期时间、公司网址等信息。 系统主窗体的运营结果如图2所示。 图2 系统主窗体运营结果 1.窗体设计 (1)在工程中新建1个窗体,将窗体的名称设立为“frm_Main”,BorderStyle属性设立为“0-None”,MaxButton的属性设立为“False”,并且通过窗体的Picture属性为窗体添加图片。 (2)在菜单编辑器中为主窗体设立菜单,设立完毕的菜单如图2所示。 (3)在窗体上添加TreeView控件,由于该控件属于ActiveX控件,在使用之前必须从“部件”对话框中添加到工具箱。添加方法如下: 在“工程”/“部件”对话框中勾选“Microsoft Windows Common Controls6.0”列表项,单击【拟定】按钮之后即可将TreeView控件添加到工具箱当中。 (4)在窗体的TreeView控件上单击鼠标右键,在弹出的快捷菜单中选择“属性”项,然后在弹出的“属性页”对话框中设立TreeView控件的显示样式,如图3所示。 图3 设立控件的显示样式 (5)在窗体中添加1个StatusBar控件,由于StatusBar控件属于ActiveX控件,在使用之前必须从“部件”对话框中添加到工具箱。添加方法如下: 在“工程”/“部件”对话框中勾选“Microsoft Windows Common Controls6.0”列表项,单击【拟定】按钮之后即可将StatusBar控件添加到工具箱当中。 (6)运用StatusBar控件可认为主窗体设立状态栏。在StatusBar控件上单击鼠标右键选择“属性”项,在弹出的对话框中选择“窗格”选项卡,如图4所示,在图中单击【插入窗格】按钮,可以在StatusBar控件中添加窗格,同时可以设立添加后窗格的文本内容、工具栏提醒文本内容和宽度等信息。假如想删除窗格,则通过“索引”旁边的箭头,选择要删除的窗格,然后单击【删除窗格】按钮即可删除。 图4 设立状态栏中的窗格 系统主窗体界面设计结果如图5所示。 图5 系统主窗体的设计界面 2.代码设计 通过单击系统主窗体当中的菜单项,可以控制系统中各个子窗体的运营。单击某个功能菜单项调用系统子窗体的代码如下: Private Sub BMDQ_Click() frm_bmcx.Show 1 '编码大全 End Sub Private Sub BXFYGL_Click() frm_bxfy.Show 1 '报销费用管理 End Sub Private Sub CKRZ_Click() frm_rz.Show 1 '查看日记 End Sub Private Sub CLDJ_Click() frm_cldj.Show 1 '车辆登记 End Sub Private Sub CLFYZC_Click() frm_clfyzc.Show 1 '车辆费用支出管理 End Sub Private Sub CLTBXXGL_Click() frm_cltb.Show 1 '车辆投保管理 End Sub Private Sub CLXXCX_Click() StrCx = 3 '假如执行的是车辆信息查询,则标记变量的数值取值为3 Frm_Cx.Show 1 End Sub Private Sub CXDL_Click() Unload Me frm_xtdl.Show '重新登录 End Sub Private Sub CYWZ_Click() frm_wzcx.Show 1 '常用网址 End Sub Private Sub DHFYGL_Click() frm_dhfy.Show 1 '电话费用管理 End Sub Private Sub DJCX_Click() StrCx = 1 '假如执行的是会议记录信息查询,则标记变量的数值取值为1 Frm_Cx.Show 1 '会议记录信息查询 End Sub Private Sub GJDHDM_Click() frm_dhhmcx.Show 1 '国际电话代码 End Sub Private Sub GYSGL_Click() frm_hysgl.Show 1 '会议室管理 End Sub Private Sub GZJH_Click() frm_Gzjh.Show 1 '工作计划 End Sub Private Sub GZRZ_Click() frm_Gzrz.Show 1 '工作日记 End Sub Private Sub HBCX_Click() frm_hbcx.Show 1 '航班查询 End Sub Private Sub HYDJ_Click() frm_hyjl.Show 1 '会议记录 End Sub Private Sub HYSCX_Click() StrCx = 2 '假如执行的是会议室信息查询,则标记变量的数值取值为2 Frm_Cx.Show 1 '会议室信息查询 End Sub Private Sub HYTZ_Click() frm_hytz.Show 1 '会议告知 End Sub Private Sub JSB_Click() frm_Jsb.Show 1 '记事本 End Sub Private Sub JSHF_Click() '数据恢复 Dim iTask As Long MsgBox "请您注意,为了保证数据安全,在进行数据恢复的同时需要关闭应用程序,请您在恢复数据完毕之后重新运营应用程序", 64, "提醒信息" '调用数据恢复可执行文献 iTask = Shell(App.Path & "\Restore.exe", vbNormalFocus) End End Sub Private Sub JSRYDJ_Click() frm_jsrydj.Show 1 '驾驶人员登记 End Sub Private Sub MMXG_Click() frm_EditPas.Show 1 End Sub Private Sub SCRQ_Click() '删除日记 Dim del Dim Temp1 As String On Error Resume Next '错误解决语句 del = MsgBox("确认要清除系统的日记信息吗?", 17, "提醒信息") If del = vbOK Then Kill (App.Path & "\系统日记.ini") Open (App.Path & "\系统日记.ini") For Output As #1 Temp1 = " 操作员姓名 日期时间 操作类型" Print #1, Temp1 Print #1, Close #1 MsgBox "日记清理成功完毕!!", , "提醒信息" Else End If End Sub Private Sub SJBF_Click() frm_backup.Show 1 '数据备份 End Sub Private Sub SJGSDCX_Click() frm_Sjgsd.Show 1 '手机归属地查询 End Sub Private Sub TCXT_Click() End '退出系统 End Sub Private Sub UCXXCX_Click() StrCx = 4 '用车信息查询 Frm_Cx.Show 1 End Sub Private Sub XTSJQL_Click() frm_sfyz.Show 1 '数据清理 End Sub Private Sub YCGL_Click() frm_ycgl.Show 1 '用车管理 End Sub Private Sub YGGL_Click() frm_systemer.Show 1 '用户管理 End Sub Private Sub YZGZAP_Click() frm_gzap.Show 1 '一周工作安排 End Sub 在窗体启动时,通过用户自定义一个函数Tree_change,在窗体的TreeView控件中显示数据。在Tree_change函数中通过Ado对象读取数据表中的数据,然后再运用TreeView控件Nodes集合中的Add方法将数据添加到TreeView控件当中,在添加数据时同时也用到了Do While语句。Tree_change函数的代码如下: Public Sub Tree_change() Dim Key, Text, BH, StrTemp As String Dim Nod As Node '定义一个节点变量 AdoRs.Open "select * from tb_zcd", Cnn, adOpenKeyset If AdoRs.RecordCount > 0 Then AdoRs.MoveFirst Do While AdoRs.EOF = False '循环读取第1层节点中的数据信息 Key = Trim(AdoRs.Fields("主菜单名称")) Text = AdoRs.Fields("主菜单名称") StrTemp = AdoRs.Fields("主菜单名称") '给第1层节点赋与数值 Set Node1 = TreeView1.Nodes.Add(, tvwChild, Key, Text, 0) AdoRs1.Open "select * from tb_zcd_zcd where 主菜单名称='" + StrTemp + "'", Cnn,adOpenKeyset If AdoRs1.RecordCount > 0 Then AdoRs1.MoveFirst Do While AdoRs1.EOF = False '循环读取第2层节点中的数据信息 Key = Trim(AdoRs1.Fields("子菜单名称")) Text = AdoRs1.Fields("子菜单名称") Set Node2 = TreeView1.Nodes.Add(Node1.Index, tvwChild, Key, Text, 0) '给第2层节点赋与数值 AdoRs1.MoveNext Loop End If AdoRs1.Close AdoRs.MoveNext '将数据记录移向下一条 Loop End If AdoRs.Close '关闭记录集对象 End Sub 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控件,在使用之前必须从“部件”对话框中添加到工具箱。添加方法如下: 在“工程”/“部件”对话框中勾选“Microsoft Windows Common Controls2.6”列表项,单击【拟定】按钮之后即可将DTPicker控件添加到工具箱当中。 (6)在窗体上添加1个CommandButton控件,并将其名称修改为“Cmd_Select”,Caption属性修改为“<<”,如图7所示。 (7)在窗体上添加1个Ado控件和1个DataGrid控件,将DataGrid控件的BackColor属性值设立为“&H80000018&”,DataSource属性设立为“Adodc1”,AllowUpdate属性设立为“False”。 (8)在窗体上添加2个Line控件,并将其BorderColor属性值设立为“&H00008000&”,同时将这2个控件按照如图11所示的样式放置。 (9)在窗体上添加2个文本框控件,分别命名为“Txt_Date”和“Txt_xgr”,用于显示修改记录的时间和记录修改人的姓名。 会议记录窗体的设计结果如图7所示。 图7 会议记录窗体设计结果 2.代码设计 当窗体启动时,假如数据库中存在记录信息,则在窗体的文本框中显示数据库中的第一条记录,同时锁定文本框,严禁输入数据信息。通过Ado控件的ConnectionString属性连接到数据库,然后再调用DBGCon函数,重新给DataGrid控件的列标题赋值。窗体启动时的事件代码如下: Private Sub Form_Load() DT1.Value = Date '使日期控件中显示当前系统的日期时间 Call LoadFile '调用过程,在窗体文本框中显示数据 For i = 1 To 7 Text1(i).Locked = True Next i Adodc2.ConnectionString = PublicStr '连接数据库 Adodc2.RecordSource = "select * from 会议记录 order by 编号" Adodc2.Refresh Call DBGCon Call Tbr_cortrol(Tbr_xxcz, True) End Sub 在窗体的文本框中按下键盘上的〈Enter〉键或〈↑〉、〈↓〉方向箭头键时,光标将按照文本框的顺序依次移动。在文本框控件的键盘按下事件(KeyDown)中通过限制索引Index值和键盘代码值可以控制光标移动的顺序,实现的代码如下: Private Sub Text1_KeyDown(Index As Integer, KeyCode As Integer, Shift As Integer) On Error Resume Next '执行错误解决 If KeyCode = 13 Then If Index = 1 Then '假如在索引值为1的文本框中按下回车键,光标将落在日期控件当中 DT1.SetFocus Exit Sub '退出当前过程 ElseIf Index = 2 Then Call Cmd_Select_Click Exit Sub End If End If If Index < 8 And KeyCode = 38 Then Text1(Index - 1).SetFocus If Index >= 0 And KeyCode = 40 Then Text1(Index + 1).SetFocus If Index >= 0 And KeyCode = 13 Then Text1(Index + 1).SetFocus If Index = 7 And KeyCode = 13 Then Call Saves '调用保存按钮事件 End If End Sub 单击选中数据网格中的记录,可以使所选中的记录显示在窗体的文本框当中。设计思绪为:将Ado数据集结果反绑定到文本框,名称为Dgr_Sjll的DataGrid控件代码如下: Private Sub Dgr_Sjll_Click() On Error Resume Next '执行错误解决 If Adodc2.Recordset.RecordCount > 0 Then '判断该记录是否存在 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) End If For i = 0 To 7 '重新锁定文本框,严禁输入数据信息 Text1(i).Locked = False Next i End Sub 3.4 一周工作安排 一年共有52周,那么在周工作安排中通过选择年和年的第几周(0~52周),可以维护或查看所选择年中的所选择周的工作安排信息。运用MSHFlexGrid控件和文本框控件相结合的方法可以实现该项功能。 一周工作安排模块的运营结果如图8所示。 图8 一周工作安排模块的运营结果 1.窗体设计 (1)在工程中添加1个窗体,将该窗体命名为“frm_gzap”,BorderStyle属性设立为“0-None”,MaxButton的属性设立为“False”。 (2)在窗体上添加2个ComboBox控件,如图9所示。 (3)在窗体上添加1个MSHFlexGrid控件,将其名称命名为“MSH1”。 (4)在窗体上添加3个CommandButton控件,分别将其名称命名为“Cmd_Save”、“Cmd_Add”、“Cmd_exit”,Caption属性设立为“保存”、“添加”和“退出”。 (5)在窗体上添加1个标签控件,用于显示当前所选择的年及周的日期段信息。 一周工作安排窗体的设计结果如图9所示。 图9 一周工作安排窗体的设计结果 2.代码设计 在窗体启动时,设立MSHFlexGrid控件在窗体上显示的行数和列数,同时设立在控件中显示的行标题和列标题,窗体启动时的事件代码如下: Private Sub Form_Load() Dim StrWeek As String For i = 1 To 52 StrWeek = "第" & i & "周" Combo1.AddItem (StrWeek) Next i MSH1.Rows = 3 MSH1.Cols = 6 MSH1.ColHeaderCaption(0, 0) = "星期一" MSH1.ColWidth(0) = 500 For i = 1 To 5 MSH1.ColWidth(i) = 1850 MSH1.ColAlignment(i) = 4 '居中对齐 Next i MSH1.RowHeight(0) = 500 '限定控件第1行的高度 MSH1.RowHeight(1) = 1800 '限定控件第2行的高度 MSH1.RowHeight(2) = 1800 '限定控件第3行的高度 MSH1.TextMatrix(0, 1) = " 星期一" MSH1.TextMatrix(0, 2) = " 星期二" MSH1.TextMatrix(0, 3) = " 星期三" MSH1.TextMatrix(0, 4) = " 星期四" MSH1.TextMatrix(0, 5) = " 星期五" MSH1.TextMatrix(1, 0) = "上午" MSH1.TextMatrix(2, 0) = "下午" Text1.Width = MSH1.CellWidth - 50 Text1.Height = MSH1.CellHeight - 50 Text1.Left = MSH1.Left + MSH1.CellLeft Text1.Top = MSH1.Top + MSH1.CellTop End Sub 单击MSHFlexGrid控件中的单元格,可以限定辅助文本框的大小及显示位置,使文本框高度、宽度及位置与选中MSHFlexGrid控件单元格的大小及位置相同,实现的代码如下: Private Sub MSH1_Click() Text1.Width = MSH1.CellWidth – 50 '限定文本框的宽度 Text1.Height = MSH1.CellHeight – 50 '限定文本框的高度 Text1.Left = MSH1.Left + MSH1.CellLeft '限定文本框距窗体左端的距离 Text1.Top = MSH1.Top + MSH1.CellTop '限定文本框距窗体顶端的距离 Text1.Visible = True Text1.SetFocus End Sub 在选择第几周(一年共有52周)时,假如已经维护了工作安排,则在MSHFlexGrid控件中的单元格中将显示已经维护的工作安排的内容,同时将文本框的Visible属性设立为False,使文本框不可见,代码如下: Private Sub Combo1_Change() AdoRs.Open "select * from 一周工作安排 where 第几周='" + Combo1.Text + "' and 年份='" + Combo2.Text + "'", Cnn, adOpenKeyset If AdoRs.RecordCount > 0 Then MSH1.TextMatrix(1, 1) = AdoRs.Fields("周一上午") MSH1.TextMatrix(2, 1) = AdoRs.Fields("周一下午") MSH1.TextMatrix(1, 2) = AdoRs.Fields("周二上午") MSH1.TextMatrix(2, 2) = AdoRs.Fields("周二下午") MSH1.TextMatrix(1, 3) = AdoRs.Fields("周三上午") MSH1.TextMatrix(2, 3) = AdoRs.Fields("周三下午") MSH1.TextMatrix(1, 4) = AdoRs.Fields("周四上午") MSH1.TextMatrix(2, 4) = AdoRs.Fields("周四下午") MSH1.TextMatrix(1, 5) = AdoRs.Fields("周五上午") MSH1.TextMatrix(2, 5) = AdoRs.Fields("周五下午") Label1.Caption = AdoRs.Fields("时间段") Text1.Visible = False '将文本框设立为不可见状态 End If AdoRs.Close '关闭记录集对象 End Sub 单击【保存】按钮将通过SQL语句保存维护的工作安排信息,实现的代码如下: Private Sub Cmd_Save_Click() MSH1.TextMatrix(2, 5) = Text1.Text If Combo1.Text = "" Then MsgBox "请选择录入工作安排的周数", 48, "提醒信息" Else c = MsgBox("确认保存信息吗", 33, "提醒信息") If c = vbOK Then '假如选择的是“拟定”按钮,则保存信息 Set AdoRs = Cnn.Execute("UPDATE 一周工作安排 SET 周一上午 ='" & MSH1.TextMatrix(1, 1) & "
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 学术论文 > 毕业论文/毕业设计

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服