OA办公自动化系统的设计毕业论文.docx
- 文档编号:24369586
- 上传时间:2023-05-26
- 格式:DOCX
- 页数:63
- 大小:1.81MB
OA办公自动化系统的设计毕业论文.docx
《OA办公自动化系统的设计毕业论文.docx》由会员分享,可在线阅读,更多相关《OA办公自动化系统的设计毕业论文.docx(63页珍藏版)》请在冰豆网上搜索。
OA办公自动化系统的设计毕业论文
OA办公自动化系统的设计毕业论文
第1章系统分析
1.1需求分析……………………………………………………………1
1.2可行性分析……………………………………………………………1
第2章总体设计
2.1项目规划………………………………………………………………2
2.2系统功能架构图………………………………………………………2
第3章数据库的设计
3.1数据表的概要说明……………………………………………………3
3.2主要数据表的结构……………………………………………………3
第4章主要功能模块的设计
4.1公共模块设计…………………………………………………………6
4.2登录界面设计………………………………………………………6
4.3主界面设计…………………………………………………………10
4.4通知管理………………………………………………………………14
4.5新闻管理………………………………………………………………21
4.6文件管理………………………………………………………………24
4.7交流管理………………………………………………………………31
4.8系统维护管理………………………………………………………35
4.9其它模块………………………………………………………………43
第5章问题分析与解决
5.1由于“ADO”属性中记录源命令类型设置不同出现的问题…………51
5.2如何利用CommonDialog控件………………………………………52
5.3ComboBox控件设置为只读属性后,如何添加列表…………………53
5.4如何将多种格式的文件保存到数据库中……………………………54
结论
致谢
参考文献
第1章系统分析
1.1需求分析
通过调查,要求系统具有以下功能。
*由于操作人员的计算机知识普遍较差,因此要求有良好的人机界面。
*由于该系统的使用对象多,因此要有较好的权限管理。
*方便数据的查询,修改。
*信息发布与文件传送的速度快。
*通过座机能够直接“透视”公司的各项工作及活动安排。
*用MSChart图表显示活动投票结果。
*在相应的权限下,管理员可以删除数据
1.2可行性分析
开发任何一个基于计算机的系统时,都会受到时间和资源上的限制。
因此,在接受任何一个项目开发任务之前,必须根据客户可能提供的时间和资源条件进行可行性分析,以减少项目开发风险,避免人力、物力和财力的浪费。
本系统的数据库采用目前比较浒的SQLServer2000,该数据库系统在安全性、准确性、运行速度方面有绝对的优势,并且处理数据量大、效率高;前台采用Microsoft公司的VisualBasic6.0作为主要的开发工具,它可与SQLServer2000数据库无缝。
第2章总体设计
2.1项目规划
OA办公自动化系统是一个典型的网络办公开发应用程序,它包含通知管理模块、新闻管理模块、文件管理模块、交流管理模块、系统维护管理模块等。
(1)通知管理模块
该模块主要负责信息的发布、接收等。
(2)新闻管理模块
该模块主要负责新闻的发布、接收等。
(3)文件管理模块
该模块主要负责文件的发布、接收等。
(4)交流管理模块
该模块主要实现意见反馈、活动投票。
(5)系统维护管理模块
该模块主要负责用户添加、删除,密码、权限的修改,意见箱的管理,投票活动管理。
2.2系统功能构架图
系统构功能架图
第3章数据库的设计
3.1数据库的概要说明
系统数据库的名称为db_OA,包含有8表,下面给出各数据表的作用。
dbOA_user
系统用户表用来存储系统操作员的基本信息
tbOA_news
新闻表主要用于存储新闻的发布信息。
tbOA_notice
通知表主要用来存储办公通知信息。
tbOA_file
文件数据表主要用来存储文件传送的基本信息。
tbOA_idea
意见表主要用于存储员工反馈的意见。
tbOA_vote
投票表主要用来存储活动投票的基本信息。
tbOA_voteRecord
活动投票记录表主要用来存储投票记录人,以避免重复投票。
tbOA_dept
部门表主要用来存储公司部门信息的表。
3.2主要数据表的结构
表1dbOA_user
字段名
数据类型
长度
主键否
描述
username
vachar
20
Y
用户名
userjpwd
vachar
20
N
密码
userbit
bit
N
权限标记
表2tbOA_news
字段名
数据类型
长度
主键否
描述
news_id
int
Y
新闻ID
news_date
datetime
N
新闻发布时间
news_person
vachar
12
N
发布人
news_acceptDept
vachar
50
N
新闻接收部门
news_acceptPerson
vachar
12
N
接收人
news_bit
bit
N
标记
news_text
vachar
50
N
备注
表3tbOAnotice
字段名
数据类型
长度
主键否
描述
notice_id
int
Y
通知ID
notice_date
datetime
N
通知时间
notice_person
vachar
12
N
发布通知人
notice_acceptDept
vachar
30
N
通知部门
notice_acceptPerson
vachar
12
N
通知人
notice_bit
bit
1
N
标记
notice_text
vachar
500
N
备注
表4tbOA_file
字段名
数据类型
长度
主键否
描述
file_id
int
Y
ID
file_subject
varchar
30
N
文件主题
file_text
varchar
50
N
文件描述
file_person
varchar
16
N
传送人
file_dept
varchar
30
N
接收部门
file_name
varchar
16
N
接收人
file_date
datetime
8
N
传送日期
file_file
image
16
N
文件
file_type
varchar
20
N
文件类型
表5tbOA_idea
字段名
数据类型
长度
主键否
描述
idear_id
int
Y
意见ID
idear_subject
varchar
30
N
意见主题
idear_text
varchar
50
N
意见容
表6tbOA_vote
字段名
数据类型
长度
主键否
描述
vote_id
int
Y
活动ID
vote_subject
varchar
30
N
活动主题
vote_memo
varchar
50
N
活动备注
vote_qty
float
N
投票数量
表7tbOA_voteRecord
字段名
数据类型
长度
主键否
描述
voteRecord_id
int
Y
ID
voteRecord_name
varchar
16
N
投票人
表8tbOA_dept
字段名
数据类型
长度
主键否
描述
dept_id
int
Y
部门编号
dept_name
varchar
30
N
部门名称
dept_describe
Text
16
N
描述信息
第4章主要功能模块的设计
4.1公共模块设计
为了节省系统资源,实现代码重用,可以在系统中新建一个Module1模块。
就本系统而言,该模块主要用于实现数据库的共享连接。
在以后的编程中,如果使用对象访问数据库或“ADOData”控件访问数据库则可以直接将数据库连字符串的值赋给相应的“ConnectionString”属性,从而避免了重复建立数据库的麻烦,以防失去ADO+SQL的优越性能。
代码如下:
PublicpstrAsString
PublicSubmain()
'共享连接字符串
pstr="Provider=SQLOLEDB.1;PersistSecurityInfo=False;UserID=sa;
pwd=sa;InitialCatalog=db_OA;DataSource=A-PC"
'调用frm_login窗口
frm_login.Show
EndSub
4.2登录界面设计
本系统属于OA办公自动化系统,用户权限分为系统管理员和普通用户两种。
“系统登录”窗体用于难操作员及其密码,主要通过打开数据库连接、打开数据结合if语句,判断用户输入的操作员及密码是否符合数据库中的操作员和密码,如果符合则允许登录,并给予相应的权限,否则提示用户不存在。
1.窗体设计
新建一个窗体,将窗体的BorderStyle属性设置为“0-None”,设置Picture属性,为窗体添加图片。
添加两个“Label”控件,设置其BackStyle属性设置为“0-Transparent”。
添加两个“TextBox”控件,设置其BorderStyle属性为“0-None”。
添加两个“CommondButton”控件,分别将其Caption属性设置为“登录”、“退出”。
“系统登录”窗体的设计结果如下图所示:
图4.2
2.代码设计
双击“登录”按钮(labLogin)添加如下事件代码:
PrivateSublabLogin_Click()
Setcon=NewADODB.Connection
Setrs=NewADODB.Recordset
con.ConnectionString=pstr
con.Open
mysql="select*fromdbOA_userwhereuser_name='"+Text1.Text+"'"
rs.Openmysql,con
'判断是否存在用户
Ifrs.EOFThen
MsgBox"没有这个用户,请重新输入用户名!
"
con.Close
Text1.Text=""
Text1.SetFocus
'如果存在,判断用户输入的密码是否正确
Else
IfTrim(rs("user_pwd"))=Trim(Text2.Text)Then'rs.fields
(1)=Text2.Text
frm_login.Hide
'如果密码正确,判断用户权限,如果用户没有管理权限则设置主界面的TreeView控件
'的树状菜单为操作员的样式
Ifrs.Fields
(2)=FalseThen
frm_mainbefore.Show
frm_mainbefore.StatusBar1.Panels
(1).Text="操作职员:
"&Text1.Text
'显示系统时间
frm_mainbefore.StatusBar1.Panels
(2).Text=Format(Now,"m/d/yy")
'设置treeview控件的树状菜单
Setn1=frm_mainbefore.TreeView1.Nodes.Add(,tvwChild,"通知管理","通知管理",1)
Setnode1=frm_mainbefore.TreeView1.Nodes.Add(n1,tvwChild,"发布通知","发布通知",1)
Setnode1=frm_mainbefore.TreeView1.Nodes.Add(n1,tvwChild,"接收通知","接收通知",1)
Setnode1=frm_mainbefore.TreeView1.Nodes.Add(n1,tvwChild,"已发通知","已发通知",1)
Setn2=frm_mainbefore.TreeView1.Nodes.Add(,tvwChild,"新闻管理","新闻管理",1)
Setnode2=frm_mainbefore.TreeView1.Nodes.Add(n2,tvwChild,"新闻发布","新闻发布",1)
Setnode2=frm_mainbefore.TreeView1.Nodes.Add(n2,tvwChild,"接收新闻","接收新闻",1)
Setnode2=frm_mainbefore.TreeView1.Nodes.Add(n2,tvwChild,"已发新闻","已发新闻",1)
Setn3=frm_mainbefore.TreeView1.Nodes.Add(,tvwChild,"文件传送","文件传送",1)
Setnode3=frm_mainbefore.TreeView1.Nodes.Add(n3,tvwChild,"传送文件","传送文件",1)
Setnode3=frm_mainbefore.TreeView1.Nodes.Add(n3,tvwChild,"接收文件","接收文件",1)
Setnode3=frm_mainbefore.TreeView1.Nodes.Add(n3,tvwChild,"已发文件","已发文件",1)
Setn4=frm_mainbefore.TreeView1.Nodes.Add(,tvwChild,"交流管理","交流管理",1)
Setnode4=frm_mainbefore.TreeView1.Nodes.Add(n4,tvwChild,"意见箱","意见箱",1)
Setnode4=frm_mainbefore.TreeView1.Nodes.Add(n4,tvwChild,"投票活动","投票活动",1)
Else
frm_mainbefore.Show
'拥有操作权限,设置TreeView控件的树状菜单为管理员的样式
frm_mainbefore.StatusBar1.Panels
(1).Text="管理职员:
"&Text1.Text
frm_mainbefore.StatusBar1.Panels
(2).Text=Format(Now,"m/d/yy")
Setn1=frm_mainbefore.TreeView1.Nodes.Add(,tvwChild,"通知管理","通知管理",1)
Setnode1=frm_mainbefore.TreeView1.Nodes.Add(n1,tvwChild,"发布通知","发布通知",1)
Setnode1=frm_mainbefore.TreeView1.Nodes.Add(n1,tvwChild,"接收通知","接收通知",1)
Setnode1=frm_mainbefore.TreeView1.Nodes.Add(n1,tvwChild,"已发通知","已发通知",1)
Setn2=frm_mainbefore.TreeView1.Nodes.Add(,tvwChild,"新闻管理","新闻管理",1)
Setnode2=frm_mainbefore.TreeView1.Nodes.Add(n2,tvwChild,"新闻发布","新闻发布",1)
Setnode2=frm_mainbefore.TreeView1.Nodes.Add(n2,tvwChild,"接收新闻","接收新闻",1)
Setnode2=frm_mainbefore.TreeView1.Nodes.Add(n2,tvwChild,"已发新闻","已发新闻",1)
Setn3=frm_mainbefore.TreeView1.Nodes.Add(,tvwChild,"文件传送","文件传送",1)
Setnode3=frm_mainbefore.TreeView1.Nodes.Add(n3,tvwChild,"传送文件","传送文件",1)
Setnode3=frm_mainbefore.TreeView1.Nodes.Add(n3,tvwChild,"接收文件","接收文件",1)
Setnode3=frm_mainbefore.TreeView1.Nodes.Add(n3,tvwChild,"已发文件","已发文件",1)
Setn4=frm_mainbefore.TreeView1.Nodes.Add(,tvwChild,"交流管理","交流管理",1)
Setnode4=frm_mainbefore.TreeView1.Nodes.Add(n4,tvwChild,"意见箱","意见箱",1)
Setnode4=frm_mainbefore.TreeView1.Nodes.Add(n4,tvwChild,"投票活动","投票活动",1)
Setn5=frm_mainbefore.TreeView1.Nodes.Add(,tvwChild,"系统维护管理","系统维护管理",1)
Setnode5=frm_mainbefore.TreeView1.Nodes.Add(n5,tvwChild,"投票管理","投票管理",1)
Setnode5=frm_mainbefore.TreeView1.Nodes.Add(n5,tvwChild,"意见箱管理","意见箱管理",1)
Setnode5=frm_mainbefore.TreeView1.Nodes.Add(n5,tvwChild,"添加用户","添加用户",1)
Setnode5=frm_mainbefore.TreeView1.Nodes.Add(n5,tvwChild,"密码修改","密码修改",1)
EndIf
Else
'密码不正确则显示提示框
MsgBox"输入密码不正确,请重新输入!
",vbOKOnly+vbExclamation,"警告"
con.Close
Text2.Text=""
Text2.SetFocus
EndIf
EndIf
EndSub
4.3主界面设计
主界面主要包括树状菜单、工具栏、状态栏、时间显示以及显示OA办公系统的最新新闻和通知。
1窗体设计
1)新建一个窗体,将窗体的“Caption”属性设置为“OA办公自动化系统”,设置“BackColor”属性为窗体选择合适的背景颜色。
2)添加“ImageList”控件。
该控件属于ActiveX控件,在使用之前必须从“部件”对话框中将其添加到工具箱中。
添加方法为:
在“部件”对话框中选中“MicrosoftWindowsCommonControls6.0(SP6)”列表项。
3)向窗体中添加“Treeview”控件,设置其“Appearance”属性为“0-ccfat”。
“TreeView”控件属于“ActiveX”rpwr,使用前必须将其添加到工具箱中。
为了使“ImageList”控件中的图像能够顺利地显示在“TreeView”控件的节点中,需将“ImageList”绑定到“TreeView”控件上,绑定方法为:
在“TreeView”控件上单击鼠标右键,在弹出的菜单中选择“属性”命令,弹出“属性页”对话框,然后将图像列表属性设置为“ImageList1”
4)添加“MSHFlexGrid”控件,该控件属于Active控件,在使用之前必须将“MSHFlexGrid”控件添加到工具箱中,添加方法为:
在“部件”对话框中选中“MicrosoftHierarchicalFlexGridControl6.0”列表项,添加两个MSHFlexGrid控件,“MSHFlexgrid1”和“MSHFlexGrid2”控件。
5)添加“StatusBar”(状态栏)控件,它主要用来显示操作员信息、系统时间及公司名称。
该控件属于“ActiveX”控件,添加“ImaggeList”控件时已经将该控件添加到工具箱中。
“StatusBar”控件的名称为默认名,单击鼠标右键,在弹出的菜单中选择“属性页”命令,为“StatusBar”控件添加3个窗格,第一个窗格显示系统操作员、第二个窗格显示系统日期、第三个窗格显示公司名称和网址。
主界面的运行结果如下图所示:
图4.3
2代码设计
当窗体激活时,将“TreeView”控件中所有的节点展开。
在“Form”窗体的“Activate”事件下添加如下代码:
'激活窗体的Activate事件,
PrivateSubForm_Activate()
Fori=1ToTreeView1.Nodes.Count
'展开全部节点
TreeView1.Nodes(i).Expanded=True
Nexti
EndSub
单击树状菜单中的菜单,根据所选择的菜单显示相应的窗体。
在“TreeView”控件的NodeClick事件下添加如下代码:
'单击树状菜单中的菜单时,根据所选择的菜单显示相应的窗体
PrivateSubTreeView1_NodeClick(ByValNodeAsMSComctlLib.Node)
'key返回设置字符串,在集合中唯一的标识一个成员
IfTreeView1.SelectedItem.Key="发布通知"ThenFrmNotice_issue.Show
IfTreeView1.SelectedItem.Key="接收通知"ThenFrmNotice_incept.Show
IfTreeView1.SelectedItem.Key="已发通知"ThenFrmNotice_toNoice.Show
IfTreeView1.SelectedItem.Key="新闻发布"ThenfrmNews_issue.Show
IfTreeView1.SelectedItem.Key="接收新闻"ThenFrmNews_incept.Show
IfTreeView1.SelectedItem.Key="已发新闻"ThenFrmNe
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- OA 办公自动化 系统 设计 毕业论文