网站首页 公文大全 个人文档 实用范文 讲话致辞 实用工具 心得体会 哲学范文 总结范文 范文大全 报告 合同 文书 信函 实用
  • 汇报体会
  • 节日庆典
  • 礼仪
  • 毕业论文
  • 评语寄语
  • 导游词
  • 口号大全
  • 其他范文
  • 百花范文网 > 实用范文 > 毕业论文 > 行政管理毕业报告范文 行政管理系统毕业设计范例

    行政管理毕业报告范文 行政管理系统毕业设计范例

    时间:2021-10-05 15:05:25来源:百花范文网本文已影响

    行政管理系统 学 院 专 业 班 级 学 号 姓 名 指导教师 教师职称 年 月 日 摘要 【摘要】 当今社会飞速开展,行政管理在社会关系中显得非常的重要,然而,在很多的行政系统中,忽略了利用计算机软件来进行日常办公管理的这一关键环节,因此,造成管理上的混乱、工作效率低下等事件的发生,随着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 '定义连接字符串函数 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控件,在使用之前必须从“部件〞对话框中添加到工具箱。添加方法如下:
    在“工程〞/“部件〞对话框中勾选“〞列表项,单击【确定】按钮之后即可将TreeView控件添加到工具箱当中。

    〔4〕在窗体的TreeView控件上单击鼠标右键,在弹出的快捷菜单中选择“属性〞项,然后在弹出的“属性页〞对话框中设置TreeView控件的显示样式,如图3所示。

    图3 设置控件的显示样式 〔5〕在窗体中添加1个StatusBar控件,由于StatusBar控件属于ActiveX控件,在使用之前必须从“部件〞对话框中添加到工具箱。添加方法如下:
    在“工程〞/“部件〞对话框中勾选“〞列表项,单击【确定】按钮之后即可将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 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 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层节点赋与数值 Loop End If 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控件,在使用之前必须从“部件〞对话框中添加到工具箱。添加方法如下:
    在“工程〞/“部件〞对话框中勾选“〞列表项,单击【确定】按钮之后即可将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 编号“ 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的文本框中按下回车键,光标将落在日期控件当中 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) = “ 星期二“ extMatrix(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 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 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(“周二下午“) rix(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() If Combo1.Text = ““ Then MsgBox “请选择录入工作安排的周数“, 48, “提示信息“ Else c = MsgBox(“确认保存信息吗“, 33, “提示信息“) If c = vbOK Then '如果选择的是“确定〞按钮,那么保存信息 Set AdoRs = Cnn.Execute(“UPDATE 一周工作安排 SET 周一上午 ='“ & MSH1.TextMatrix(1, 1) & “',周一下午='“& MSH1.TextMatrix(2, 1) & “',周二上午='“ & MSH1.TextMatrix(1, 2) &“',周二下午='“ & MSH1.TextMatrix(2, 2)& “',周三上午 ='“ & MSH1.TextMatrix(1, 3) & “',周三下午='“ & MSH1.TextMatrix(2, 3) & “', 周四上午='“& MSH1.TextMatrix(1, 4) & “',周四下午='“ & MSH1.TextMatrix(2, 4) & “',周五上午='“ & MSH1.TextMatrix(1, 5)& “',周五下午='“ & MSH1.TextMatrix(2, 5) & “' where 第几周='“ + Combo1.Text + “'“) MsgBox “数据保存成功“, 64, “提示信息“ End If End If End Sub 3.5 报销费用管理 费用报销是企业运营过程中必不可少的一个环节。在填写完报销单的时候,要经过审核该报销单据才有效。审核的操作过程为:在窗体左侧的部门列表中选择某一部门之后,然后在右侧的数据控件中选择该部门中具体报销的单据,此时在窗体的文本框中即可显示该报销单据的信息,在审核人旁边的文本框中输入审核人姓名之后,单击【审核】按钮审核信息。

    除了审核信息之外,在窗体中还可以按照部门打印出每个部门的报销费用信息,在部门列表中选择某一个部门之后,此时工具栏中的【打印】按钮变为可用状态,单击【打印】按钮即可打印出该部门的报销单据信息。

    报销费用管理模块的运行结果如图10所示。

    图10 报销费用管理模块运行结果 打印部门报销费用信息的报表界面运行结果如图11所示。

    图11 打印部门报销费用信息的报表界面运行结果 1.窗体设计 〔1〕在工程中新建1个窗体,将窗体的名称设置为“frm_bxfy〞,BorderStyle属性设置为“0-None〞,MaxButton的属性设置为“False〞。

    〔2〕在窗体上添加1个Toolbar控件及1个ImageList控件。

    〔3〕为窗体制作如图12所示的工具栏。

    〔4〕在窗体上添加2个ComboBox控件,分别命名为“Cbx_lx〞和“Cbx_bm〞,用于记录费用类型和部门信息,同时将这2个控件的Style属性都设置为“0〞。

    〔5〕窗体上添加1个DTPicker控件,命名为DT,用于显示和输入报销费用的时间。

    〔6〕在窗体上添加1个文本框控件数组,数组中包含有5个文本框控件。

    〔7〕在窗体上添加1个Ado控件和1个DataGrid控件,将DataSource属性设置为“Adodc1〞,AllowUpdate属性设置为“False〞。

    〔8〕在窗体上添加1个Line控件,并将其BorderColor属性值设置为“&H00008000&〞。

    〔9〕在窗体上添加1个ListView控件,ListView控件属于ActiveX控件,在使用之前必须从“部件〞对话框中添加到工具箱。添加方法如下:
    在“工程〞/“部件〞对话框中勾选“〞列表项,单击【确定】按钮之后即可将ListView控件添加到工具箱当中。

    〔10〕在窗体上添加1个标签控件默认为Label9,用于显示统计出来的报销费用的金额。

    报销费用管理窗体的设计结果如图12所示。

    图12 报销费用管理窗体的设计结果 2.代码设计 ADO对象和控件连接到数据库,同时调用Tj过程统计报销费用的金额,调用RefreshData事件,来实现刷新ListView控件中数据内容。窗体启动时的代码如下:
    Private Sub Form_Load() Call LoadFile DT1.Value = Date '将报销费用的时间设置为当前系统的日期时间 tionString = PublicStr Adodc1.RecordSource = “select * from 报销费用管理 order by ID“ Call Tj '统计费用金额 Call RefreshData Call Tbr_cortrol(Tbr_xxcz, True) Tbr_xxcz.Buttons(12).Enabled = False Tbr_xxcz.Buttons(9).Enabled = False End Sub 在Tj过程当中,通过sum函数统计报销费用的总金额。用户自定义Tj事件的过程代码如下:
    Private Sub Tj() AdoRs.Open “select sum(金额) from 报销费用管理 “, Cnn, adOpenKeyset If AdoRs.RecordCount > 0 Then Label9.Left = 5300 Label9.Caption = “报销费用总计金额为 “ & AdoRs.Fields(0) & “ 元“ End If AdoRs.Close End Sub 在RefreshData过程当中,首先将ListView控件中的内容清空,然后在通过Do While循环将部门名称信息添加到ListView控件当中。用户自定义RefreshData过程代码如下:
    Private Sub RefreshData() AdoRs.Open “select distinct 部门 from 报销费用管理“, Cnn, adOpenKeyset If AdoRs.RecordCount > 0 Then ListView1.Enabled = True Do While AdoRs.EOF = False Key = AdoRs.Fields(“部门“) Set itmX = ListView1.ListItems.Add(, , Key, 1) Loop Else ListView1.Enabled = False '如果当前数据表中没有部门信息,那么将ListView设'置为不可用的状态 End If End Sub 单击ListView控件列表中的部门信息,在数据网格和窗体中的文本框控件中将显示该部门中的数据信息,实现的代码如下:
    Private Sub ListView1_ItemClick(ByVal Item As MSComctlLib.ListItem) Adodc1.RecordSource = “select * from 报销费用管理 where 部门='“ + ListView1.SelectedItem + “' order by ID“ On Error Resume Next '执行错误处理 If Adodc1.Recordset.RecordCount > 0 Then Text1(0).Text = Adodc1.Recordset.Fields(1) Cbx_lx.Text = Adodc1.Recordset.Fields(2) DT1.Value = Adodc1.Recordset.Fields(3) Text1(1).Text = Adodc1.Recordset.Fields(4) Cbx_bm.Text = Adodc1.Recordset.Fields(5) Text1(2).Text = Adodc1.Recordset.Fields(6) Text1(3).Text = Adodc1.Recordset.Fields(7) Text1(4).Text = Adodc1.Recordset.Fields(8) Tbr_xxcz.Buttons(9).Enabled = True End If '按部门查询时统计报销费用金额 AdoRs.Open “select sum(金额) from 报销费用管理 where 部门='“ + ListView1.SelectedItem + “' “, Cnn, adOpenKeyset If AdoRs.RecordCount > 0 Then Label9.Left = 4700 Label9.Caption = ListView1.SelectedItem & “ 报销费用总计金额为 “ & AdoRs.Fields(0) & “ 元“ End If End Sub 单击数据网格中的记录信息,将在窗体中的文本框中显示所选中的数据信息,实现的代码如下:
    Private Sub Dgr_Sjll_Click() If Adodc1.Recordset.RecordCount > 0 Then Text1(0).Text = Adodc1.Recordset.Fields(1) Cbx_lx.Text = Adodc1.Recordset.Fields(2) DT1.Value = Adodc1.Recordset.Fields(3) Text1(1).Text = Adodc1.Recordset.Fields(4) Cbx_bm.Text = Adodc1.Recordset.Fields(5) Text1(2).Text = Adodc1.Recordset.Fields(6) Text1(3).Text = Adodc1.Recordset.Fields(7) Text1(4).Text = Adodc1.Recordset.Fields(8) If Text1(3).Text = ““ Then Tbr_xxcz.Buttons(12).Enabled = True Else Tbr_xxcz.Buttons(12).Enabled = False End If End If End Sub 3.6 编码查询 在编码查询中,可以通过输入省份和城市的名称来查询编码信息,也可以通过单击选择窗体左侧所有编码中的省份来查询。

    编码查询模块的运行结果如图13所示。

    图13 编码查询模块运行结果 1.窗体设计 〔1〕在工程中新建1个窗体,将窗体的名称设置为“frm_bmcx〞,BorderStyle属性设置为“0-None〞,MaxButton的属性设置为“False〞。

    〔2〕在窗体上添加1个Ado控件。

    〔3〕在窗体上添加1个DataGrid控件,将DataSource属性设置为“Adodc1〞,AllowUpdate属性设置为“False〞,BackColor属性值设置为“&H80000018&〞。

    〔4〕在窗体上添加1个TreeView控件和1个ImageList控件,由于这两个控件属于ActiveX控件,在使用之前必须从“部件〞对话框中添加到工具箱。添加方法如下:
    在“工程〞/“部件〞对话框中勾选“〞列表项,单击【确定】按钮之后即可将TreeView控件添加到工具箱当中。

    〔5〕在ImageList控件上单击鼠标右键,在弹出的快捷菜单中选择“属性〞,此时弹出“属性页〞对话框,选择“通用〞选项卡,在该选项卡中选择“16×16〞单项选择按钮,如图14所示。

    图14 在属性页对话框中设定图像的大小 〔6〕在“属性页〞对话框中选择“图像〞选项卡,在该选项卡中单击【插入图片】按钮在控件中添加图像,如图15所示。

    图15 向控件中添加图像 〔7〕在窗体上的TreeView控件中单击鼠标右键,在弹出的快捷菜单中选择“属性〞,此时弹出“属性页〞对话框,在该对话框中选择“通用〞选项卡,在该选项卡中将“线条样式〞设置为0-tvwTreeLines,在“图像列表〞旁的列表框中选择“ImageList1〞,为TreeView控件添加图像。勾选该选项卡中的“滚动〞和“热跟踪〞复选框,为控件设置显示的样式,如图16所示。

    图16 设置TreeView控件的显示样式 〔8〕在窗体上添加1个Ado控件和1个DataGrid控件,将DataGrid控件的BackColor属性值设置为“&H80000018&〞,DataSource属性设置为“Adodc1〞,AllowUpdate属性设置为“False〞。

    〔9〕在窗体中添加2个文本框控件,分别用于输入要查询的编码信息所在的省份和城市信息。

    〔10〕在窗体上添加1个标签控件,用于显示查询到编码的数量信息。

    编码查询窗体的设计结果如图17所示。

    图17 编码查询窗体的设计结果 2.代码设计 在窗体启动时,调用用户自定义的Tree_change过程,在TreeView控件中添加省份信息,利用Ado控件的RecordCount属性统计出当前数据表中的数据记录,并将其显示在标签控件当中。窗体启动时的Load事件代码如下:
    Private Sub Form_Load() Call Tree_change '调用添加省份信息的过程 Adodc1.ConnectionString = PublicStr Adodc1.RecordSource = “select * from 大全“ Label2.Caption = “总计查询记录的条数为 End Sub 用户自定义的Tree_change过程的代码如下:
    Private Sub Tree_change() Dim Key, Text, BH As String Dim Nod As Node '定义一个节点变量 Key = “所有编码“ Text = “所有编码“ Set Node1 = TreeView1.Nodes.Add(, , Key, Text, 1) AdoRs.Open “select distinct 省份 from 大全 “, Cnn, adOpenKeyset ecordCount > 0 Then AdoRs.MoveFirst '将当前记录移到第一条 Do While AdoRs.EOF = False Key = Trim(AdoRs.Fields(“省份“)) Text = AdoRs.Fields(“省份“) Set Node2 = TreeView1.Nodes.Add(Node1.Index, tvwChild, Key, Text, 2) AdoRs.MoveNext '数据记录移向下一条 Loop End If AdoRs.Close '关闭记录集对象 End Sub 单击TreeView控件中的节点信息利用SQL语句可以查询相应省份的编码信息,实现的事件代码如下:
    Private Sub TreeView1_NodeClick(ByVal Node As MSComctlLib.Node) Adodc1.ConnectionString = PublicStr Adodc1.RecordSource = “select * from 大全 where 省份='“ + TreeView1.SelectedItem + “'“ Label2.Caption = “总计查询记录的条数为 End Sub 在Text1文本框控件中输入省份名称然后按下〈Enter〉键,利用SQL语句可以查询相应省份的编码信息,实现的事件代码如下:
    Private Sub Text1_KeyDown(KeyCode As Integer, Shift As Integer) If KeyCode = 13 Then Adodc1.ConnectionString = PublicStr Adodc1.RecordSource = “select * from 大全 where 省份='“ + Text1.Text + “'“ Label2.Caption = “总计查询记录的条数为 End If End Sub 在Text2文本框控件中输入城市名称后按下〈Enter〉键,利用SQL语句可以查询相应城市的编码信息,实现的事件代码如下:
    Private Sub Text2_KeyDown(KeyCode As Integer, Shift As Integer) If KeyCode = 13 Then Adodc1.ConnectionString = PublicStr Adodc1.RecordSource = “select * from 大全 where 城市 + “%'“ Label2.Caption = “总计查询记录的条数为 End If End Sub 附录A 参考文献 1.Visual Basic精彩编程200例 机械工业出版社 赛奎春、高春艳等 2003年1月 2.Visual Basic数据库开发实例解析 机械工业出版社 刘志铭、高春艳等 2003年8月 3.Visual FoxPro数据库开发实例解析 机械工业出版社 王晶莹、王国辉等 2003年9月 4.Power Builder数据库开发实例解析 机械工业出版社 华传铭、张振坤等 2003年9月 5.Delphi数据库开发实例解析 机械工业出版社 赛奎春、郑骁鹏等 2004年2月 6.PowerBuilder 精彩编程200例 机械工业出版社 张振坤、李文立等 2004年9月 7.Visual FoxPro 精彩编程200例 机械工业出版社 王国辉、董韶华等 2004年9月 8.ASP数据库开发实例解析 机械工业出版社 李严、于亚芳、王国辉 2004年12月 9.Delphi工程应用与工程实践 机械工业出版社 宋坤、赵智勇等 2005年1月 10.Visual Basic工程应用与工程实践 机械工业出版社 高春艳、李俊民等 2005年1月 11.Visual C++工程应用与工程实践 机械工业出版社 张雨、阮伟良等 5005年1月 12.JSP工程应用与工程实践 机械工业出版社 陈威、白伟明、李楠 2005年2月 13.ASP工程应用与工程实践 机械工业出版社 王国辉、牛强、李南南 2005年4月 14.Visual Basic 信息系统开发实例精选 机械工业出版社 高春艳、李俊民、张耀庭等 2005年7月 15.ASP 信息系统开发实例精选 机械工业出版社 王国辉、牛强、李南南等 2005年7月 16.Delphi 信息系统开发实例精选 机械工业出版社 宋坤、赵智勇、刘强等 2005年7月 17.Visual foxpro数据库开发关键技术与实例应用 人民邮电出版社 周桓、张雨、王国辉 2004年5月 18.PoweBuilder数据库开发关键技术与实例应用 人民邮电出版社 刘志铭 张振坤 冯文萃 2004年5月 19.Delphi数据库开发关键技术与实例应用 人民邮电出版社 赛奎春 陈紫鸿 宋昆 2004年5月 20.Visual basic数据库开发关键技术与实例应用 人民邮电出版社 高春艳、李艳 2004年5月 21.Visual C++ 管理信息系统完整工程实例剖析 人民邮电出版社 明日科技 2005年7月 22.Visual Basic 管理信息系统完整工程实例剖析 人民邮电出版社 明日科技 2005年7月 23.PowerBuilder 管理信息系统完整工程实例剖析 人民邮电出版社 明日科技 2005年7月 24.Visual FoxPro管理信息系统完整工程实例剖析 人民邮电出版社 明日科技 2005年7月 25.SQL Server数据库开发实例解析 机械工业出版社 宋昆、李严等 2006年1月 26.Access数据库开发实例解析 机械工业出版社 李俊民、高春燕等 2006年1月 附录B 数据表结构 表B.1 工作方案数据表 字段名 数据类型 长度 序号 nvarchar 10 开始时间 smalldatetime 4 结束时间 smalldatetime 4 方案内容 nvarchar 100 备注 nvarchar 100 USERID nvarchar 12 制作日期 smalldatetime 4 方案状态 nvarchar 10 记录修改日期 varchar 30 记录修改人 varchar 30 表B.2 车辆管理数据表 字段名 数据类型 长度 编号 varchar 20 值班员 nvarchar 11 调度员 nvarchar 11 用车人 nvarchar 31 人数 nvarchar 5 事由 nvarchar 31 去向 nvarchar 21 签字领导 nvarchar 11 车牌号码 nvarchar 11 车类型 nvarchar 11 司机姓名 nvarchar 17 出车时间 nvarchar 17 返回时间 nvarchar 17 备注 nvarchar 255 日期 smalldatetime 4 用车性质 nvarchar 7 费用 float 8 记录修改日期 varchar 20 记录修改人 varchar 20 表B.3 会议记录数据表 字段名 数据类型 长度 编号 nvarchar 10 会议主题 nvarchar 20 时间 smalldatetime 4 地点 nvarchar 50 主持人 nvarchar 50 记录人 nvarchar 50 会议记录 ntext 16 主题词 nvarchar 50 备注 ntext 16 记录修改日期 varchar 20 记录修改人 varchar 20 表B.4 驾驶人员登记数据表 字段名 数据类型 长度 编号 int 4 姓名 nvarchar 30 性别 nvarchar 2 出生日期 smalldatetime 4 身份证号 nvarchar 20 档案编号 nvarchar 50 领证日期 smalldatetime 4 证件有效期 nvarchar 10 驾龄 nvarchar 20 车本类型 nvarchar 2 单位或住址 nvarchar 50 nvarchar 15 年检记录 ntext 16 事故记录 ntext 16 记录修改日期 varchar 20 记录修改人 varchar 20 表B.5 会议通知数据表 字段名 数据类型 长度 ID int 4 通知主题 varchar 50 会议时间 varchar 30 地点 varchar 50 主持人 varchar 20 大概内容 text 16 通知时间 datetime 8 接收人 varchar 20 信息通知人 varchar 20 是否接收 real 4 表B.6 报销费用管理 字段名 数据类型 长度 ID int 名称 nvarchar 50 类型 nvarchar 50 时间 datetime 金额 money 部门 nvarchar 50 经手人 nvarchar 50 审核人 nvarchar 50 备注 text 16 记录修改日期 varchar 20 记录修改人 varchar 20 表B.7 常用网址 字段名 数据类型 长度 ID int 网站分类 nvarchar 50 地址 nvarchar 50 网站名称 nvarchar 50 表B.8 车辆登记 字段名 数据类型 长度 编号 varchar 20 车属单位 nvarchar 50 车牌号码 nvarchar 20 车辆类型 nvarchar 20 厂牌型号 nvarchar 50 出厂日期 datetime 购置日期 datetime 购置价格 varchar 30 发动机号 varchar 50 车辆颜色 varchar 50 载重 varchar 50 座位 varchar 10 驾驶员 varchar 50 里程数 varchar 30 备注信息 text 16 记录修改日期 varchar 20 记录修改人 varchar 20 表B.9 车辆费用支出管理 字段名 数据类型 长度 ID nvarchar 10 日期 datetime 车牌号码 nvarchar 20 费用名称 nvarchar 30 金额 money 经手人 nvarchar 10 备注 text 16 表B.10 车辆投保信息 字段名 数据类型 长度 车牌号码 nvarchar 50 保险公司 nvarchar 50 保单号 nvarchar 50 车险名称一 nvarchar 50 车险名称二 nvarchar 50 投保日期 datetime 终止日期 datetime 保险金额 int 备注 nvarchar 100 记录修改日期 varchar 20 记录修改人 varchar 20 表B.11 费用 字段名 数据类型 长度 ID int 号码 nvarchar 20 类型 nvarchar 10 部门 nvarchar 20 使用人 nvarchar 12 年份 nvarchar 4 月份 nvarchar 2 金额 money 备注 text 16 记录修改日期 varchar 20 记录修改人 varchar 20 表B.12 个人通讯录 字段名 数据类型 长度 ID int 类型 nvarchar 10 姓名 nvarchar 12 性别 nvarchar 2 单位 nvarchar 50 nvarchar 20 nvarchar 20 nvarchar 20 电子邮件 nvarchar 50 QQ nvarchar 50 MSN nvarchar 50 nvarchar 6 职务 nvarchar 20 地址 nvarchar 50 备注 text 16 表B.13 工作日志信息表 字段名 数据类型 长度 序号 varchar 30 日期 datetime 日志类型 nvarchar 20 内容 text 16 用户名 nvarchar 20 记录修改日期 varchar 20 记录修改人 varchar 20 表B.14 国际 代码及时差 字段名 数据类型 长度 国家或地区 nvarchar 25 城市 nvarchar 18 区号 nvarchar 9 时差 numeric COUNTRY nvarchar 27 CITY nvarchar 21 ID int 表B.15 航班查询 字段名 数据类型 长度 ID int 省份 nvarchar 10 起止地点 nvarchar 20 班期 nvarchar 7 起止时间 nvarchar 11 航班号 nvarchar 6 机型 nvarchar 4 中停 nvarchar 4 备注 nvarchar 10 表B.16 会议室信息表 字段名 数据类型 长度 描述 hys_id varchar 20 编号 hys_mc varchar 50 名称 hys_zws int 座位数 hys_bz text 16 备注 hys_xgrq varchar 20 修改日期 hys_xgr varchar 20 修改人 表B.17 记事本 字段名 数据类型 长度 ID varchar 30 标题 50 时间 datetime 负责人 255 内容 1073741823 记录修改日期 varchar 20 记录修改人 varchar 20 表B.18 归属地 字段名 数据类型 长度 描述 start float 开始位置 end float 结束位置 city 7 城市1 city1 11 城市2 url 20 网络 表B.19 一周工作安排 字段名 数据类型 长度 ID numeric 年份 varchar 20 第几周 varchar 30 周一上午 Text 16 周一下午 Text 16 周二上午 Text 16 周二下午 Text 16 周三上午 Text 16 周三下午 Text 16 周四上午 Text 16 周四下午 Text 16 周五上午 Text 16 周五下午 Text 16 时间段 varchar 16 表B.20 编码大全 字段名 数据类型 长度 省份 nvarchar 9 城市 nvarchar 9 区号 nvarchar 9 nvarchar 9 ID int 表B.21 tb_user〔操作员信息表〕 字段名 数据类型 长度 描述 user_id varchar 20 编号 user_name varchar 50 姓名 user_mm varchar 30 密码 user_yhjs varchar 50 角色 1 real 设置权限 2 real 设置权限 3 real 设置权限 4 real 设置权限 5 real 设置权限 6 real 设置权限 7 real 设置权限 8 real 设置权限 9 real 设置权限 10 real 设置权限 11 real 设置权限 12 real 设置权限 13 real 设置权限 14 real 设置权限 15 real 设置权限 16 real 设置权限 17 real 设置权限 18 real 设置权限 19 real 设置权限 20 real 设置权限 21 real 设置权限 22 real 设置权限 23 real 设置权限 表B.22 tb_zcd〔设置主菜单〕 字段名 数据类型 长度 描述 主菜单编号 numeric 主菜单名称 nvarchar 50 表B.23 tb_zcd_zcd〔设置子菜单〕 字段名 数据类型 长度 描述 子菜单编号 numeric 子菜单名称 nvarchar 50 主菜单名称 nvarchar 50 附录C 文件架构图 主文件架构图如下图。

    图C.1 主文件架构图 会议管理文件架构图和办公管理文件架构图如下图。

    图C.2 会议管理和办公管理文件架构图 车辆管理文件架构图和费用管理文件架构图如下图。

    图C.3 车辆管理与费用管理文件架构图 辅助信息文件架构图和系统管理文件架构图如下图。

    图C.4 辅助信息与系统管理文件架构图

    相关热词搜索:管理系统 毕业设计 范例 行政管理系统毕业设计范例 行政管理毕业报告范文 行政管理毕业论文3000

    • 范文大全
    • 说说大全
    • 学习资料
    • 语录
    • 生肖
    • 解梦
    • 十二星座

    推荐访问

    毕业设计 毕业设计html旅游网站 毕业设计个人工作总结 毕业设计个人心得体会 毕业设计个人总结心得 毕业设计个人总结范文 毕业设计中期检查意见 毕业设计中期检查报告 毕业设计任务书模板 毕业设计任务书范例 毕业设计封面模板 毕业设计展览策划书 毕业设计工作小结 毕业设计平台 毕业设计开题怎么写 毕业设计开题报告 毕业设计开题报告ppt 毕业设计开题报告万能模板 毕业设计开题报告怎么写 毕业设计开题报告怎样写 毕业设计开题报告是什么意思 毕业设计开题报告模板 毕业设计开题报告模板范文 毕业设计开题报告范例 毕业设计开题报告范文样本 毕业设计开题报告预期成果怎么写 毕业设计开题报告题目 毕业设计开题答辩 毕业设计引言要怎么写 毕业设计心得3000字 毕业设计总结和致谢 毕业设计总结大学生 毕业设计总结范文200字 毕业设计报告书应达到的目的 毕业设计报告书是什么 毕业设计报告书目录怎么填 毕业设计报告书目录怎么填写 毕业设计报告书目录怎么填写才正确 毕业设计报告册 毕业设计报告怎么写 毕业设计报告范文 毕业设计指导工作总结怎么写 毕业设计指导工作总结报告 毕业设计指导工作总结范文 毕业设计指导工作记录 毕业设计指导工作记录本 毕业设计指导情况 毕业设计指导情况小结 毕业设计指导教师工作总结 毕业设计指导记录主要工作 毕业设计指导记录内容怎么写