版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、<p><b> ******學(xué)校</b></p><p><b> 畢業(yè)設(shè)計(jì)(論文)</b></p><p> 作者: 學(xué)號(hào): </p><p> 系部: </p><p>
2、 專業(yè): </p><p> 題目: OA辦公自動(dòng)化系統(tǒng) </p><p> 指導(dǎo)教師: </p><p> 評(píng)閱教師: </p><p> 完成時(shí)間:
3、 2009 年 5 月 5 日</p><p> 畢業(yè)設(shè)計(jì)(論文)中文摘要</p><p> (題目):OA辦公自動(dòng)化系統(tǒng)</p><p> 摘要:在市場競爭中,對(duì)于一個(gè)企業(yè)而言,對(duì)信息的掌握程度、信息獲取是否及時(shí)、信息能否得到充分的、對(duì)信息的反應(yīng)是否敏感準(zhǔn)確越來越成為衡量其市場競爭能力的重要因素。隨著中國加入WTO,各行各業(yè)都在努力提高自身的競爭力,電信的
4、重組、企業(yè)信息化管理進(jìn)程的加快都在說明一個(gè)趨勢:傳統(tǒng)以紅頭文件為主的、強(qiáng)調(diào)公文處理的辦公自動(dòng)化將從主導(dǎo)地位逐漸減弱,以強(qiáng)調(diào)信息服務(wù)、知識(shí)管理為主的企業(yè)信息服務(wù)系統(tǒng)將逐漸代替原有的辦公自動(dòng)化。商場如戰(zhàn)場,新一代的戰(zhàn)爭是信息化戰(zhàn)爭,如何通過互聯(lián)網(wǎng)這一利器,使企業(yè)信息化建設(shè)完善起來?這就需要一種高效,穩(wěn)定的辦公自動(dòng)化系統(tǒng)!通過本系統(tǒng),企業(yè)機(jī)關(guān)辦公中存在的信息不暢、效率低下等一系列問題得到了解決。把知識(shí)管理的思想帶入了現(xiàn)代社會(huì)的辦公生活,從而提
5、升了現(xiàn)代企業(yè)的信息化程度,改變了人們的生活。</p><p> 本論文主要闡述OA辦公自動(dòng)化系統(tǒng)的后臺(tái)操作過程及一些關(guān)鍵技術(shù)。該系統(tǒng)具有新聞管理、文件傳送管理、通知管理、交流管理、系統(tǒng)維護(hù)功能,而且還根據(jù)大多數(shù)客戶需求增加了瀏覽器、播放器等功能,這樣既可以時(shí)時(shí)掌握最新網(wǎng)絡(luò)資源還可以制造一個(gè)輕松的辦公氛圍。</p><p> 關(guān)鍵字 :自動(dòng)化,管理,ActiveX </p>
6、<p> 畢業(yè)設(shè)計(jì)(論文)外文摘要</p><p><b> 目 錄</b></p><p><b> 第1章 系統(tǒng)分析</b></p><p> 1.1 需求分析 …………………………………………………………… 1</p><p> 1.2 可行性分析 ………
7、…………………………………………………… 1</p><p><b> 第2章 總體設(shè)計(jì)</b></p><p> 2.1 項(xiàng)目規(guī)劃 ……………………………………………………………… 2 </p><p> 2.2 系統(tǒng)功能架構(gòu)圖 ……………………………………………………… 2</p><p> 第3章
8、數(shù)據(jù)庫的設(shè)計(jì)</p><p> 3.1 數(shù)據(jù)表的概要說明 …………………………………………………… 3</p><p> 3.2 主要數(shù)據(jù)表的結(jié)構(gòu) …………………………………………………… 3</p><p> 第4章 主要功能模塊的設(shè)計(jì) </p><p> 4.1 公共模塊設(shè)計(jì) …………………………………………………………
9、 6</p><p> 4.2 登錄界面設(shè)計(jì) ……………………………………………………… 6</p><p> 4.3 主界面設(shè)計(jì) ………………………………………………………… 10</p><p> 4.4 通知管理 ……………………………………………………………… 14</p><p> 4.5 新聞管理 ……
10、………………………………………………………… 21</p><p> 4.6 文件管理 ……………………………………………………………… 24</p><p> 4.7 交流管理 ……………………………………………………………… 31</p><p> 4.8 系統(tǒng)維護(hù)管理 ……………………………………………………… 35 </p>&
11、lt;p> 4.9 其它模塊 ……………………………………………………………… 43</p><p> 第5章 問題分析與解決 </p><p> 5.1 由于“ADO”屬性中記錄源命令類型設(shè)置不同出現(xiàn)的問題…………51 </p><p> 5.2 如何利用CommonDialog 控件……………………………………… 52</p>
12、<p> 5.3 ComboBox 控件設(shè)置為只讀屬性后,如何添加列表…………………53</p><p> 5.4 如何將多種格式的文件保存到數(shù)據(jù)庫中…………………………… 54</p><p><b> 結(jié)論</b></p><p><b> 致謝</b></p><p>
13、;<b> 參考文獻(xiàn)</b></p><p> 第 1 章 系統(tǒng)分析</p><p><b> 1.1 需求分析</b></p><p> 通過調(diào)查,要求系統(tǒng)具有以下功能。</p><p> *由于操作人員的計(jì)算機(jī)知識(shí)普遍較差,因此要求有良好的人機(jī)界面。</p><p
14、> *由于該系統(tǒng)的使用對(duì)象多,因此要有較好的權(quán)限管理。</p><p> *方便數(shù)據(jù)的查詢,修改。</p><p> *信息發(fā)布與文件傳送的速度快。</p><p> *通過座機(jī)能夠直接“透視”公司的各項(xiàng)工作及活動(dòng)安排。</p><p> *用MSChart圖表顯示活動(dòng)投票結(jié)果。</p><p> *
15、在相應(yīng)的權(quán)限下,管理員可以刪除數(shù)據(jù) </p><p> 1.2 可行性分析</p><p> 開發(fā)任何一個(gè)基于計(jì)算機(jī)的系統(tǒng)時(shí),都會(huì)受到時(shí)間和資源上的限制。因此,在接受任何一個(gè)項(xiàng)目開發(fā)任務(wù)之前,必須根據(jù)客戶可能提供的時(shí)間和資源條件進(jìn)行可行性分析,以減少項(xiàng)目開發(fā)風(fēng)險(xiǎn),避免人力、物力和財(cái)力的浪費(fèi)。 </p><p> 本系統(tǒng)的數(shù)據(jù)庫采用目前比較滸的SQL Serv
16、er 2000,該數(shù)據(jù)庫系統(tǒng)在安全性、準(zhǔn)確性、運(yùn)行速度方面有絕對(duì)的優(yōu)勢,并且處理數(shù)據(jù)量大、效率高;前臺(tái)采用Microsoft 公司的Visual Basic 6.0 作為主要的開發(fā)工具,它可與SQL Server 2000 數(shù)據(jù)庫無縫鏈接。</p><p> 第 2 章 總體設(shè)計(jì)</p><p><b> 2.1 項(xiàng)目規(guī)劃</b></p><p
17、> OA 辦公自動(dòng)化系統(tǒng)是一個(gè)典型的網(wǎng)絡(luò)辦公開發(fā)應(yīng)用程序,它包含通知管理模塊、新聞管理模塊、文件管理模塊、交流管理模塊、系統(tǒng)維護(hù)管理模塊等。</p><p><b> ?。?)通知管理模塊</b></p><p> 該模塊主要負(fù)責(zé)信息的發(fā)布、接收等。</p><p> ?。?)新聞管理模塊 </p><p>
18、 該模塊主要負(fù)責(zé)新聞的發(fā)布、接收等。</p><p> ?。?) 文件管理模塊</p><p> 該模塊主要負(fù)責(zé)文件的發(fā)布、接收等。</p><p> ?。?)交流管理模塊 </p><p> 該模塊主要實(shí)現(xiàn)意見反饋、活動(dòng)投票。</p><p> ?。?) 系統(tǒng)維護(hù)管理模塊</p><p>
19、 該模塊主要負(fù)責(zé)用戶添加、刪除,密碼、權(quán)限的修改,意見箱的管理,投票活動(dòng)管理。</p><p> 2.2 系統(tǒng)功能構(gòu)架圖</p><p><b> 系統(tǒng)構(gòu)功能架圖</b></p><p> 第3章 數(shù)據(jù)庫的設(shè)計(jì)</p><p> 3.1 數(shù)據(jù)庫的概要說明</p><p> 系統(tǒng)數(shù)據(jù)庫
20、的名稱為db_OA,包含有8張表,下面給出各數(shù)據(jù)表的作用。</p><p> 3.2 主要數(shù)據(jù)表的結(jié)構(gòu)</p><p> 表1 dbOA_user</p><p> 表2 tbOA_news</p><p> 表3 tbOAnotice</p><p> 表4 tbOA_file</p>&l
21、t;p> 表5 tbOA_idea</p><p> 表6 tbOA_vote</p><p> 表7 tbOA_voteRecord</p><p> 表8 tbOA_dept</p><p> 第 4 章 主要功能模塊的設(shè)計(jì)</p><p> 4.1 公共模塊設(shè)計(jì)</p><
22、p> 為了節(jié)省系統(tǒng)資源,實(shí)現(xiàn)代碼重用,可以在系統(tǒng)中新建一個(gè)Module1模塊。就本系統(tǒng)而言,該模塊主要用于實(shí)現(xiàn)數(shù)據(jù)庫的共享連接。在以后的編程中,如果使用對(duì)象訪問數(shù)據(jù)庫或“ADO Data”控件訪問數(shù)據(jù)庫則可以直接將數(shù)據(jù)庫連字符串的值賦給相應(yīng)的“ ConnectionString ”屬性,從而避免了重復(fù)建立數(shù)據(jù)庫的麻煩,以防失去ADO+SQL的優(yōu)越性能。</p><p><b> 代碼如下:&l
23、t;/b></p><p> Public pstr As String</p><p> Public Sub main()</p><p><b> '共享連接字符串</b></p><p> pstr = "Provider=SQLOLEDB.1;Persist Security I
24、nfo=False;User ID=sa;</p><p> pwd=sa;Initial Catalog=db_OA;Data Source=A-PC"</p><p> '調(diào)用frm_login窗口</p><p> frm_login.Show</p><p><b> End Sub</b&g
25、t;</p><p> 4.2 登錄界面設(shè)計(jì)</p><p> 本系統(tǒng)屬于OA辦公自動(dòng)化系統(tǒng),用戶權(quán)限分為系統(tǒng)管理員和普通用戶兩種?!跋到y(tǒng)登錄”窗體用于難操作員及其密碼,主要通過打開數(shù)據(jù)庫連接、打開數(shù)據(jù)結(jié)合if語句,判斷用戶輸入的操作員及密碼是否符合數(shù)據(jù)庫中的操作員和密碼,如果符合則允許登錄,并給予相應(yīng)的權(quán)限,否則提示用戶不存在。</p><p><b&
26、gt; 1.窗體設(shè)計(jì)</b></p><p> 新建一個(gè)窗體,將窗體的BorderStyle 屬性設(shè)置為“0-None”,設(shè)置Picture 屬性,為窗體添加圖片。</p><p> 添加兩個(gè)“Label”控件,設(shè)置其 BackStyle 屬性設(shè)置為“0-Transparent”。</p><p> 添加兩個(gè)“TextBox”控件,設(shè)置其Bord
27、erStyle 屬性為“0-None”。</p><p> 添加兩個(gè)“CommondButton”控件,分別將其Caption屬性設(shè)置為“登錄”、“退出”。</p><p> “系統(tǒng)登錄”窗體的設(shè)計(jì)結(jié)果如下圖所示:</p><p><b> 圖4.2</b></p><p><b> 2. 代碼設(shè)計(jì)&l
28、t;/b></p><p> 雙擊“登錄”按鈕(labLogin)添加如下事件代碼:</p><p> Private Sub labLogin_Click()</p><p> Set con = New ADODB.Connection</p><p> Set rs = New ADODB.Recordset</p&
29、gt;<p> con.ConnectionString = pstr</p><p><b> con.Open</b></p><p> mysql="select * from dbOA_user where user_name ='" + Text1.Text + "'"</p&
30、gt;<p> rs.Open mysql, con</p><p><b> '判斷是否存在用戶</b></p><p> If rs.EOF Then</p><p> MsgBox "沒有這個(gè)用戶,請(qǐng)重新輸入用戶名!"</p><p><b> con.
31、Close</b></p><p> Text1.Text = ""</p><p> Text1.SetFocus</p><p> '如果存在,判斷用戶輸入的密碼是否正確</p><p><b> Else</b></p><p> If Tr
32、im(rs("user_pwd")) = Trim(Text2.Text) Then 'rs.fields(1) = Text2.Text</p><p> frm_login.Hide</p><p> '如果密碼正確,判斷用戶權(quán)限,如果用戶沒有管理權(quán)限則設(shè)置主界面的TreeView控件</p><p> '的
33、樹狀菜單為操作員的樣式</p><p> If rs.Fields(2) = False Then</p><p> frm_mainbefore.Show</p><p> frm_mainbefore.StatusBar1.Panels(1).Text = "操作職員:" & Text1.Text</p><
34、p><b> '顯示系統(tǒng)時(shí)間</b></p><p> frm_mainbefore.StatusBar1.Panels(2).Text = Format(Now, "m/d/yy")</p><p> '設(shè)置treeview控件的樹狀菜單</p><p> Set n1 = frm_mainb
35、efore.TreeView1.Nodes.Add(, tvwChild, "通知管理", "通知管理", 1)</p><p> Set node1 = frm_mainbefore.TreeView1.Nodes.Add(n1, tvwChild, "發(fā)布通知", "發(fā)布通知", 1)</p><p>
36、 Set node1 = frm_mainbefore.TreeView1.Nodes.Add(n1, tvwChild, "接收通知", "接收通知", 1)</p><p> Set node1 = frm_mainbefore.TreeView1.Nodes.Add(n1, tvwChild, "已發(fā)通知", "已發(fā)通知",
37、1)</p><p> Set n2 = frm_mainbefore.TreeView1.Nodes.Add(, tvwChild, "新聞管理", "新聞管理", 1)</p><p> Set node2 = frm_mainbefore.TreeView1.Nodes.Add(n2, tvwChild, "新聞發(fā)布",
38、 "新聞發(fā)布", 1)</p><p> Set node2 = frm_mainbefore.TreeView1.Nodes.Add(n2, tvwChild, "接收新聞", "接收新聞", 1)</p><p> Set node2 = frm_mainbefore.TreeView1.Nodes.Add(n2, tvw
39、Child, "已發(fā)新聞", "已發(fā)新聞", 1)</p><p> Set n3 = frm_mainbefore.TreeView1.Nodes.Add(, tvwChild, "文件傳送", "文件傳送", 1)</p><p> Set node3 = frm_mainbefore.TreeView
40、1.Nodes.Add(n3, tvwChild, "傳送文件", "傳送文件", 1)</p><p> Set node3 = frm_mainbefore.TreeView1.Nodes.Add(n3, tvwChild, "接收文件", "接收文件", 1)</p><p> Set node3 =
41、 frm_mainbefore.TreeView1.Nodes.Add(n3, tvwChild, "已發(fā)文件", "已發(fā)文件", 1)</p><p> Set n4 = frm_mainbefore.TreeView1.Nodes.Add(, tvwChild, "交流管理", "交流管理", 1)</p><
42、;p> Set node4 = frm_mainbefore.TreeView1.Nodes.Add(n4, tvwChild, "意見箱", "意見箱", 1)</p><p> Set node4 = frm_mainbefore.TreeView1.Nodes.Add(n4, tvwChild, "投票活動(dòng)", "投票活動(dòng)&qu
43、ot;, 1)</p><p><b> Else</b></p><p> frm_mainbefore.Show</p><p> '擁有操作權(quán)限,設(shè)置TreeView控件的樹狀菜單為管理員的樣式 </p><p> frm_mainbefore.StatusBar1.Panels(1).
44、Text = "管理職員:" & Text1.Text</p><p> frm_mainbefore.StatusBar1.Panels(2).Text = Format(Now, "m/d/yy")</p><p> Set n1 = frm_mainbefore.TreeView1.Nodes.Add(, tvwChild, &qu
45、ot;通知管理", "通知管理", 1)</p><p> Set node1 = frm_mainbefore.TreeView1.Nodes.Add(n1, tvwChild, "發(fā)布通知", "發(fā)布通知", 1)</p><p> Set node1 = frm_mainbefore.TreeView1.Nod
46、es.Add(n1, tvwChild, "接收通知", "接收通知", 1)</p><p> Set node1 = frm_mainbefore.TreeView1.Nodes.Add(n1, tvwChild, "已發(fā)通知", "已發(fā)通知", 1)</p><p> Set n2 = frm_mai
47、nbefore.TreeView1.Nodes.Add(, tvwChild, "新聞管理", "新聞管理", 1)</p><p> Set node2 = frm_mainbefore.TreeView1.Nodes.Add(n2, tvwChild, "新聞發(fā)布", "新聞發(fā)布", 1)</p><p>
48、; Set node2 = frm_mainbefore.TreeView1.Nodes.Add(n2, tvwChild, "接收新聞", "接收新聞", 1)</p><p> Set node2 = frm_mainbefore.TreeView1.Nodes.Add(n2, tvwChild, "已發(fā)新聞", "已發(fā)新聞"
49、, 1)</p><p> Set n3 = frm_mainbefore.TreeView1.Nodes.Add(, tvwChild, "文件傳送", "文件傳送", 1)</p><p> Set node3 = frm_mainbefore.TreeView1.Nodes.Add(n3, tvwChild, "傳送文件"
50、;, "傳送文件", 1)</p><p> Set node3 = frm_mainbefore.TreeView1.Nodes.Add(n3, tvwChild, "接收文件", "接收文件", 1)</p><p> Set node3 = frm_mainbefore.TreeView1.Nodes.Add(n3, t
51、vwChild, "已發(fā)文件", "已發(fā)文件", 1)</p><p> Set n4 = frm_mainbefore.TreeView1.Nodes.Add(, tvwChild, "交流管理", "交流管理", 1)</p><p> Set node4 = frm_mainbefore.TreeVi
52、ew1.Nodes.Add(n4, tvwChild, "意見箱", "意見箱", 1)</p><p> Set node4 = frm_mainbefore.TreeView1.Nodes.Add(n4, tvwChild, "投票活動(dòng)", "投票活動(dòng)", 1)</p><p> Set n5 = fr
53、m_mainbefore.TreeView1.Nodes.Add(, tvwChild, "系統(tǒng)維護(hù)管理", "系統(tǒng)維護(hù)管理", 1)</p><p> Set node5 = frm_mainbefore.TreeView1.Nodes.Add(n5, tvwChild, "投票管理", "投票管理", 1)</p>
54、<p> Set node5 = frm_mainbefore.TreeView1.Nodes.Add(n5, tvwChild, "意見箱管理", "意見箱管理", 1)</p><p> Set node5 = frm_mainbefore.TreeView1.Nodes.Add(n5, tvwChild, "添加用戶", "
55、;添加用戶", 1)</p><p> Set node5 = frm_mainbefore.TreeView1.Nodes.Add(n5, tvwChild, "密碼修改", "密碼修改", 1)</p><p><b> End If</b></p><p><b> Els
56、e</b></p><p> '密碼不正確則顯示提示框</p><p> MsgBox "輸入密碼不正確,請(qǐng)重新輸入!",vbOKOnly + vbExclamation, "警告"</p><p><b> con.Close</b></p><p>
57、 Text2.Text = ""</p><p> Text2.SetFocus</p><p><b> End If</b></p><p><b> End If</b></p><p><b> End Sub</b></p>
58、<p> 4.3 主界面設(shè)計(jì) </p><p> 主界面主要包括樹狀菜單、工具欄、狀態(tài)欄、時(shí)間顯示以及顯示OA辦公系統(tǒng)的最新新聞和通知。</p><p><b> 1 窗體設(shè)計(jì)</b></p><p> 1)新建一個(gè)窗體,將窗體的“Caption”屬性設(shè)置為“OA辦公自動(dòng)化系統(tǒng)”,設(shè)置“BackColor”屬性為窗體選擇合
59、適的背景顏色。</p><p> 2)添加“ImageList”控件。該控件屬于ActiveX控件,在使用之前必須從“部件”對(duì)話框中將其添加到工具箱中。添加方法為:在“部件”對(duì)話框中選中“ Microsoft Windows Common Controls 6.0(SP6)”列表項(xiàng)。</p><p> 3)向窗體中添加“Treeview”控件,設(shè)置其“Appearance”屬性為“0-
60、ccfat”?!癟reeView”控件屬于“ActiveX”rpwr ,使用前必須將其添加到工具箱中。為了使“ImageList”控件中的圖像能夠順利地顯示在“TreeView”控件的節(jié)點(diǎn)中,需將“ImageList”綁定到“TreeView”控件上,綁定方法為:在“TreeView”控件上單擊鼠標(biāo)右鍵,在彈出的菜單中選擇“屬性”命令,彈出“屬性頁”對(duì)話框,然后將圖像列表屬性設(shè)置為“ImageList1”</p><
61、p> 4)添加“MSHFlexGrid”控件,該控件屬于Active控件,在使用之前必須將“MSHFlexGrid”控件添加到工具箱中,添加方法為:在“部件”對(duì)話框中選中“Microsoft Hierarchical FlexGrid Control 6.0”列表項(xiàng),添加兩個(gè)MSHFlexGrid控件,“MSHFlexgrid1”和“MSHFlexGrid2”控件。</p><p> 5)添加“Sta
62、tusBar”(狀態(tài)欄)控件,它主要用來顯示操作員信息、系統(tǒng)時(shí)間及公司名稱網(wǎng)站。該控件屬于“ActiveX”控件,添加“ImaggeList”控件時(shí)已經(jīng)將該控件添加到工具箱中?!癝tatusBar”控件的名稱為默認(rèn)名,單擊鼠標(biāo)右鍵,在彈出的菜單中選擇“屬性頁”命令,為“StatusBar”控件添加3個(gè)窗格,第一個(gè)窗格顯示系統(tǒng)操作員、第二個(gè)窗格顯示系統(tǒng)日期、第三個(gè)窗格顯示公司名稱和網(wǎng)址。</p><p> 主界面
63、的運(yùn)行結(jié)果如下圖所示:</p><p><b> 圖4.3</b></p><p><b> 2 代碼設(shè)計(jì)</b></p><p> 當(dāng)窗體激活時(shí),將“TreeView”控件中所有的節(jié)點(diǎn)展開。在“Form”窗體的“Activate”事件下添加如下代碼:</p><p> '激活窗體
64、的Activate事件,</p><p> Private Sub Form_Activate()</p><p> For i = 1 To TreeView1.Nodes.Count</p><p><b> '展開全部節(jié)點(diǎn)</b></p><p> TreeView1.Nodes(i).Expand
65、ed = True</p><p><b> Next i</b></p><p><b> End Sub</b></p><p> 單擊樹狀菜單中的菜單,根據(jù)所選擇的菜單顯示相應(yīng)的窗體。在“TreeView”控件的NodeClick事件下添加如下代碼:</p><p> '單擊樹
66、狀菜單中的菜單時(shí),根據(jù)所選擇的菜單顯示相應(yīng)的窗體</p><p> Private Sub TreeView1_NodeClick(ByVal Node As MSComctlLib.Node)</p><p> 'key 返回設(shè)置字符串,在集合中唯一的標(biāo)識(shí)一個(gè)成員</p><p> If TreeView1.SelectedItem.Key = &q
67、uot;發(fā)布通知" Then FrmNotice_issue.Show</p><p> If TreeView1.SelectedItem.Key = "接收通知" Then FrmNotice_incept.Show</p><p> If TreeView1.SelectedItem.Key = "已發(fā)通知" Then FrmNo
68、tice_toNoice.Show</p><p> If TreeView1.SelectedItem.Key = "新聞發(fā)布" Then frmNews_issue.Show</p><p> If TreeView1.SelectedItem.Key = "接收新聞" Then FrmNews_incept.Show</p>
69、<p> If TreeView1.SelectedItem.Key = "已發(fā)新聞" Then FrmNews_toNews.Show</p><p> If TreeView1.SelectedItem.Key = "傳送文件" Then FrmFile.Show</p><p> If TreeView1.SelectedIte
70、m.Key = "接收文件" Then FrmFile_incept.Show</p><p> If TreeView1.SelectedItem.Key = "已發(fā)文件" Then FrmFile_toFile.Show</p><p> If TreeView1.SelectedItem.Key = "意見箱" Then
71、 FrmAC_idea.Show</p><p> If TreeView1.SelectedItem.Key = "投票活動(dòng)" Then frmAC_vote.Show</p><p> If TreeView1.SelectedItem.Key = "投票管理" Then frmSys_vote.Show</p><p&g
72、t; If TreeView1.SelectedItem.Key = "意見箱管理" Then FrmSys_idear.Show</p><p> If TreeView1.SelectedItem.Key = "添加用戶" Then frmUser_add.Show</p><p> If TreeView1.SelectedItem.Ke
73、y = "密碼修改" Then frmPwd_Change.Show</p><p><b> End Sub</b></p><p> 在“Form”窗體的裝載過程中,將最新的新聞和通知顯示在MSHFlexGrid表格中。</p><p> Private Sub Form_Load()</p><
74、;p><b> '設(shè)置新聞</b></p><p> Me.Icon = Image1.Picture</p><p> adoNews.ConnectionString = pstr '"Provider=SQLOLEDB.1;Persist Security Info=False;User ID=sa;pwd=sa;Ini
75、tial Catalog=db_OA"</p><p> '檢索最新的8條新聞</p><p> adoNews.RecordSource = "select top 8 news_date,news_text from tboa_news order by news_date desc"</p><p> adoNews
76、.Refresh</p><p> Set MSHFlexGrid1.DataSource = adoNews</p><p> Call setNewsDataGrid_Caption</p><p><b> '設(shè)置通知</b></p><p> adoNotice.ConnectionString
77、= pstr</p><p> adoNotice.RecordSource = "select top 8 notice_date,notice_person,notice_acceptdept,notice_acceptperson,notice_text from tboa_notice order by notice_date desc"</p><p>
78、 adoNotice.Refresh</p><p> Set MSHFlexGrid2.DataSource = adoNotice</p><p> Call setNoticeDataGrid_Caption</p><p><b> End Sub</b></p><p> 每隔一分鐘就更新一次最新新聞和
79、最新通知。在“Timer”控件的“Timer”事件下添加如下代碼。</p><p> Private Sub Timer1_Timer()</p><p> labTime.Caption = Now</p><p> If labTime.Caption <> CStr(Now) Then</p><p> labTim
80、e.Caption = Now</p><p><b> '刷新新聞</b></p><p> adoNews.ConnectionString = pstr</p><p> adoNews.RecordSource = " select top 8 news_date,news_text from tboa_news
81、 order by news_date desc"</p><p> adoNews.Refresh</p><p> Call setNewsDataGrid_Caption</p><p><b> '刷新通知</b></p><p> adoNotice.RecordSource = &q
82、uot;select top 8 notice_date,notice_person,notice_acceptdept,notice_acceptperson,notice_text from tboa_notice order by notice_date desc "</p><p> adoNotice.Refresh</p><p> Call setNotice
83、DataGrid_Caption</p><p><b> End If</b></p><p><b> End Sub</b></p><p> 自定義過程setNewsDataGrid_Caption()用來初始化新聞MSHFlexGrid2控件的列標(biāo)題和表格寬度。</p><p>
84、Sub setNewsDataGrid_Caption()</p><p> For i = 1 To adoNews.Recordset.RecordCount</p><p> MSHFlexGrid1.TextMatrix(i, 0) = i</p><p><b> Next</b></p><p> M
85、SHFlexGrid1.TextMatrix(0, 0) = "序號(hào)"</p><p> MSHFlexGrid1.TextMatrix(0, 1) = "發(fā)布日期"</p><p> MSHFlexGrid1.TextMatrix(0, 2) = "新聞內(nèi)容"</p><p> MSHFlexGri
86、d1.ColWidth(0) = 800</p><p> MSHFlexGrid1.ColWidth(1) = 2000</p><p> MSHFlexGrid1.ColWidth(2) = 6700</p><p><b> End Sub</b></p><p> 窗體中的ToolBar控件為了方便用戶打
87、開文件、聽音樂、查看幫助、退出。代碼設(shè)計(jì)如下:</p><p> Private Sub Toolbar1_ButtonClick(ByVal Button As MSComctlLib.Button)</p><p> Select Case Button.Index</p><p><b> Case 1</b></p>
88、<p> ' 設(shè)置“CancelError”為 True</p><p> CommonDialog1.CancelError = True</p><p> On Error GoTo errHandle ' 如果為真則轉(zhuǎn)到errhandler 處,執(zhí)行exit sub 語句</p><p> ' 設(shè)置標(biāo)志,標(biāo)題欄<
89、;/p><p> CommonDialog1.Flags = cdlOFNHideReadOnly</p><p><b> ' 設(shè)置過濾器</b></p><p> CommonDialog1.Filter = "所有文件 (*.*)|*.*|文本文件 (*.txt)|*.txt|Word 文檔 (*.doc)|*.doc
90、|可執(zhí)行文件 (*.exe)|*.exe|所有圖片 (*.BMP,*.GIF,*,PNG,*.JPEG)|*.BMP,*.GIF,*,PNG,*.JPEG"</p><p> ' 指定缺省的過濾器</p><p> CommonDialog1.FilterIndex = 2</p><p> CommonDialog1.ShowOpen<
91、;/p><p> Shell "Rundll32.exe url.dll, FileProtocolHandler " + CommonDialog1.FileName, vbNormalFocus</p><p><b> Exit Sub</b></p><p> errHandle:</p><p
92、> ' 用戶按了“取消”按鈕</p><p><b> Exit Sub</b></p><p><b> Case 2</b></p><p> frmBrowser.Show</p><p><b> Case 3</b></p>&l
93、t;p> FrmMp3.Show </p><p><b> Case 4</b></p><p> frmHelp.Show</p><p><b> Case 5</b></p><p><b> Unload Me</b></p><p
94、> End Select</p><p><b> End Sub</b></p><p> 至于工具欄上用到的窗體將會(huì)在4.9中介紹。</p><p><b> 4.4 通知管理</b></p><p> 通知管理包含3個(gè)部分:發(fā)布通知、接收通知、已發(fā)通知。其中,發(fā)布通知用來將通
95、知發(fā)布給某部門某人,接收用來接收其他職員發(fā)布的通知,已發(fā)通知是用來查看發(fā)布給其他職員的通知。</p><p><b> 1 發(fā)布通知</b></p><p> 窗體設(shè)計(jì)結(jié)果如圖4.4.1所示</p><p><b> 圖4.4.1</b></p><p><b> 部分代碼如下:&
96、lt;/b></p><p> 窗體裝載事件代碼如下:</p><p> Private Sub Form_Load()</p><p> Me.Icon = frm_mainbefore.Image1.Picture</p><p> For i = 0 To adoNoticeDept.Recordset.RecordCou
97、nt - 1</p><p> Combo1.AddItem adoNoticeDept.Recordset.Fields(0).Value</p><p> adoNoticeDept.Recordset.MoveNext</p><p><b> Next i</b></p><p><b>
98、39;顯示用戶</b></p><p> For i = 0 To adoNoticeUser.Recordset.RecordCount - 1</p><p> Combo2.AddItem adoNoticeUser.Recordset.Fields(0).Value</p><p> adoNoticeUser.Recordset.Move
99、Next</p><p><b> Next i</b></p><p><b> '設(shè)置通知人</b></p><p> Text2.Text = frm_login.Text1.Text</p><p><b> '顯示日期</b></p>
100、;<p> DTPicker1.Value = Now</p><p><b> End Sub</b></p><p> “發(fā)布通知”按鈕的Click事件代碼如下:</p><p> Private Sub Command1_Click()</p><p> If Combo1.Text = &
101、quot;" Then</p><p> MsgBox "請(qǐng)選擇接收通知的部門!", vbInformation, "提示:"</p><p><b> Exit Sub</b></p><p> ElseIf Combo2.Text = "" Then</p&g
102、t;<p> MsgBox "請(qǐng)選擇接收通知的人!", vbInformation, "提示:"</p><p><b> Exit Sub</b></p><p> ElseIf Text1.Text = "" Then</p><p> MsgBox &quo
103、t;請(qǐng)輸入通知內(nèi)容!", vbInformation, "提示:"</p><p><b> Exit Sub</b></p><p><b> End If</b></p><p> adoNotice.Recordset.AddNew</p><p> ad
104、oNotice.Recordset.Fields(1).Value = DTPicker1.Value</p><p> adoNotice.Recordset.Fields(2).Value = frm_login.Text1.Text</p><p> adoNotice.Recordset.Fields(3).Value = Combo1.Text</p><
105、p> adoNotice.Recordset.Fields(4).Value = Combo2.Text</p><p> adoNotice.Recordset.Fields(5).Value = 0</p><p> adoNotice.Recordset.Fields(6).Value = Text1.Text</p><p> adoNotic
106、e.Recordset.Update</p><p> MsgBox "您的通知已經(jīng)發(fā)送成功!", vbInformation, "提示:"</p><p> Combo1.Text = ""</p><p> Combo2.Text = ""</p><p&g
107、t; Text1.Text = ""</p><p><b> End Sub</b></p><p><b> 2 接收通知</b></p><p> “接收通知”窗體的設(shè)計(jì)結(jié)果如圖4.4.2所示:</p><p><b> 圖4.4.2</b>
108、</p><p> “查詢”按鈕的代碼如下:</p><p> Private Sub cmdFind_Click()</p><p> adoNotice.ConnectionString = pstr</p><p> adoNotice.RecordSource = "select * from tboa_notice
109、 where notice_date between '" + str(DTPicker1.Value) + "'and ' " + str(DTPicker2.Value) + " 'and notice_acceptperson='" + frm_login.Text1.Text + "'order by notice_da
110、te desc"</p><p> adoNotice.Refresh</p><p> Set DataGrid1.DataSource = adoNotice</p><p> Call setDataGrid_Caption</p><p><b> End Sub</b></p>
111、<p> “顯示所有通知”按鈕代碼如下:</p><p> Private Sub cmdshow_Click()</p><p> adoNotice.ConnectionString = pstr</p><p> adoNotice.RecordSource = "select * from tboa_notice where no
112、tice_acceptperson ='" + frm_login.Text1.Text + "' order by notice_date desc"</p><p> adoNotice.Refresh</p><p> Set DataGrid1.DataSource = adoNotice</p><p>
113、 Call setDataGrid_Caption</p><p><b> End Sub</b></p><p><b> 3 已發(fā)通知</b></p><p> “已發(fā)通知”窗體設(shè)計(jì)結(jié)果如圖4.4.3所示:</p><p><b> 圖4.4.3</b></
114、p><p><b> 主要代碼如下:</b></p><p> Private Sub Form_Load()</p><p> adoNotice.ConnectionString = pstr</p><p> adoNotice.RecordSource = "select notice_date,n
115、otice_person,notice_acceptdept,notice_acceptperson,notice_text from tboa_notice where notice_person='" & frm_login.Text1.Text & "' order by notice_date"</p><p> adoNotice.Refr
116、esh</p><p> Set MSHFlexGrid1.DataSource = adoNotice</p><p> Call setNotice_Caption</p><p><b> End Sub</b></p><p><b> 4.5 新聞管理</b></p>
117、<p> 新聞管理包含3個(gè)部分:新聞發(fā)布、新聞接收、已發(fā)新聞。其中,新聞發(fā)布用來將新聞發(fā)布給某部門中的某人,新聞接收用來接收其他職員發(fā)布的新聞,已發(fā)新聞?dòng)脕頌g覽發(fā)布給其他職員的新聞。</p><p> 下面介紹新聞發(fā)布、新聞接收和已發(fā)新聞的開發(fā)過程。</p><p><b> 1 新聞發(fā)布</b></p><p> 窗體
118、設(shè)計(jì)結(jié)果如圖4.5所示: </p><p><b> 圖4.5.1</b></p><p> 1)在窗體中添加4個(gè)“Label”控件、兩個(gè)“Combo”控件、3個(gè)“ADO”控件、兩個(gè)“TextBox”控件和兩個(gè)“CommandButton”控件,屬性設(shè)置如圖所示:</p><p> 2)添加“DTPicker”控件。該控件屬于“Activ
119、eX”控件,在使用之前必須從“部件”對(duì)話框中添加工具箱中,添加方法為:在“部件”對(duì)話框中選中“Microsoft Windows Common Controls-2 6.0”列表項(xiàng)。</p><p> 3)程序代碼類似于“發(fā)布通知”窗體的代碼類似這里就不再贅述了。</p><p><b> 2 新聞接收</b></p><p> 1)添
120、加4個(gè)“CommandButton”和一個(gè)“ADO”控件。</p><p> 2)添加2個(gè)“DTPicker”控件,名稱分別為“DTPicker1”和“DTPicker2”。</p><p> 3)添加“DataGrid”控件,使用默認(rèn)名稱。</p><p> “新聞接收”窗體的設(shè)計(jì)結(jié)果如圖4.5.2所示:</p><p><b&
121、gt; 圖4.5.2</b></p><p> 程序代碼與“接收通知”類似,這里就不再贅述了。</p><p><b> 3 已發(fā)新聞</b></p><p> “已發(fā)新聞”窗體設(shè)計(jì)結(jié)果如圖4.5.3所示:</p><p><b> 圖4.5.3</b></p>
122、<p> 添加“ADO”控件,名稱為“adoNews”,設(shè)置其“Visible”屬性為“False”;添加“DataGrid”控件,名稱為默認(rèn)名稱“DataGrid1”</p><p> 程序代碼與“接收新聞”中的代碼設(shè)計(jì)類似,這里就不再贅述了。</p><p><b> 4.6 文件管理</b></p><p><b&
123、gt; 1. 文件傳送</b></p><p> 文件傳送在OA辦公自動(dòng)化系統(tǒng)中占據(jù)很重要的位置,本系統(tǒng)的文件傳送可以傳送多種類型的文件(如:exe\bat\rar\frm\doc等)?!拔募魉汀贝绑w的設(shè)計(jì)結(jié)果如圖4.6.1所示:</p><p><b> 圖4.6.1</b></p><p> 1)在該窗體中用到“Co
124、mmonDialog”控件,該控件是“ActiveX”控件,在使用之前必須從“部件”對(duì)話框中添加到工具箱中,在“部件”對(duì)話框中選中“Microsoft Common Dialog 6.0”列表項(xiàng)。</p><p> 其它控件設(shè)置,在這里就不再贅述了。</p><p><b> 2)代碼設(shè)計(jì)</b></p><p> 在“Form”窗體裝載
125、時(shí),主要實(shí)現(xiàn)以下功能。</p><p> * 建立“adoDept”控件的數(shù)據(jù)庫連接。</p><p> * 為“Commbo1”控件添加部門名稱數(shù)據(jù)。</p><p> * 獲取系統(tǒng)操作員的姓名,并通過“txtName”控件顯示出來。</p><p> * 使“DTPicker1”控件顯示當(dāng)前日期。 </p><
126、p> 在“Form”窗體的“Load”事件中添加如下代碼:</p><p> Private Sub Form_Load()</p><p> Me.Icon = frm_mainbefore.Image1.Picture</p><p><b> '設(shè)置combo1</b></p><p> a
127、doDept.ConnectionString = pstr</p><p> adoDept.RecordSource = "select * from tboa_dept"</p><p> adoDept.Refresh</p><p> For i = 0 To adoDept.Recordset.RecordCount - 1&l
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- oa辦公自動(dòng)化系統(tǒng)-畢業(yè)設(shè)計(jì)-論文
- oa辦公自動(dòng)化系統(tǒng)畢業(yè)論文
- oa辦公自動(dòng)化系統(tǒng)畢業(yè)論文
- 辦公自動(dòng)化oa畢業(yè)論文
- oa辦公自動(dòng)化畢業(yè)論文
- oa辦公自動(dòng)化系統(tǒng)
- 辦公自動(dòng)化畢業(yè)設(shè)計(jì)論文
- 辦公自動(dòng)化系統(tǒng)畢業(yè)設(shè)計(jì)
- oa辦公自動(dòng)化系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)
- 全套畢業(yè)設(shè)計(jì)《辦公自動(dòng)化管理系統(tǒng)》論文
- oa辦公自動(dòng)化方案
- jspoa辦公自動(dòng)化系統(tǒng)-畢業(yè)設(shè)計(jì)
- oa辦公自動(dòng)化設(shè)計(jì)方案
- oa系統(tǒng)培訓(xùn)方案(辦公自動(dòng)化)
- 辦公自動(dòng)化系統(tǒng)畢業(yè)論文
- 企業(yè)辦公自動(dòng)化oa系統(tǒng)應(yīng)用分析
- 畢業(yè)設(shè)計(jì)--辦公自動(dòng)化系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)
- 畢業(yè)設(shè)計(jì)(論文)基于web的辦公自動(dòng)化管理系統(tǒng)
- 山東建筑大學(xué)辦公自動(dòng)化oa系統(tǒng)
- 辦公自動(dòng)化(OA)系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn).pdf
評(píng)論
0/150
提交評(píng)論