版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、<p><b> 摘 要</b></p><p> 近年來,隨著企業(yè)彼此間的競爭日趨激烈,信息技術(shù)在企業(yè)的發(fā)展中占據(jù)著越來越重要的地位。在企業(yè)的運輸生產(chǎn)中,檔案已成為企業(yè)運輸經(jīng)營中不可或缺的一部分,為管理者進(jìn)行管理決策和進(jìn)行各種經(jīng)營活動提供了重要的依據(jù),在運輸生產(chǎn)中發(fā)揮了越來越重要的作用。</p><p> 檔案管理系統(tǒng)是一個企業(yè)單位不可缺少的部分,
2、它的內(nèi)容對于企業(yè)的決策者和管理者來說都至關(guān)重要,所以檔案管理系統(tǒng)能夠為用戶提供充足的信息和快捷的查詢手段。用Visual Basic構(gòu)建的檔案管理系統(tǒng),能實現(xiàn)檔案的錄入、修改、查找、刪除、統(tǒng)計、查詢、預(yù)覽、編輯、打印、打印預(yù)覽、取消、刷新、視圖、系統(tǒng)維護(hù)、幫助等功能,此外,在程序中還設(shè)計了用戶登陸,并設(shè)定了密碼,以確保本系統(tǒng)應(yīng)用的安全性。本管理系統(tǒng)設(shè)計合理、界面美觀、操作方便、運行穩(wěn)定、功能完備,為進(jìn)行現(xiàn)代化的檔案管理工作起到了重要作
3、用,具有較高的實用價值。</p><p> 關(guān)鍵詞: 數(shù)據(jù)庫 模塊 信息 數(shù)據(jù)源</p><p><b> 目 錄</b></p><p> 第一章 概述 ---------------------------------------------------------------------------------3</
4、p><p> 第二章 目標(biāo)分析和方案確定--------------------------------------------------------4第三章 開發(fā)檔案管理系統(tǒng)的基本思路----------------------------------------6</p><p> 3.1 使用VB6.0編寫代碼---------------------------------
5、---------------------6</p><p> 3.2 使用Access2000建立數(shù)據(jù)庫-------------------------------------------63.3 用JET數(shù)據(jù)庫引擎訪問數(shù)據(jù)庫----------------------------------------6</p><p> 第四章 Visual Basic 6.0編程語言概述
6、----------------------------------------7</p><p> 4.1 創(chuàng)建菜單欄--------------------------------------------------------------------7</p><p> 4.2 創(chuàng)建工具欄----------------------------------------------
7、----------------------7</p><p> 4.3 建立幫助信息-----------------------------------------------------------------8</p><p> 4.4 生成版本信息-----------------------------------------------------------------
8、8</p><p> 第五章 使用Access2000 實現(xiàn)關(guān)系型數(shù)據(jù)庫------------------------------9</p><p> 5.1 數(shù)據(jù)庫的概念-----------------------------------------------------------------9</p><p> 5.2 新建一個數(shù)據(jù)庫------
9、--------------------------------------------------------9</p><p> 5.3 修改已建的數(shù)據(jù)庫----------------------------------------------------------9</p><p> 第六章 系統(tǒng)總體設(shè)計-----------------------------------
10、---------------------------------10</p><p> 第七章 分模塊設(shè)計------------------------------------------------------------------------127.1檔案的系統(tǒng)維護(hù)---------------------------------------------------------------127
11、.2檔案的版本和系統(tǒng)信息-----------------------------------------------------137.3檔案的錄入、編輯、刪除、刷新---------------------------------------177.4檔案的登陸和密碼設(shè)計-----------------------------------------------------247.5檔案的主界面---------------
12、---------------------------------------------------277.6檔案的查詢、預(yù)覽、打印功能------------------------------------------287.7</p><p> 第八章 結(jié)束語-----------------------------------------------------------------------
13、---------34</p><p> 附:主要參考文獻(xiàn)-------------------------------------------------------------------35</p><p><b> 概述</b></p><p> 近年來,隨著企業(yè)彼此間的競爭日趨激烈,信息技術(shù)在企業(yè)的發(fā)展中占據(jù)著越來越重要的地位
14、,借助信息技術(shù)來獲取更快捷、更高效、更準(zhǔn)確的操作方式,發(fā)揮企業(yè)本身最大的競爭力以適應(yīng)快速變遷的商業(yè)環(huán)境,逐漸成為不可避免的趨勢。在企業(yè)的運輸生產(chǎn)中,檔案已成為企業(yè)運輸經(jīng)營中不可或缺的一部分,為管理者進(jìn)行管理決策和進(jìn)行各種經(jīng)營活動提供了重要的依據(jù),在運輸生產(chǎn)中發(fā)揮了越來越重要的作用。為方便、高效、快捷地適應(yīng)現(xiàn)代化檔案的需要,本論文應(yīng)用Visual Basic構(gòu)建了一個檔案管理系統(tǒng),其中用到了數(shù)據(jù)庫的應(yīng)用、建立、數(shù)據(jù)庫操作對象ADO、數(shù)據(jù)
15、報表設(shè)計等知識。檔案管理系統(tǒng)是典型的信息管理系統(tǒng)(MIS),其開發(fā)主要包括后臺數(shù)據(jù)庫的建立和維護(hù)以及前端應(yīng)用程序的開發(fā)兩個方面。對于前者要求建立起數(shù)據(jù)一致性和完整性強、數(shù)據(jù)安全性好的庫。而對于后者則要求應(yīng)用程序功能完備,易使用等特點。用Visual Basic構(gòu)建的檔案管理系統(tǒng),主要能實現(xiàn)檔案的錄入、修改、查找、刪除、統(tǒng)計、查詢、編輯、打印、打印預(yù)覽、取消、刷新、視圖、系統(tǒng)維護(hù)、幫助等功能,為保證用戶的安全性,還設(shè)計了簡捷方便的用戶登
16、陸和密碼修改。本管理系統(tǒng)設(shè)</p><p> 計合理、界面美觀、操作方便、運行穩(wěn)定、功能完備,為進(jìn)行現(xiàn)代化的檔案管理工作起到了重要作用,具有較高的實用價值。</p><p><b> 目標(biāo)分析和方案確定</b></p><p> 檔案管理系統(tǒng)是一個企業(yè)單位不可缺少的部分,它的內(nèi)容對于企業(yè)的決策者和管理者來說都至關(guān)重要,所以檔案管理系統(tǒng)應(yīng)該
17、能夠為用戶提供充足的信息和快捷的查詢手段。但一直以來人們使用傳統(tǒng)人工的方式管理文件檔案,這種管理方式存在著許多缺點,如:效率低、保密性差,另外時間一長,將產(chǎn)生大量的文件和數(shù)據(jù),這對于查找、更新和維護(hù)都帶來了不少的困難。</p><p> 隨著科學(xué)技術(shù)的不斷提高,計算機科學(xué)日漸成熟,其強大的功能已為人們深刻認(rèn)識,它已進(jìn)入人類社會的各個領(lǐng)域并發(fā)揮著越來越重要的作用。今天,計算機的價格已經(jīng)十分低廉,性能卻有了長足的進(jìn)
18、步。它已經(jīng)被應(yīng)用于許多領(lǐng)域,計算機之所以如此流行的原因主要有以下幾個方面:</p><p> 首先,計算機可以代替人工進(jìn)行許多繁雜的勞動;</p><p> 其次,計算機可以節(jié)省許多資源;</p><p> 第三,計算機可以大大的提高人們的工作效率;</p><p> 第四,計算機可以使敏感文檔更加安全,等等。 在企業(yè)中用計算
19、機管理檔案的意義:現(xiàn)在,有很多企業(yè)的檔案管理水平還停留在紙介質(zhì)的基礎(chǔ)上,這樣的機制已經(jīng)不能適應(yīng)時代的發(fā)展,因為它浪費了許多人力和物力,在信息時代這種傳統(tǒng)的管理方法必然被計算機為基礎(chǔ)的信息管理所取代。</p><p> 作為計算機應(yīng)用的一部分,使用計算機對檔案信息進(jìn)行管理,具有著手工管理所無法比擬的優(yōu)點。例如:檢索迅速、查找方便、可靠性高、存儲量大、保密性好、壽命長、成本低等。這些優(yōu)點能夠極大地提高學(xué)生檔案管理的
20、效率,也是企業(yè)的科學(xué)化、正規(guī)化管理,與世界接軌的重要條件。 Visual Basic簡單易學(xué)且功能豐富,是廣泛應(yīng)用的變成語言之一,它的發(fā)展為編程人員提供了更廣泛的空間。為能夠迎合轉(zhuǎn)變快速的信息技術(shù),越來越多的企業(yè)傾向于分布式的 管理需求,提供分布式主從結(jié)構(gòu)環(huán)境的Microsoft SQL Server便成為相當(dāng)重要的核心角色,這個數(shù)據(jù)庫服務(wù)器運用了關(guān)系數(shù)據(jù)庫的技術(shù),同時考慮到高效率數(shù)據(jù)庫管理的需求,借助標(biāo)準(zhǔn)化的訪問環(huán)境,提
21、高了和前端應(yīng)用環(huán)境輕松集成的能力,以適應(yīng)各種企業(yè)組織在不同環(huán)境下的操作需求。作為前端應(yīng)用程序開發(fā)環(huán)境的Visual Basic6.0,在數(shù)據(jù)來源的維護(hù)、數(shù)據(jù)訪問技術(shù)、國際網(wǎng)絡(luò)和企業(yè)內(nèi)部Intranet應(yīng)用程序等功能方面都有其獨到、先進(jìn)之處。 我作為一個計算機應(yīng)用專業(yè)的專科生,希望在這方面有所貢獻(xiàn)。我希望能用我所學(xué)的Visual Basic6.0編制出</p><p> 第三章 開發(fā)檔案管理系統(tǒng)的基
22、本思路</p><p> 3.1、編程環(huán)境的選擇</p><p> 微軟公司的Visual Basic 6.0是Windows應(yīng)用程序開發(fā)工具,使目前最為廣泛的、易學(xué)易用的面向?qū)ο蟮拈_發(fā)工具。Visual Basic提供了大量的控件,這些控件可用于設(shè)計界面和實現(xiàn)各種功能,減少了編程人員的工作量,也簡化了界面設(shè)計過程,從而有效的提高了應(yīng)用程序的運行效率和可靠性。故而,實現(xiàn)本系統(tǒng)VB是一個
23、相對較好的選擇。</p><p> 3.2、關(guān)系型數(shù)據(jù)庫的實現(xiàn)</p><p> Access2000 就是關(guān)系數(shù)據(jù)庫開發(fā)工具,數(shù)據(jù)庫能匯集各種信息以供查詢、存儲和檢索。Access 的優(yōu)點在于它能使用數(shù)據(jù)表示圖或自定義窗體收集信息。數(shù)據(jù)表示圖提供了一種類似于 Excel 的電子表格,可以使數(shù)據(jù)庫一目了然。另外,Access 允許創(chuàng)建自定義報表用于打印或輸出數(shù)據(jù)庫中的信息。Access
24、也提供了數(shù)據(jù)存儲庫,可以使用桌面數(shù)據(jù)庫文件把數(shù)據(jù)庫文件置于網(wǎng)絡(luò)文件服務(wù)器,與其他網(wǎng)絡(luò)用戶共享數(shù)據(jù)庫。Access 是一種關(guān)系數(shù)據(jù)庫工具,關(guān)系數(shù)據(jù)庫是已開發(fā)的最通用的數(shù)據(jù)庫之一。如上所述,Access 作為關(guān)系數(shù)據(jù)庫開發(fā)具備了許多優(yōu)點,可以在一個數(shù)據(jù)包中同時擁有桌面數(shù)據(jù)庫的便利和關(guān)系數(shù)據(jù)庫的強大功能。</p><p> 3.3、二者的結(jié)合(DBA)</p><p> 微軟的JET數(shù)據(jù)庫引
25、擎提供了與數(shù)據(jù)庫打交道的途徑,我們是通過它以及Visual Basic 來訪問數(shù)據(jù)庫并對其進(jìn)行各種操作。Visual Basic、Access以及其他微軟的軟件產(chǎn)品都是通過共用JET數(shù)據(jù)庫引擎,從而給用戶提供了豐富的數(shù)據(jù)類型。</p><p> DATA 控件在數(shù)據(jù)庫中的信息與將信息顯示給用戶看的Visual Basic程序之間架起了一座橋梁。我們可以設(shè)置DATA控件的各個屬性,告訴它要調(diào)用那個數(shù)據(jù)庫的哪個部分
26、。缺省情況下,DATA控件根據(jù)數(shù)據(jù)庫中的一個或多個數(shù)據(jù)表建立一個dynaset-type(動態(tài)集合)類型的記錄集合。一個記錄集合是動態(tài)的也就意味著,當(dāng)原來的數(shù)據(jù)表中的容改變了以后,該記錄集合中的記錄也會隨之改變。DATA控件還提供了用來瀏覽不同記錄的各種跳轉(zhuǎn)按鈕。將DATA控件放置在窗體中之后,我們還必須在該控件與要處理的數(shù)據(jù)庫之間建立聯(lián)系。</p><p> 第四章 Visual Basic 6.0編程語言
27、概述</p><p> Visual Basic應(yīng)用程序基本的構(gòu)建塊是用戶所創(chuàng)建的對象,每一個對象都具有一些特性和行為(屬性、事件和方法)。開發(fā)人員可以最有效利用所創(chuàng)建的每一個對象。使用應(yīng)用程序具有可通用性、可擴展性和強有力的功能。</p><p> Visual Basic應(yīng)用由一系列對象組成,包括有函數(shù)、菜單、結(jié)構(gòu)和數(shù)據(jù)窗口、用戶對象、用戶事件等等,對象中又包含若干控件如命令按
28、鈕、單行編輯器等這些對象和控件都可在許多應(yīng)用中重復(fù)使用。</p><p><b> 4.1創(chuàng)建菜單欄</b></p><p> 除此之外,VB6.0還有以下一些重要功能。菜單是程序最重要的特性之一,大多數(shù)程序都依賴一個定義良好的菜單使程序易于使用和維護(hù),Visual Basic也提供了強大的創(chuàng)建菜單功能是程序更加標(biāo)準(zhǔn)。您可以使用Visual Basic的App
29、licaytion Wizard也可以使用Visual Basic的菜單編輯器建立菜單或者修改已經(jīng)存在的菜單、控件。其屬性及對象如下:</p><p> Align屬性定義工具條在窗休中的位置。</p><p> ToolTipText屬性是字符串類型,定義控件的提示字符。</p><p> Style屬性定義按鈕外觀。</p><p&
30、gt; ImageList屬性定義與數(shù)據(jù)條對應(yīng)的ImageList控件名,該控件定義工具條按鈕顯示的圖像。</p><p> HotImangeList屬性設(shè)置一個ImageList控件名,該控件定義按鈕獲得熱點時顯示的圖像。</p><p> DisabledImageList屬性定義工具條按鈕無效時顯示的圖像。</p><p><b> 4.2
31、創(chuàng)建工具欄</b></p><p> 創(chuàng)建工具條主要利用ImageList和Toolbar控件。創(chuàng)建時,先將ImageList添加到窗體上,然后往其中添加一些圖片,接著Toolbar控件添加到窗體上,再往Toolbar中插入一些命令按紐,為他們添加上相應(yīng)圖片即可。</p><p><b> 4.3建立幫助信息</b></p><p&
32、gt; 專業(yè)水平的軟件通常都帶有聯(lián)機幫助功能。無論寫出來的程序是要給大量的用戶使用,還是僅僅局限于公司內(nèi)部有限的使用者,我們都應(yīng)該為用戶提供詳細(xì)的、易于理解的聯(lián)機幫助文檔。微軟的Help Workshop4.0是一套獨立于Visual Basic的用來協(xié)助我們創(chuàng)建、運行于32位Windows操作系統(tǒng)下的幫助文件的工具。使用它可以為我們編寫的應(yīng)用程序生成一組幫助文件。</p><p><b> 4
33、.4生成版本信息</b></p><p> 為了使程序顯得更具有專業(yè)風(fēng)格,首先可以在其中加入通常的應(yīng)用程序信息。這些信息包括公司名稱、版本號、修訂號以及其他類似信息。Visual Basic允許你使用APP對象來保存這些信息,APP對象是一個預(yù)定義對象,不需要在程序中創(chuàng)建它。APP對象的大多數(shù)屬性被應(yīng)用程序用來提供常規(guī)的信息,通過使用這些APP提供的屬性,可以在應(yīng)用程序和用戶之間交流重要信息,在項
34、目屬性框中可以設(shè)置它的屬性。</p><p> 第五章 使用Access2000實現(xiàn)關(guān)系型數(shù)據(jù)庫</p><p> 5.1、數(shù)據(jù)庫的概念</p><p> 數(shù)據(jù)庫是一種存儲數(shù)據(jù)并對數(shù)據(jù)進(jìn)行操作的工具。數(shù)據(jù)庫的作用在于組織和表達(dá)信息,簡而言之,數(shù)據(jù)庫就是信息集合。計算機的數(shù)據(jù)庫可以分為兩類:非關(guān)系數(shù)據(jù)庫(flat-file)和關(guān)系數(shù)據(jù)庫(relational)
35、。關(guān)系數(shù)據(jù)庫中包含了多個數(shù)據(jù)表的信息,數(shù)據(jù)庫含有各個不同部分的術(shù)語,象記錄、域等。</p><p> 5.2、新建一個數(shù)據(jù)庫</p><p> 創(chuàng)建任何一個數(shù)據(jù)庫的第一步是仔細(xì)的規(guī)劃數(shù)據(jù)庫,設(shè)計必須是靈活的、有邏輯的。創(chuàng)建一個數(shù)據(jù)庫結(jié)構(gòu)的過程被認(rèn)為是數(shù)據(jù)模型設(shè)計。</p><p> 1)標(biāo)識需要的數(shù)據(jù);</p><p> 2)收集被標(biāo)
36、識的字段到表中;</p><p> 3)標(biāo)識主關(guān)鍵字字段;</p><p> 4)繪制一個簡單的數(shù)據(jù)圖表;</p><p><b> 5)規(guī)范數(shù)據(jù);</b></p><p> 6)標(biāo)識指定字段的信息;</p><p><b> 7)創(chuàng)建物理表。</b></p&
37、gt;<p> 5.3、修改已建的數(shù)據(jù)庫</p><p> 數(shù)據(jù)庫的修改分為:添加、編輯和刪除記錄。這三種操作均可由Visual Basic創(chuàng)建的程序來完成,下面的章節(jié)將詳細(xì)描述實現(xiàn)的具體方法。</p><p> 第六章 系統(tǒng)總體設(shè)計</p><p> 根據(jù)設(shè)計方案,本系統(tǒng)的結(jié)構(gòu)框圖為(如下所示):</p><p>
38、 本系統(tǒng)所實現(xiàn)的主要功能為:</p><p><b> 可以進(jìn)行文本操作;</b></p><p> 錄入一個數(shù)據(jù)庫項目;</p><p> 修改一個數(shù)據(jù)庫項目;</p><p> 查找一個數(shù)據(jù)庫信息;</p><p> 刪除一個數(shù)據(jù)庫信息;</p><p>
39、 統(tǒng)計一個數(shù)據(jù)庫信息;</p><p> 查詢一個數(shù)據(jù)庫信息;</p><p> 預(yù)覽一個數(shù)據(jù)庫信息;</p><p> 編輯一個數(shù)據(jù)庫信息;</p><p> 打印一個數(shù)據(jù)庫信息;</p><p> 打印預(yù)覽一個數(shù)據(jù)庫信息;</p><p> 刷新一個數(shù)據(jù)庫信息;</p>
40、;<p> 取消一個數(shù)據(jù)庫信息。</p><p> 根據(jù)實際數(shù)據(jù)操作流程,本城西數(shù)據(jù)的ER圖為(根據(jù)數(shù)據(jù)流程勾畫,下圖為示意圖):</p><p> 用戶登錄 → 檔案的錄入→檔案的修改和查詢 →檔案的預(yù)覽和打印</p><p> 本系統(tǒng)所采用的數(shù)據(jù)庫結(jié)構(gòu):</p><p> 數(shù)據(jù)表:檔案表、用戶表。根據(jù)系統(tǒng)的需要
41、,檔案表采用字段結(jié)構(gòu)為:</p><p><b> 登錄表結(jié)構(gòu)為:</b></p><p> 第七章 分模塊設(shè)計</p><p> 7.1、檔案的系統(tǒng)維護(hù):</p><p> 為提高系統(tǒng)的安全性,防止非法用戶進(jìn)入本系統(tǒng),本系統(tǒng)設(shè)有用戶登陸界面,并設(shè)立密碼,合法用戶可以在系統(tǒng)維護(hù)里面的用戶修改里面自行設(shè)立用戶名和
42、密碼,系統(tǒng)默認(rèn)用戶名為“admin”,密碼為“1234”。系統(tǒng)的用戶密碼更改界面如下:</p><p><b> Edit.frm</b></p><p> </p><p> Dim db As Conn
43、ection</p><p> Dim rs As Recordset</p><p> Private Sub Command1_Click()</p><p> On Error GoTo er</p><p> If rs.State = adStateOpen Then rs.Close</p><p
44、> rs.Open "登錄", db, 1, 3</p><p> rs("用戶名") = Text1.Text</p><p> rs("密碼") = Text2.Text</p><p><b> rs.Update</b></p><p>&
45、lt;b> 'rs.Close</b></p><p> MsgBox "修改成功!", vbOKOnly + vbExclamation</p><p><b> Unload Me</b></p><p><b> Exit Sub</b></p>&
46、lt;p><b> er:</b></p><p> MsgBox "有錯誤產(chǎn)生!", vbOKOnly + vbExclamation</p><p><b> End Sub</b></p><p> Private Sub Command2_Click()</p>&l
47、t;p><b> Unload Me</b></p><p><b> End Sub</b></p><p> Private Sub Form_Load()</p><p> Text1.Text = login.user</p><p> Text2.Text = login.
48、password</p><p> Set db = New Connection</p><p> db.CursorLocation = adUseClient</p><p> db.Open "PROVIDER=Microsoft.Jet.OLEDB.3.51;Data Source=database.mdb;"</p>
49、<p> Set rs = New Recordset</p><p><b> End Sub</b></p><p> Private Sub Form_Unload(Cancel As Integer)</p><p> If rs.State = adStateOpen Then rs.Close</p>
50、;<p> Set rs = Nothing</p><p><b> db.Close</b></p><p> Set db = Nothing</p><p><b> End Sub</b></p><p> 7.2、檔案的版本和系統(tǒng)信息</p><
51、;p><b> About.frm</b></p><p> Option Explicit</p><p> ' 注冊表關(guān)鍵字安全選項...</p><p> Const READ_CONTROL = &H20000</p><p> Const KEY_QUERY_VALUE = &a
52、mp;H1</p><p> Const KEY_SET_VALUE = &H2</p><p> Const KEY_CREATE_SUB_KEY = &H4</p><p> Const KEY_ENUMERATE_SUB_KEYS = &H8</p><p> Const KEY_NOTIFY = &am
53、p;H10</p><p> Const KEY_CREATE_LINK = &H20</p><p> Const KEY_ALL_ACCESS = KEY_QUERY_VALUE + KEY_SET_VALUE + _</p><p> KEY_CREATE_SUB_KEY + KEY_ENUMERATE_SUB_KEYS + _</p>
54、;<p> KEY_NOTIFY + KEY_CREATE_LINK + READ_CONTROL</p><p> ' 注冊表關(guān)鍵字 ROOT 類型...</p><p> Const HKEY_LOCAL_MACHINE = &H80000002</p><p> Const ERROR_SUCCESS = 0</p&
55、gt;<p> Const REG_SZ = 1 ' 獨立的空的終結(jié)字符串</p><p> Const REG_DWORD = 4 ' 32位數(shù)字</p><p> Const gREGKEYSYSINFOLOC = "SOFTWARE\Microsof
56、t\Shared Tools Location"</p><p> Const gREGVALSYSINFOLOC = "MSINFO"</p><p> Const gREGKEYSYSINFO = "SOFTWARE\Microsoft\Shared Tools\MSINFO"</p><p> Const
57、 gREGVALSYSINFO = "PATH"</p><p> Private Declare Function RegOpenKeyEx Lib "advapi32" Alias "RegOpenKeyExA" (ByVal hKey As Long, ByVal lpSubKey As String, ByVal ulOptions As Lo
58、ng, ByVal samDesired As Long, ByRef phkResult As Long) As Long</p><p> Private Declare Function RegQueryValueEx Lib "advapi32" Alias "RegQueryValueExA" (ByVal hKey As Long, ByVal lpValue
59、Name As String, ByVal lpReserved As Long, ByRef lpType As Long, ByVal lpData As String, ByRef lpcbData As Long) As Long</p><p> Private Declare Function RegCloseKey Lib "advapi32" (ByVal hKey As L
60、ong) As Long</p><p> Private Sub cmdSysInfo_Click()</p><p> Call StartSysInfo</p><p><b> End Sub</b></p><p> Private Sub cmdOK_Click()</p><p&
61、gt;<b> Unload Me</b></p><p><b> End Sub</b></p><p> Private Sub Form_Load()</p><p> Me.Caption = "關(guān)于 " & App.Title</p><p> lb
62、lVersion.Caption = "版本 " & App.Major & "." & App.Minor & "." & App.Revision</p><p> lblTitle.Caption = App.Title</p><p> Me.Width = 5820</p
63、><p> Me.Height = 4035</p><p><b> End Sub</b></p><p> Public Sub StartSysInfo()</p><p> On Error GoTo SysInfoErr</p><p> Dim rc As Long</p
64、><p> Dim SysInfoPath As String</p><p> ' 試圖從注冊表中獲得系統(tǒng)信息程序的路徑及名稱...</p><p> If GetKeyValue(HKEY_LOCAL_MACHINE, gREGKEYSYSINFO, gREGVALSYSINFO, SysInfoPath) Then</p><p&
65、gt; ' 試圖僅從注冊表中獲得系統(tǒng)信息程序的路徑...</p><p> ElseIf GetKeyValue(HKEY_LOCAL_MACHINE, gREGKEYSYSINFOLOC, gREGVALSYSINFOLOC, SysInfoPath) Then</p><p> ' 已知32位文件版本的有效位置</p><p> If (
66、Dir(SysInfoPath & "\MSINFO32.EXE") <> "") Then</p><p> SysInfoPath = SysInfoPath & "\MSINFO32.EXE"</p><p> ' 錯誤 - 文件不能被找到...</p><p>
67、;<b> Else</b></p><p> GoTo SysInfoErr</p><p><b> End If</b></p><p> ' 錯誤 - 注冊表相應(yīng)條目不能被找到...</p><p><b> Else</b></p>&
68、lt;p> GoTo SysInfoErr</p><p><b> End If</b></p><p> Call Shell(SysInfoPath, vbNormalFocus)</p><p><b> Exit Sub</b></p><p> SysInfoErr:&l
69、t;/p><p> MsgBox "此時系統(tǒng)信息不可用", vbOKOnly</p><p><b> End Sub</b></p><p> Public Function GetKeyValue(KeyRoot As Long, KeyName As String, SubKeyRef As String, ByRe
70、f KeyVal As String) As Boolean</p><p> Dim i As Long ' 循環(huán)計數(shù)器</p><p> Dim rc As Long ' 返回代碼</p>
71、<p> Dim hKey As Long ' 打開的注冊表關(guān)鍵字句柄</p><p> Dim hDepth As Long '</p><p> Dim KeyValType As Long
72、 ' 注冊表關(guān)鍵字?jǐn)?shù)據(jù)類型</p><p> Dim tmpVal As String ' 注冊表關(guān)鍵字值的臨時存儲器</p><p> Dim KeyValSize As Long
73、 ' 注冊表關(guān)鍵自變量的尺寸</p><p> '------------------------------------------------------------</p><p> ' 打開 {HKEY_LOCAL_MACHINE...} 下的 RegKey</p><p> '---------------------
74、---------------------------------------</p><p> rc = RegOpenKeyEx(KeyRoot, KeyName, 0, KEY_ALL_ACCESS, hKey) ' 打開注冊表關(guān)鍵字</p><p> If (rc <> ERROR_SUCCESS) Then GoTo GetKeyError
75、 ' 處理錯誤...</p><p> tmpVal = String$(1024, 0) ' 分配變量空間</p><p> KeyValSize = 1024 ' 標(biāo)記變量尺寸</p><p>
76、39;------------------------------------------------------------</p><p> ' 檢索注冊表關(guān)鍵字的值...</p><p> '------------------------------------------------------------</p><p> rc =
77、 RegQueryValueEx(hKey, SubKeyRef, 0, _</p><p> KeyValType, tmpVal, KeyValSize) ' 獲得/創(chuàng)建關(guān)鍵字值</p><p> If (rc <> ERROR_SUCCESS) Then GoTo GetKeyError ' 處理錯誤</p>&l
78、t;p> If (Asc(Mid(tmpVal, KeyValSize, 1)) = 0) Then ' Win95 外接程序空終結(jié)字符串...</p><p> tmpVal = Left(tmpVal, KeyValSize - 1) ' Null 被找到,從字符串中分離出來</p><p> Else
79、 ' WinNT 沒有空終結(jié)字符串...</p><p> tmpVal = Left(tmpVal, KeyValSize) ' Null 沒有被找到, 分離字符串</p><p><b> End If</b><
80、;/p><p> '------------------------------------------------------------</p><p> ' 決定轉(zhuǎn)換的關(guān)鍵字的值類型...</p><p> '------------------------------------------------------------<
81、;/p><p> Select Case KeyValType ' 搜索數(shù)據(jù)類型...</p><p> Case REG_SZ ' 字符串注冊關(guān)鍵字?jǐn)?shù)據(jù)類型</p><p> KeyVal =
82、tmpVal ' 復(fù)制字符串的值</p><p> Case REG_DWORD ' 四字節(jié)的注冊表關(guān)鍵字?jǐn)?shù)據(jù)類型</p><p> For i = Len(tmpVal) To 1 Step -1
83、 ' 將每位進(jìn)行轉(zhuǎn)換</p><p> KeyVal = KeyVal + Hex(Asc(Mid(tmpVal, i, 1))) ' 生成值字符。 By Char。</p><p><b> Next</b></p><p> KeyVal = Format$("&h"
84、+ KeyVal) ' 轉(zhuǎn)換四字節(jié)的字符為字符串</p><p> End Select</p><p> GetKeyValue = True ' 返回成功</p><p> rc = RegCloseKey(hKey)
85、 ' 關(guān)閉注冊表關(guān)鍵字</p><p> Exit Function ' 退出</p><p> GetKeyError: ' 錯誤發(fā)生后將其清除...</p><p> KeyVal =
86、 "" ' 設(shè)置返回值到空字符串</p><p> GetKeyValue = False ' 返回失敗</p><p> rc = RegCloseKey(hKey)
87、 ' 關(guān)閉注冊表關(guān)鍵字</p><p> End Function</p><p> 7.3、檔案的錄入、編輯、刪除、刷新</p><p> 本部分程序主要是把車站的檔案錄入計算機數(shù)據(jù)庫檔案表里,并提供編輯、刪除等功能,能快捷、高效地把用紙張記錄的檔案內(nèi)容用數(shù)字的形式存儲在計算機里,適應(yīng)現(xiàn)代化的辦公系統(tǒng)的需要,
88、以對信息進(jìn)行高效、快速的查詢、修改。系統(tǒng)的錄入界面如下:</p><p><b> frm檔案</b></p><p> Dim WithEvents adoPrimaryRS As Recordset</p><p> Dim mbChangedByCode As Boolean</p><p> Dim mv
89、BookMark As Variant</p><p> Dim mbEditFlag As Boolean</p><p> Dim mbAddNewFlag As Boolean</p><p> Dim mbDataChanged As Boolean</p><p> Private Sub Form_Load()</p
90、><p> Dim db As Connection</p><p> Set db = New Connection</p><p> db.CursorLocation = adUseClient</p><p> db.Open "PROVIDER=Microsoft.Jet.OLEDB.3.51;Data Source=
91、database.mdb;"</p><p> Set adoPrimaryRS = New Recordset</p><p> adoPrimaryRS.Open "select 標(biāo)題,發(fā)文部門,發(fā)文號,發(fā)文日期,錄入人,內(nèi)容 from 檔案", db, adOpenStatic, adLockOptimistic</p><p&g
92、t; Dim oText As TextBox</p><p> '綁定字段到窗體文本框</p><p> For Each oText In Me.txtFields</p><p> Set oText.DataSource = adoPrimaryRS</p><p><b> Next</b>&
93、lt;/p><p> mbDataChanged = False</p><p><b> End Sub</b></p><p> Private Sub Form_Resize()</p><p> On Error Resume Next</p><p> lblStatus.Widt
94、h = Me.Width - 1500</p><p> cmdNext.Left = lblStatus.Width + 700</p><p> cmdLast.Left = cmdNext.Left + 340</p><p><b> End Sub</b></p><p> Private Sub Fo
95、rm_Unload(Cancel As Integer)</p><p> Screen.MousePointer = vbDefault</p><p><b> End Sub</b></p><p> Private Sub adoPrimaryRS_MoveComplete(ByVal adReason As ADODB.Even
96、tReasonEnum, ByVal pError As ADODB.Error, adStatus As ADODB.EventStatusEnum, ByVal pRecordset As ADODB.Recordset)</p><p><b> '顯示記錄位置</b></p><p> lblStatus.Caption = "Recor
97、d: " & CStr(adoPrimaryRS.AbsolutePosition)</p><p><b> End Sub</b></p><p> Private Sub adoPrimaryRS_WillChangeRecord(ByVal adReason As ADODB.EventReasonEnum, ByVal cRecords
98、 As Long, adStatus As ADODB.EventStatusEnum, ByVal pRecordset As ADODB.Recordset)</p><p> 'This is where you put validation code</p><p> 'This event gets called when the following acti
99、ons occur</p><p> Dim bCancel As Boolean</p><p> Select Case adReason</p><p> Case adRsnAddNew</p><p> 'adStatus = adStatusCancel</p><p> Case adR
100、snClose</p><p> Case adRsnDelete</p><p> Case adRsnFirstChange</p><p> Case adRsnMove</p><p> Case adRsnRequery</p><p> Case adRsnResynch</p>&
101、lt;p> Case adRsnUndoAddNew</p><p> Case adRsnUndoDelete</p><p> Case adRsnUndoUpdate</p><p> Case adRsnUpdate</p><p> End Select</p><p> If bCance
102、l Then adStatus = adStatusCancel</p><p><b> End Sub</b></p><p> Private Sub cmdAdd_Click()</p><p> On Error GoTo AddErr</p><p> With adoPrimaryRS</p&
103、gt;<p> If Not (.BOF And .EOF) Then</p><p> mvBookMark = .Bookmark</p><p><b> End If</b></p><p><b> .AddNew</b></p><p> lblStatus.Ca
104、ption = "Add record"</p><p> mbAddNewFlag = True</p><p> SetButtons False</p><p><b> End With</b></p><p><b> Exit Sub</b></p>
105、;<p><b> AddErr:</b></p><p> MsgBox Err.Description</p><p><b> End Sub</b></p><p> Private Sub cmdDelete_Click()</p><p> On Error Go
106、To DeleteErr</p><p> With adoPrimaryRS</p><p><b> .Delete</b></p><p><b> .MoveNext</b></p><p> If .EOF Then .MoveLast</p><p>&l
107、t;b> End With</b></p><p><b> Exit Sub</b></p><p> DeleteErr:</p><p> MsgBox Err.Description</p><p><b> End Sub</b></p><
108、p> Private Sub cmdRefresh_Click()</p><p> 'This is only needed for multi user apps</p><p> On Error GoTo RefreshErr</p><p> adoPrimaryRS.Requery</p><p><b
109、> Exit Sub</b></p><p> RefreshErr:</p><p> MsgBox Err.Description</p><p><b> End Sub</b></p><p> Private Sub cmdEdit_Click()</p><p&
110、gt; On Error GoTo EditErr</p><p> lblStatus.Caption = "Edit record"</p><p> mbEditFlag = True</p><p> SetButtons False</p><p><b> Exit Sub</b>
111、;</p><p><b> EditErr:</b></p><p> MsgBox Err.Description</p><p><b> End Sub</b></p><p> Private Sub cmdCancel_Click()</p><p>
112、On Error Resume Next</p><p> SetButtons True</p><p> mbEditFlag = False</p><p> mbAddNewFlag = False</p><p> adoPrimaryRS.CancelUpdate</p><p> If mvBo
113、okMark > 0 Then</p><p> adoPrimaryRS.Bookmark = mvBookMark</p><p><b> Else</b></p><p> adoPrimaryRS.MoveFirst</p><p><b> End If</b></p
114、><p> mbDataChanged = False</p><p><b> End Sub</b></p><p> Private Sub cmdUpdate_Click()</p><p> On Error GoTo UpdateErr</p><p> adoPrimaryRS
115、.UpdateBatch adAffectAll</p><p> If mbAddNewFlag Then</p><p> adoPrimaryRS.MoveLast 'move to the new record</p><p><b> End If</b></p><p>
116、; mbEditFlag = False</p><p> mbAddNewFlag = False</p><p> SetButtons True</p><p> mbDataChanged = False</p><p><b> Exit Sub</b></p><p> U
117、pdateErr:</p><p> MsgBox Err.Description</p><p><b> End Sub</b></p><p> Private Sub cmdClose_Click()</p><p><b> Unload Me</b></p><
118、;p><b> End Sub</b></p><p> Private Sub cmdFirst_Click()</p><p> On Error GoTo GoFirstError</p><p> adoPrimaryRS.MoveFirst</p><p> mbDataChanged = Fa
119、lse</p><p><b> Exit Sub</b></p><p> GoFirstError:</p><p> MsgBox Err.Description</p><p><b> End Sub</b></p><p> Private Sub cm
120、dLast_Click()</p><p> On Error GoTo GoLastError</p><p> adoPrimaryRS.MoveLast</p><p> mbDataChanged = False</p><p><b> Exit Sub</b></p><p>
121、 GoLastError:</p><p> MsgBox Err.Description</p><p><b> End Sub</b></p><p> Private Sub cmdNext_Click()</p><p> On Error GoTo GoNextError</p>&l
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 論檔案管理全面化對于高校的重要性
- 淺論房產(chǎn)檔案管理的重要性
- 淺析醫(yī)院檔案管理的重要性
- 畢業(yè)論文——教師檔案管理系統(tǒng)
- 人事檔案管理系統(tǒng)設(shè)計畢業(yè)論文
- 加強房產(chǎn)檔案管理的重要性及對策探討
- 加強社保檔案管理的重要性及對策分析
- 畢業(yè)論文——機動車輛檔案管理系統(tǒng)---車輛檔案管理
- 畢業(yè)論文——機動車輛檔案管理系統(tǒng)---車輛檔案管理
- 畢業(yè)論文——機動車輛檔案管理系統(tǒng)---車輛檔案管理
- 學(xué)生檔案管理系統(tǒng)畢業(yè)論文
- 畢業(yè)論文-人事檔案管理系統(tǒng)
- 畢業(yè)論文---人事檔案管理系統(tǒng)
- 學(xué)生檔案管理系統(tǒng)-畢業(yè)論文
- 芻議檔案管理工作的重要性及對策
- 畢業(yè)論文——檔案管理系統(tǒng)的設(shè)計與實現(xiàn)
- 學(xué)生檔案管理系統(tǒng)畢業(yè)論文
- 檔案管理系統(tǒng)畢業(yè)設(shè)計論文
- 關(guān)于城市檔案管理工作的重要性
- 探討強化社保檔案管理的重要性與對策
評論
0/150
提交評論