1、 基于SQL的OA办公自动化系统设计摘 要随着中国加入WTO,各行各业都在努力提高自身的竞争力,电信的重组、企业信息化管理进程的加快都在说明一个趋势:传统以红头文件为主的、强调公文处理的办公自动化将从主导地位逐渐减弱,以强调信息服务、知识管理为主的企业信息服务系统将逐渐代替原有的办公自动化。商场如战场,新一代的战争是信息化战争,如何通过互联网这一利器,使企业信息化建设完善起来?这就需要一种高效,稳定的办公自动化系统!通过本系统,企业机关办公中存在的信息不畅、效率低下等一系列问题得到了解决。把知识管理的思想带入了现代社会的办公生活,从而提升了现代企业的信息化程度,改变了人们的生活。本系统是以新闻
2、发布、文件传送为核心的办公自动化系统,是一套集新闻管理、文件传送管理、信息发布、人事管理、局域网短消息快速传送等5部分为一体的办公自动化系统。关键词 OA;自动化;管理DESIGNING OF OFFICE AUTOMATION SYSTEM BASED ON SQLABSTRACTWith Chinas accession to WTO, various trades and industries are struggling to improve their own competitiveness, Telecoms restructuring, speeding up the proce
3、ss of enterprise information management shows a trend: traditionally dominated by red tape, stressed the Office Automation of document processing from the dominant fade to emphasize information services, knowledge management-oriented enterprise information service system will gradually replace the e
4、xisting Office Automation. Market is an arena, a new generation of information war is the war of how this weapon over the Internet, make the perfection of the enterprise information construction? which requires an efficient, stable office automation system! through our system, Enterprise Office info
5、rmation in poor, inefficient, and a series of issues has been resolved. Thinking of knowledge management into the Office life in modern society, thus improving modern enterprise Informationization, changing peoples lives. The system was based on press releases, Office Automation of file transfer as
6、a core system, is a collection of news management, file transfer, information releases, personnel management, local area network short message 5 parts such as express delivery as one of the Office Automation Systemkeywords OA;automation;managemenII目 录摘要IABSTRACTII1.系统简介11.1 系统概述11.2 系统特点12 系统分析22.1
7、需求分析22.2 可行性分析23 总体设计33.1 项目规划33.2 系统工作原理结构图34 功能介绍54.1 模块功能介绍54.2 系统首页的运行结果55 系统设计75.1 设计目标75.2 开发及运行环境75.3 逻辑结构设计76 系统登录模块设计87 日常管理模块设计137.1 通知管理137.1.1 发布通知137.1.2 接收通知137.1.3 已发通知147.2 新闻管理147.2.1 新闻发布147.2.2 新闻接收157.2.3 己发新闻167.3 文件传送177.3.1 传送文件177.4 交流管理197.4.1 意见箱197.4.2 投票活动207.5 短消息服务208 系
8、统维护管理218.1 人事管理218.2 投票管理218.3 意见箱管理238.4 系统设置23结 论25致 谢26参考文献27附录1 数据表结构28附录2 文件架构图301.系统简介1.1 系统概述OA办公自动化系统软件具有较独特的功能,主要是对通知进行接收、新闻进行接收及文件传送等功能。OA办公自动化系统操作起来比较方便、快捷。功能全面、易懂。个性化的设置理念,独特、清晰、明了的界面,更让人有耳目一新的感觉。1.2 系统特点第一,本软件完全支持按键跳到下一文本框的功能,无需在用鼠标去定位光标的位置了。第二,在一些辅助工具中,为了给用户带来方便,本软件在各个模块都中都设计了快捷键,例如,选择
9、通知管理模块,按快捷键直接可对通知管理模块进行操作。第三,本系统界面美观、操作简单。第四,程序操作流程清晰。2 系统分析2.1 需求分析通过调查,要求系统具有以下功能:由于操作人员的计算机知识普遍较差,因此要求有良好的人机界面。 由于该系统的使用对象多,因此要有较好的权限管理。方便数据的查询,修改。信息发布与文件传送的速度快。通过座机能够直接“透视”公司的各项工作及活动安排。用MSChart图表显示活动投票结果。在相应的权限下,管理员可以删除数据2.2 可行性分析开发任何一个基于计算机的系统,都会受到时间和资源上的限制。因此,在接受任何一个项目开发任务之前,必须根据老师可能提供的时间和资源条件
10、进行可行性分析,以减少项目开发风险,避免人力、物力和财力的浪费。本系统数据库采用目前比较流行的Microsoft SQL Server,该数据库系统在安全性、准确性、运行速度方面有绝对的优势,并且处理数据库量大,效率高;前台采用Microsoft公司的Visual Basic 6.0作为主要的开发工具,其可与SQL Server 2000数据库无缝链接。3 总体设计3.1 项目规划 OA办公自动化系统是一个典型的网络办公开发应用程序,它包含通知管理模块、新闻管理模块、文件管理模块、交流管理模块、系统维护管理模块等。(1) 通知管理模块该模块主要负责信息的发布、接收等。(2) 新闻管理模块 该模
11、块主要负责新闻的发布、接收等。(3) 文件管理模块该模块主要负责文件的发布、接收等。(4) 交流管理模块 该模块主要实现意见反馈、活动投票。(5) 系统维护管理模块该模块主要负责用户添加、删除,密码、权限的修改,意见箱的管理,投票活动管理。3.2 系统工作原理结构图一 系统工作原理结构图如图3-1所示。图3-1 系统工作原理网络结构图 二 系统功能构架图如图3-2所示图3-2 系统构功能架图4 功能介绍4.1 模块功能介绍系统主要包括以下功能模块:(1) 系统登录模块:用于用户登录管理。(2) 通知管理模块:包括发布通知、接收通知、已发通知3部分。(3) 新闻管理模块:包括新闻发布、新闻接收、
12、已发新闻3部分。(4) 文件传输模块:传送文件。(5) 交流管理模块:包括意见箱、投票活动、意见箱管理、系统设置4部分。4.2 系统首页的运行结果系统首页的运行结果如图4-1所示图4-1 企业办公自动化系统首页5 系统设计5.1 设计目标本系统是针对中小型企业内部办公自动化管理的要求进行设计的,主要实现如下目标:(1)系统采用人机对话方式,界面清晰、信息查询灵活、方便、快捷、准确、数据存储安全可靠。(2)利用系统快速的统计生产的数据报表,并对报表信息进行打印。(3)键盘操作,快速响应。(4)实现了办公的信息自动化管理功能。(5)对系统用户进行管理。(6)系统运行稳定、安全可靠。5.2 开发及运
13、行环境硬件平台:(1)CPU:P41.8GHz;(2)存:256MB以上。软件平台:(1)操作系统:Windows xp/ Windows 2000。(2)数据库:SQL Server 2000。(3)分辨率:最佳效果1024768像素。5.3 逻辑结构设计本系统数据库采用SQL Server 2000数据库,系统数据库名称为db_office。数据库db_office中包含5张表。数据库中的数据表请参见附录一6 系统登录模块设计系统登录模块主要用于验证用户登录系统时输入的用户名、密码、验证码是否正确,如果正确用户进入系统,否则将不能进入此系统。系统登录页面的设计效果如图6-1所示图6-1 系
14、统登录页面系统登录页面所涉及到的程序代码如下: 单击名称为labLogin的Label控件用来进行用户安全性检查,如果用户名称和密码正确,则进入系统并分配相应的权限。在Label控件名称为labLogin的Click事件下,添加代码如下:Private Sub labLogin_Click() adoLogin.ConnectionString = PublicStr adoLogin.RecordSource = select * from tbOA_user where username= + Text1.Text + and userpwd= + Text2.Text + adoLogi
15、n.Refresh If adoLogin.Recordset.RecordCount 0 Then If adoLogin.Recordset.Fields(2).Value = 0 Then frm_mainBefore.Show frm_mainBefore.System.Enabled = False 权限约束 frm_mainBefore.StatusBar1.Panels(1).Text = 操作职员: & Text1.Text 设置控件TreeView树状菜单 Set n1 = frm_mainBefore.TreeView1.Nodes.Add(, tvwChild, 通知管理
16、, 通知管理, 1) Set node1 = frm_mainBefore.TreeView1.Nodes.Add(n1.Index, tvwChild, 发布通知, 发布通知, 1) Set node1 = frm_mainBefore.TreeView1.Nodes.Add(n1.Index, tvwChild, 接收通知, 接收通知, 1) Set node1 = frm_mainBefore.TreeView1.Nodes.Add(n1.Index, tvwChild, 已发通知, 已发通知, 1) Set n2 = frm_mainBefore.TreeView1.Nodes.Add
17、(, tvwChild, 新闻管理, 新闻管理, 1) Set nnode2 = frm_mainBefore.TreeView1.Nodes.Add(n2.Index, tvwChild, 新闻发布, 新闻发布, 1) Set node2 = frm_mainBefore.TreeView1.Nodes.Add(n2.Index, tvwChild, 接收新闻, 接收新闻, 1) Set node2 = frm_mainBefore.TreeView1.Nodes.Add(n2.Index, tvwChild, 已发新闻, 已发新闻, 1) Set n4 = frm_mainBefore.T
18、reeView1.Nodes.Add(, tvwChild, 文件传送, 文件传送, 1) Set nnode4 = frm_mainBefore.TreeView1.Nodes.Add(n4.Index, tvwChild, 传送文件, 传送文件, 1) Set node4 = frm_mainBefore.TreeView1.Nodes.Add(n4.Index, tvwChild, 接收文件, 接收文件, 1) Set node4 = frm_mainBefore.TreeView1.Nodes.Add(n4.Index, tvwChild, 已发文件, 已发文件, 1) Set n3
19、= frm_mainBefore.TreeView1.Nodes.Add(, tvwChild, 交流管理, 交流管理, 1) Set node3 = frm_mainBefore.TreeView1.Nodes.Add(n3.Index, tvwChild, 意见箱, 意见箱, 1) Set node3 = frm_mainBefore.TreeView1.Nodes.Add(n3.Index, tvwChild, 投票活动, 投票活动, 1) Set node3 = frm_mainBefore.TreeView1.Nodes.Add(n3.Index, tvwChild, 短消息服务,
20、短消息服务, 1) Else frm_mainBefore.Show frm_mainBefore.StatusBar1.Panels(1).Text = 操作职员: & Text1.Text 设置控件TreeView树状菜单 Set n1 = frm_mainBefore.TreeView1.Nodes.Add(, tvwChild, 通知管理, 通知管理, 1) Set node1 = frm_mainBefore.TreeView1.Nodes.Add(n1.Index, tvwChild, 发布通知, 发布通知, 1) Set node1 = frm_mainBefore.TreeVi
21、ew1.Nodes.Add(n1.Index, tvwChild, 接收通知, 接收通知, 1) Set node1 = frm_mainBefore.TreeView1.Nodes.Add(n1.Index, tvwChild, 已发通知, 已发通知, 1) Set n2 = frm_mainBefore.TreeView1.Nodes.Add(, tvwChild, 新闻管理, 新闻管理, 1) Set nnode2 = frm_mainBefore.TreeView1.Nodes.Add(n2.Index, tvwChild, 新闻发布, 新闻发布, 1) Set node2 = frm
22、_mainBefore.TreeView1.Nodes.Add(n2.Index, tvwChild, 接收新闻, 接收新闻, 1) Set node2 = frm_mainBefore.TreeView1.Nodes.Add(n2.Index, tvwChild, 已发新闻, 已发新闻, 1) Set n4 = frm_mainBefore.TreeView1.Nodes.Add(, tvwChild, 文件传送, 文件传送, 1) Set nnode4 = frm_mainBefore.TreeView1.Nodes.Add(n4.Index, tvwChild, 传送文件, 传送文件,
23、1) Set node4 = frm_mainBefore.TreeView1.Nodes.Add(n4.Index, tvwChild, 接收文件, 接收文件, 1) Set node4 = frm_mainBefore.TreeView1.Nodes.Add(n4.Index, tvwChild, 已发文件, 已发文件, 1) Set n3 = frm_mainBefore.TreeView1.Nodes.Add(, tvwChild, 交流管理, 交流管理, 1) Set node3 = frm_mainBefore.TreeView1.Nodes.Add(n3.Index, tvwCh
24、ild, 意见箱, 意见箱, 1) Set node3 = frm_mainBefore.TreeView1.Nodes.Add(n3.Index, tvwChild, 投票活动, 投票活动, 1) Set node3 = frm_mainBefore.TreeView1.Nodes.Add(n3.Index, tvwChild, 短消息服务, 短消息服务, 1) Set n5 = frm_mainBefore.TreeView1.Nodes.Add(, tvwChild, 系统维护管理, 系统维护管理, 1) Set node5 = frm_mainBefore.TreeView1.Node
25、s.Add(n5.Index, tvwChild, 人事管理, 人事管理, 1) Set node5 = frm_mainBefore.TreeView1.Nodes.Add(n5.Index, tvwChild, 投票管理, 投票管理, 1) Set node5 = frm_mainBefore.TreeView1.Nodes.Add(n5.Index, tvwChild, 意见箱管理, 意见箱管理, 1) Set node5 = frm_mainBefore.TreeView1.Nodes.Add(n5.Index, tvwChild, 系统设置, 系统设置, 1) End If Unlo
26、ad Me End IfEnd Sub在用户名表中输入“mr”字母,在【密码】处输入“mrsoft”,单击【登录】按钮,即可以此操作员的身份进入OA办公自动化系统,主界面如图6-2所示图6-2 系统登陆主界面7 日常管理模块设计7.1 通知管理7.1.1 发布通知在主界面中单击【通知管理】/【发布通知】项。将打开“发布通知”界面,在“接收部门”和“接收人”的下拉列表框中选择数据后,单击“发布通知”按钮即可发布成功。其运行结果如图7-1所示图7-1 发布通知7.1.2 接收通知在主界面中单击【通知管理】/【接收通知】项。将打开“接收通知”界面,其运行结果如图7-2所示图7-2 接收通知7.1.3
27、 已发通知在主界面中单击【通知管理】/【己发通知】项。将打开“己发通知”界面,在弹出的文本框中可显示所有以发布的通知。其运行结果如图7-3所示图7-3 己发通知主要代码如下:Private Sub Form_Load()adoNotice.ConnectionString = pstradoNotice.RecordSource = select notice_date,notice_person,notice_acceptdept,notice_acceptperson,notice_text from tboa_notice where notice_person= & frm_login
28、.Text1.Text & order by notice_dateadoNotice.RefreshSet MSHFlexGrid1.DataSource = adoNoticeCall setNotice_CaptionEnd Sub7.2 新闻管理7.2.1 新闻发布在主界面中单击【新闻管理】/【新闻发布】项。将打开“新闻发布”界面,在“接收部门”和“接收人”的下拉列表框中选择数据后,单击“发布新闻”按钮即可发布成功其运行结果如图7-4所示图7-4 新闻发布1)在窗体中添加4个“Label”控件、两个“Combo”控件、3个“ADO”控件、两个“TextBox”控件和两个“Command
29、Button”控件,属性设置如图所示:2)添加“DTPicker”控件。该控件属于“ActiveX”控件,在使用之前必须从“部件”对话框中添加工具箱中,添加方法为:在“部件”对话框中选中“Microsoft Windows Common Controls-2 6.0”列表项。3)程序代码类似于“发布通知”窗体的代码7.2.2 新闻接收在主界面中单击【新闻管理】/【新闻接收】项。将打开“新闻接收”界面,其运行结果如图7-5所示图7-5 新闻接收查询:在时间下拉列表中选要查询的时间,单击“查询”按钮即可显示出在这段时间内所有的数据。显示所有新闻:单击“显示所有新闻”按钮,即可显示当前所有的数据。删
30、除:选择要删除的数据,单击“删除”按钮即可删除成功。7.2.3 己发新闻在主界面中单击【新闻管理】/【己发新闻】项。将打开“己发新闻”界面,在弹出的文本框中可显示所有以发布的新闻。其运行结果如图7-6所示图7-6 己发新闻7.3 文件传送7.3.1 传送文件代码设计在“Form”窗体装载时,主要实现以下功能。建立“adoDept”控件的数据库连接。为“Commbo1”控件添加部门名称数据。获取系统操作员的姓名,并通过“txtName”控件显示出来。使“DTPicker1”控件显示当前日期。 在“Form”窗体的“Load”事件中添加如下代码:Private Sub Form_Load()Me.
31、Icon = frm_mainbefore.Image1.Picture设置combo1adoDept.ConnectionString = pstradoDept.RecordSource = select * from tboa_deptadoDept.RefreshFor i = 0 To adoDept.Recordset.RecordCount - 1Combo1.AddItem adoDept.Recordset.Fields(0).ValueadoDept.Recordset.MoveNextNext i 设置combo2adoPerson.ConnectionString =
32、pstradoPerson.RecordSource = select user_name from dboa_useradoPerson.RefreshFor i = 0 To adoPerson.Recordset.RecordCount - 1Combo2.AddItem adoPerson.Recordset.Fields(0).ValueadoPerson.Recordset.MoveNextNext i设置发布人 txtName.Text = Mid(frm_mainbefore.StatusBar1.Panels(1).Text, 6, Len(frm_mainbefore.St
33、atusBar1.Panels(1).Text) - 5)DTPicker1.Value = DateEnd Sub单击“传送文件”按钮,将相应文件数据保存到数据库中,代码如下:Private Sub cmdSend_Click()Dim cn As ADODB.Connection, rs As ADODB.Recordset, st As StreamMe.MousePointer = 11 设置鼠标的形状,沙漏型的Set cn = New ADODB.Connectioncn.ConnectionString = pstrcn.OpenSet rs = New ADODB.Records
34、etrs.Open select * from tboa_file, cn, adOpenStatic, adLockOptimisticSet st = New ADODB.Streamst.Type = adTypeBinaryst.Openst.LoadFromFile txtFile.Textrs.AddNewrs.Fields(1).Value = txtSubject.Textrs.Fields(2).Value = txtMemo.Textrs.Fields(3).Value = txtName.Textrs.Fields(4).Value = Combo1.Textrs.Fie
35、lds(5).Value = Combo2.Textrs.Fields(6).Value = Nowrs.Fields(7).Value = st.Readrs.Fields(8).Value = CommonDialog1.FileTitle 只显示文件名rs.Updaters.Closecn.CloseMe.MousePointer = 0MsgBox 文件传送成功!, vbInformationCombo1.Text = Combo2.Text = txtSubject.Text = txtFile.Text = txtMemo.Text = 7.4 交流管理7.4.1 意见箱在主界面中
36、单击【交流管理】/【意见箱】项。将打开“意见箱”界面,其运行结果如图7-7所示图7-7 意见箱“提交”按钮的Click事件代码如下:Private Sub cmdSend_Click()adoIdea.ConnectionString = pstradoIdea.RecordSource = select * from tboa_ideaadoIdea.RefreshadoIdea.Recordset.AddNewadoIdea.Recordset.Fields(1).Value = Text1.TextadoIdea.Recordset.Fields(2).Value = Text2.Tex
37、tadoIdea.Recordset.UpdateMsgBox 您的意见已成功提交,感谢您提意见!, vbInformation, 提示:Text1.Text = Text2.Text = End Sub7.4.2 投票活动在主界面中单击【交流管理】/【投票活动】项。将打开“投票活动”界面,勾选所要提交的数据,单击“提交”按钮即可提交。其运行结果如图7-8所示图7-8 投票活动7.5 短消息服务在主界面中单击【交流管理】/【短消息服务】项。将打开“短消息服务”界面,输入内容,并选择接收机器的名称,单击“发送消息”按钮即可。其运行结果如图7-9所示图7-9 短消息服务8 系统维护管理系统维护管理
38、主要包括【人事管理】、【投票管理】、【意见箱管理】及【系统设置】8.1 人事管理在主界面中单击【系统维护管理】/【人事管理】项。将打开“人事管理”界面,其运行结果如图8-1所示图8-1 人事管理显示:单击“显示”按钮,在弹出的下拉列表中,双击该数据即可显示,其运行结果如图8-1所示。添加:单击“添加”按钮,在各文本框中输入数据后,单击“保存”按钮即可添加成功。修改:选择要修改的数据,单击“修改”按钮即可对数据进行修改,修改后单击“保存”按钮即可修改成功。删除:选择要删除的数据,单击“删除”按钮即可删除成功。取消:单击“取消”按钮可以取消当时的操作。8.2 投票管理在主界面中单击【系统维护管理】
39、/【投票管理】项。将打开“投票管理”界面,其运行结果如图8-2所示图8-2 投票管理添加:在“活动名称”和“活动描述”文本框中输入数据后,单击“添加”按钮即可添加成功。其运行结果如图8.2所示。删除:选择要删除的数据,单击“删除”按钮即可删除此数据。清除投票记录:单击“清除投票记录”按钮即可清除投票记录。显示图表:单击“显示图表”按钮即可显示图表的记录。其运行结果如图8-3所示图8-3 图表显示8.3 意见箱管理在主界面中单击【系统维护管理】/【意见箱管理】项。将打开“意见箱管理”界面,选择要清除的数据,单击“清除数据”按钮即可清除此数据。其运行结果如图8-4所示图8-4 意见箱管理8.4 系
40、统设置在主界面中单击【系统维护管理】/【系统设置】项。将打开“系统设置”界面,其运行结果如图8-5所示。图8-5 系统设置添加:在用户名称的下拉列表框中选择用户名,输入密码后单击“添加”按钮即可添加成功。修改:选择要修改的数据,修改后单击“修改”按钮即可修改成功。删除:选择要删除的数据,单击“删除”按钮即可删除此数据结 论经过这次毕业设计的设计和开发,面向对象办公室信息系统已经基本开发完成。其功能基本符合用户需求,能够完成新闻管理、文件传送管理、信息发布、人事管理、局域网短消息快速传送等功能,对于数据的一致性问题也通过程序进行了一定的解决。但是由于毕业设计时间较短,刚开始的时候对开发工具还是一
41、无所知,所以该系统还有许多不尽如人意的地方,比如联机文档少,用户界面还不够完善,出错处理不够等方面问题。这些都有待进一步改善。致 谢在本次毕业设计中,我从指导老师X老师身上学到了很多东西。老师认真负责的工作态度,严谨的治学精神和深厚的理论水平都使我收益匪浅。他无论在理论上还是在实践中,都给与我很大的帮助,使我得到不少的提高这对于我以后的工作和学习都有一种巨大的帮助,感谢他耐心的辅导。还要要特别感谢我的舍友,是因为他们给我提供了完成毕业设计的硬件条件,使得我能够顺利的完成毕业设计,在次我对其表示最诚挚的谢意,最后要感谢所有关心、支持我们的老师们和所有支持我的同学们。 参考文献1刘瑞新,李树东,万
42、朝阳. Visual Basic 程序设计教程. 电子工业出版社,20002周颖. Visual Basic 6.0实例精通. 清华大学出版社,20003高春艳,李俊民. Visual Basic数据库系统开发案例精选. 人民邮电出版社,20064宋昆,李严. SQL Server数据库开发实例解析. 机械工业出版社,20065赛奎春,高春艳. Visual Basic精彩编程200例. 机械工业出版社,20036姚巍. Visual Basic数据库开发及工程实例. 人民邮电出版社,20037高春艳,李俊民等. Visual Basic工程应用与项目实践. 机械工业出版社,20058刘志鹏,
43、王建国等. 数据库程序设计SQL Server 2000. 人民邮电出版社,20049刘志铭,高春艳等. Visual Basic数据库开发实例解析. 机械工业出版社,200310段兴主编. Visual Basic实用教程100例. 北京:人民邮电出版社,200211刘炳文编著. 精通Visual Basic 6.0中文版. 北京:电子工业出版社,199912刘钢编著. Visual Basic 6.0程序设计实用教程. 北京:中国民航出版社,200013晶辰工作室编著. Visual Basic 6.0实用参考手册. 北京:电子工业出版社,1998附录1 数据表结构表.1 文件数据表的结构
44、字段名数据类型长度主键否描述file_idint主键IDfile_subjectvarchar30文件主题file_textvarchar50文件描述file_personvarchar16传送人file_deptvarchar30接收部门file_namevarchar16接收人file_datedatetime8传送日期file_fileimage16文件file_typevarchar20文件类型表.2 意见表的结构字段名数据类型长度主键否描述idear_idint主键意见IDidear_subjectvarchar30意见主题idear_textvarchar50意见内容表.3 新闻表的结构字段名数据类型长度主键否描述news_idint主键新闻IDnews_datedatetime