久久国产成人av_抖音国产毛片_a片网站免费观看_A片无码播放手机在线观看,色五月在线观看,亚洲精品m在线观看,女人自慰的免费网址,悠悠在线观看精品视频,一级日本片免费的,亚洲精品久,国产精品成人久久久久久久

分享

VB+ACCESS2000開發(fā)的檔案管理系統(tǒng)【畢業(yè)論文】

 悟靜 2009-06-06

VB+ACCESS2000開發(fā)的檔案管理系統(tǒng)【畢業(yè)論文】

摘  要
近年來,,隨著企業(yè)彼此間的競爭日趨激烈,,信息技術(shù)在企業(yè)的發(fā)展中占據(jù)著越來越重要的地位。在企業(yè)的運輸生產(chǎn)中,檔案已成為企業(yè)運輸經(jīng)營中不可或缺的一部分,,為管理者進(jìn)行管理決策和進(jìn)行各種經(jīng)營活動提供了重要的依據(jù),在運輸生產(chǎn)中發(fā)揮了越來越重要的作用,。
檔案管理系統(tǒng)是一個企業(yè)單位不可缺少的部分,它的內(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)代化的檔案管理工作起到了重要作用,,具有較高的實用價值,。

關(guān)鍵詞: 數(shù)據(jù)庫  模塊  信息  數(shù)據(jù)

目  錄
第一章  概述 ---------------------------------------------------------------------------------3
第二章  目標(biāo)分析和方案確定--------------------------------------------------------4 第三章  開發(fā)檔案管理系統(tǒng)的基本思路----------------------------------------6
3.1 使用VB6.0編寫代碼------------------------------------------------------6
3.2 使用Access2000建立數(shù)據(jù)庫-------------------------------------------6 3.3 用JET數(shù)據(jù)庫引擎訪問數(shù)據(jù)庫----------------------------------------6
第四章  Visual Basic 6.0編程語言概述----------------------------------------7
4.1 創(chuàng)建菜單欄--------------------------------------------------------------------7
4.2 創(chuàng)建工具欄--------------------------------------------------------------------7
4.3 建立幫助信息-----------------------------------------------------------------8
4.4 生成版本信息-----------------------------------------------------------------8
第五章  使用Access2000 實現(xiàn)關(guān)系型數(shù)據(jù)庫------------------------------9
5.1 數(shù)據(jù)庫的概念-----------------------------------------------------------------9
5.2 新建一個數(shù)據(jù)庫--------------------------------------------------------------9
5.3 修改已建的數(shù)據(jù)庫----------------------------------------------------------9
第六章  系統(tǒng)總體設(shè)計--------------------------------------------------------------------10
第七章  分模塊設(shè)計------------------------------------------------------------------------12 7.1檔案的系統(tǒng)維護(hù)---------------------------------------------------------------12 7.2檔案的版本和系統(tǒng)信息-----------------------------------------------------13 7.3檔案的錄入、編輯,、刪除,、刷新---------------------------------------17 7.4檔案的登陸和密碼設(shè)計-----------------------------------------------------24 7.5檔案的主界面------------------------------------------------------------------27 7.6檔案的查詢、預(yù)覽,、打印功能------------------------------------------28 7.7檔案的統(tǒng)計功能---------------------------------------------------------------31 7.8檔案的報表----------------------------------------------------------------------32
第八章  結(jié)束語--------------------------------------------------------------------------------34
附:主要參考文獻(xiàn)-------------------------------------------------------------------35

第一章          概述
    近年來,,隨著企業(yè)彼此間的競爭日趨激烈,,信息技術(shù)在企業(yè)的發(fā)展中占據(jù)著越來越重要的地位,借助信息技術(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ù)報表設(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è)計了簡捷方便的用戶登陸和密碼修改。本管理系統(tǒng)設(shè)
計合理,、界面美觀,、操作方便、運行穩(wěn)定,、功能完備,,為進(jìn)行現(xiàn)代化的檔案管理工作起到了重要作用,具有較高的實用價值,。
第二章          目標(biāo)分析和方案確定

   檔案管理系統(tǒng)是一個企業(yè)單位不可缺少的部分,它的內(nèi)容對于企業(yè)的決策者和管理者來說都至關(guān)重要,,所以檔案管理系統(tǒng)應(yīng)該能夠為用戶提供充足的信息和快捷的查詢手段,。但一直以來人們使用傳統(tǒng)人工的方式管理文件檔案,這種管理方式存在著許多缺點,,如:效率低,、保密性差,另外時間一長,,將產(chǎn)生大量的文件和數(shù)據(jù),,這對于查找、更新和維護(hù)都帶來了不少的困難,。
隨著科學(xué)技術(shù)的不斷提高,,計算機科學(xué)日漸成熟,其強大的功能已為人們深刻認(rèn)識,,它已進(jìn)入人類社會的各個領(lǐng)域并發(fā)揮著越來越重要的作用,。今天,計算機的價格已經(jīng)十分低廉,,性能卻有了長足的進(jìn)步,。它已經(jīng)被應(yīng)用于許多領(lǐng)域,計算機之所以如此流行的原因主要有以下幾個方面:
首先,,計算機可以代替人工進(jìn)行許多繁雜的勞動,;
其次,計算機可以節(jié)省許多資源,;
第三,,計算機可以大大的提高人們的工作效率;
第四,,計算機可以使敏感文檔更加安全,,等等。     在企業(yè)中用計算機管理檔案的意義:現(xiàn)在,,有很多企業(yè)的檔案管理水平還停留在紙介質(zhì)的基礎(chǔ)上,,這樣的機制已經(jīng)不能適應(yīng)時代的發(fā)展,,因為它浪費了許多人力和物力,在信息時代這種傳統(tǒng)的管理方法必然被計算機為基礎(chǔ)的信息管理所取代,。
作為計算機應(yīng)用的一部分,,使用計算機對檔案信息進(jìn)行管理,具有著手工管理所無法比擬的優(yōu)點,。例如:檢索迅速,、查找方便、可靠性高,、存儲量大,、保密性好、壽命長,、成本低等,。這些優(yōu)點能夠極大地提高學(xué)生檔案管理的效率,也是企業(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)境,提高了和前端應(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è)的??粕M谶@方面有所貢獻(xiàn),。我希望能用我所學(xué)的Visual  Basic6.0編制出一個實用的程序來對企業(yè)的檔案進(jìn)行更有效,、快捷、方便的管理,因此,,我充分運用Visual  Basic進(jìn)行了這套檔案管理系統(tǒng)的開發(fā),。
第三章  開發(fā)檔案管理系統(tǒng)的基本思路

3.1、編程環(huán)境的選擇
微軟公司的Visual Basic 6.0是Windows應(yīng)用程序開發(fā)工具,,使目前最為廣泛的,、易學(xué)易用的面向?qū)ο蟮拈_發(fā)工具。Visual Basic提供了大量的控件,,這些控件可用于設(shè)計界面和實現(xiàn)各種功能,,減少了編程人員的工作量,也簡化了界面設(shè)計過程,,從而有效的提高了應(yīng)用程序的運行效率和可靠性,。故而,實現(xiàn)本系統(tǒng)VB是一個相對較好的選擇,。
3.2,、關(guān)系型數(shù)據(jù)庫的實現(xiàn)
Access2000 就是關(guān)系數(shù)據(jù)庫開發(fā)工具,數(shù)據(jù)庫能匯集各種信息以供查詢,、存儲和檢索,。Access 的優(yōu)點在于它能使用數(shù)據(jù)表示圖或自定義窗體收集信息,。數(shù)據(jù)表示圖提供了一種類似于 Excel 的電子表格,,可以使數(shù)據(jù)庫一目了然。另外,,Access 允許創(chuàng)建自定義報表用于打印或輸出數(shù)據(jù)庫中的信息,。Access也提供了數(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ù)庫的強大功能,。
3.3,、二者的結(jié)合(DBA
微軟的JET數(shù)據(jù)庫引擎提供了與數(shù)據(jù)庫打交道的途徑,我們是通過它以及Visual Basic 來訪問數(shù)據(jù)庫并對其進(jìn)行各種操作,。Visual Basic,、Access以及其他微軟的軟件產(chǎn)品都是通過共用JET數(shù)據(jù)庫引擎,從而給用戶提供了豐富的數(shù)據(jù)類型,。
DATA 控件在數(shù)據(jù)庫中的信息與將信息顯示給用戶看的Visual Basic程序之間架起了一座橋梁,。我們可以設(shè)置DATA控件的各個屬性,告訴它要調(diào)用那個數(shù)據(jù)庫的哪個部分。缺省情況下,,DATA控件根據(jù)數(shù)據(jù)庫中的一個或多個數(shù)據(jù)表建立一個dynaset-type(動態(tài)集合)類型的記錄集合,。一個記錄集合是動態(tài)的也就意味著,當(dāng)原來的數(shù)據(jù)表中的容改變了以后,,該記錄集合中的記錄也會隨之改變,。DATA控件還提供了用來瀏覽不同記錄的各種跳轉(zhuǎn)按鈕。將DATA控件放置在窗體中之后,,我們還必須在該控件與要處理的數(shù)據(jù)庫之間建立聯(lián)系,。

第四章  Visual Basic 6.0編程語言概述

    Visual  Basic應(yīng)用程序基本的構(gòu)建塊是用戶所創(chuàng)建的對象,每一個對象都具有一些特性和行為(屬性,、事件和方法),。開發(fā)人員可以最有效利用所創(chuàng)建的每一個對象。使用應(yīng)用程序具有可通用性,、可擴(kuò)展性和強有力的功能,。
Visual  Basic應(yīng)用由一系列對象組成,包括有函數(shù),、菜單,、結(jié)構(gòu)和數(shù)據(jù)窗口、用戶對象,、用戶事件等等,,對象中又包含若干控件如命令按鈕、單行編輯器等這些對象和控件都可在許多應(yīng)用中重復(fù)使用,。
4.1創(chuàng)建菜單欄
除此之外,,VB6.0還有以下一些重要功能。菜單是程序最重要的特性之一,,大多數(shù)程序都依賴一個定義良好的菜單使程序易于使用和維護(hù),,Visual  Basic也提供了強大的創(chuàng)建菜單功能是程序更加標(biāo)準(zhǔn)。您可以使用Visual  Basic的Applicaytion  Wizard也可以使用Visual  Basic的菜單編輯器建立菜單或者修改已經(jīng)存在的菜單,、控件,。其屬性及對象如下:
1.        Align屬性定義工具條在窗休中的位置。
2.        ToolTipText屬性是字符串類型,,定義控件的提示字符,。
3.        Style屬性定義按鈕外觀。
4.        ImageList屬性定義與數(shù)據(jù)條對應(yīng)的ImageList控件名,,該控件定義工具條按鈕顯示的圖像,。
5.        HotImangeList屬性設(shè)置一個ImageList控件名,該控件定義按鈕獲得熱點時顯示的圖像,。
6.        DisabledImageList屬性定義工具條按鈕無效時顯示的圖像,。
4.2創(chuàng)建工具欄
創(chuàng)建工具條主要利用ImageList和Toolbar控件,。創(chuàng)建時,先將ImageList添加到窗體上,,然后往其中添加一些圖片,,接著Toolbar控件添加到窗體上,再往Toolbar中插入一些命令按紐,,為他們添加上相應(yīng)圖片即可,。
4.3建立幫助信息
專業(yè)水平的軟件通常都帶有聯(lián)機幫助功能。無論寫出來的程序是要給大量的用戶使用,,還是僅僅局限于公司內(nèi)部有限的使用者,,我們都應(yīng)該為用戶提供詳細(xì)的、易于理解的聯(lián)機幫助文檔,。微軟的Help  Workshop4.0是一套獨立于Visual  Basic的用來協(xié)助我們創(chuàng)建,、運行于32位Windows操作系統(tǒng)下的幫助文件的工具。使用它可以為我們編寫的應(yīng)用程序生成一組幫助文件,。
4.4生成版本信息
為了使程序顯得更具有專業(yè)風(fēng)格,,首先可以在其中加入通常的應(yīng)用程序信息。這些信息包括公司名稱,、版本號,、修訂號以及其他類似信息。Visual  Basic允許你使用APP對象來保存這些信息,,APP對象是一個預(yù)定義對象,,不需要在程序中創(chuàng)建它。APP對象的大多數(shù)屬性被應(yīng)用程序用來提供常規(guī)的信息,,通過使用這些APP提供的屬性,,可以在應(yīng)用程序和用戶之間交流重要信息,,在項目屬性框中可以設(shè)置它的屬性,。
第五章  使用Access2000實現(xiàn)關(guān)系型數(shù)據(jù)庫

5.1、數(shù)據(jù)庫的概念
數(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),。關(guān)系數(shù)據(jù)庫中包含了多個數(shù)據(jù)表的信息,數(shù)據(jù)庫含有各個不同部分的術(shù)語,,象記錄,、域等。
5.2,、新建一個數(shù)據(jù)庫
創(chuàng)建任何一個數(shù)據(jù)庫的第一步是仔細(xì)的規(guī)劃數(shù)據(jù)庫,,設(shè)計必須是靈活的、有邏輯的。創(chuàng)建一個數(shù)據(jù)庫結(jié)構(gòu)的過程被認(rèn)為是數(shù)據(jù)模型設(shè)計,。
1)標(biāo)識需要的數(shù)據(jù),;
2)收集被標(biāo)識的字段到表中;
3)標(biāo)識主關(guān)鍵字字段,;
4)繪制一個簡單的數(shù)據(jù)圖表,;
5)規(guī)范數(shù)據(jù);
6)標(biāo)識指定字段的信息,;
7)創(chuàng)建物理表,。
5.3、修改已建的數(shù)據(jù)庫
數(shù)據(jù)庫的修改分為:添加,、編輯和刪除記錄,。這三種操作均可由Visual  Basic創(chuàng)建的程序來完成,下面的章節(jié)將詳細(xì)描述實現(xiàn)的具體方法,。

第六章  系統(tǒng)總體設(shè)計

根據(jù)設(shè)計方案,,本系統(tǒng)的結(jié)構(gòu)框圖為(如下所示):
本系統(tǒng)所實現(xiàn)的主要功能為:
可以進(jìn)行文本操作;
1.        錄入一個數(shù)據(jù)庫項目,;
2.        修改一個數(shù)據(jù)庫項目,;
3.        查找一個數(shù)據(jù)庫信息;
4.        刪除一個數(shù)據(jù)庫信息,;
5.        統(tǒng)計一個數(shù)據(jù)庫信息,;
6.        查詢一個數(shù)據(jù)庫信息;
7.        預(yù)覽一個數(shù)據(jù)庫信息,;
8.        編輯一個數(shù)據(jù)庫信息,;
9.        打印一個數(shù)據(jù)庫信息;
10.        打印預(yù)覽一個數(shù)據(jù)庫信息,;
11.        刷新一個數(shù)據(jù)庫信息,;
12.        取消一個數(shù)據(jù)庫信息。
根據(jù)實際數(shù)據(jù)操作流程,,本城西數(shù)據(jù)的ER圖為(根據(jù)數(shù)據(jù)流程勾畫,,下圖為示意圖):
用戶登錄 →  檔案的錄入→檔案的修改和查詢  →檔案的預(yù)覽和打印
本系統(tǒng)所采用的數(shù)據(jù)庫結(jié)構(gòu):
數(shù)據(jù)表:檔案表、用戶表,。根據(jù)系統(tǒng)的需要,,檔案表采用字段結(jié)構(gòu)為:
                               編號        標(biāo)題        發(fā)文部門        發(fā)文號        內(nèi)容        發(fā)文日期
字段類型        自動編號        字符        字符                 字符           備注         日期
是否索引        是        否        否        否        否        否
登錄表結(jié)構(gòu)為:
編  號        用 戶 名        密  碼
 
第七章  分模塊設(shè)計

7.1、檔案的系統(tǒng)維護(hù):
為提高系統(tǒng)的安全性,,防止非法用戶進(jìn)入本系統(tǒng),,本系統(tǒng)設(shè)有用戶登陸界面,并設(shè)立密碼,,合法用戶可以在系統(tǒng)維護(hù)里面的用戶修改里面自行設(shè)立用戶名和密碼,,系統(tǒng)默認(rèn)用戶名為“admin”,,密碼為“1234”。系統(tǒng)的用戶密碼更改界面如下:

Edit.frm
¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬
Dim  db  As  Connection
Dim  rs  As  Recordset
Private Sub Command1_Click()
On Error GoTo er
If rs.State = adStateOpen Then rs.Close
rs.Open "登錄", db, 1, 3
rs("用戶名") = Text1.Text
rs("密碼") = Text2.Text
rs.Update
'rs.Close

MsgBox "修改成功,!", vbOKOnly + vbExclamation
Unload Me
Exit Sub
er:
MsgBox "有錯誤產(chǎn)生,!", vbOKOnly + vbExclamation
End Sub

Private Sub Command2_Click()
    Unload Me
End Sub

Private Sub Form_Load()
Text1.Text = login.user
Text2.Text = login.password
  Set db = New Connection
  db.CursorLocation = adUseClient
  db.Open "PROVIDER=Microsoft.Jet.OLEDB.3.51;Data Source=database.mdb;"

  Set rs = New Recordset
End Sub

Private Sub Form_Unload(Cancel As Integer)
If rs.State = adStateOpen Then rs.Close
Set rs = Nothing
db.Close
Set db = Nothing
End Sub
7.2、檔案的版本和系統(tǒng)信息
About.frm
Option Explicit

' 注冊表關(guān)鍵字安全選項...
Const READ_CONTROL = &H20000
Const KEY_QUERY_VALUE = &H1
Const KEY_SET_VALUE = &H2
Const KEY_CREATE_SUB_KEY = &H4
Const KEY_ENUMERATE_SUB_KEYS = &H8
Const KEY_NOTIFY = &H10
Const KEY_CREATE_LINK = &H20
Const KEY_ALL_ACCESS = KEY_QUERY_VALUE + KEY_SET_VALUE + _
                       KEY_CREATE_SUB_KEY + KEY_ENUMERATE_SUB_KEYS + _
                       KEY_NOTIFY + KEY_CREATE_LINK + READ_CONTROL
                     
' 注冊表關(guān)鍵字 ROOT 類型...
Const HKEY_LOCAL_MACHINE = &H80000002
Const ERROR_SUCCESS = 0
Const REG_SZ = 1                         ' 獨立的空的終結(jié)字符串
Const REG_DWORD = 4                      ' 32位數(shù)字

Const gREGKEYSYSINFOLOC = "SOFTWARE\Microsoft\Shared Tools Location"
Const gREGVALSYSINFOLOC = "MSINFO"
Const gREGKEYSYSINFO = "SOFTWARE\Microsoft\Shared Tools\MSINFO"
Const gREGVALSYSINFO = "PATH"

Private Declare Function RegOpenKeyEx Lib "advapi32" Alias "RegOpenKeyExA" (ByVal hKey As Long, ByVal lpSubKey As String, ByVal ulOptions As Long, ByVal samDesired As Long, ByRef phkResult As Long) As Long
Private Declare Function RegQueryValueEx Lib "advapi32" Alias "RegQueryValueExA" (ByVal hKey As Long, ByVal lpValueName As String, ByVal lpReserved As Long, ByRef lpType As Long, ByVal lpData As String, ByRef lpcbData As Long) As Long
Private Declare Function RegCloseKey Lib "advapi32" (ByVal hKey As Long) As Long


Private Sub cmdSysInfo_Click()
  Call StartSysInfo
End Sub

Private Sub cmdOK_Click()
  Unload Me
End Sub

Private Sub Form_Load()
    Me.Caption = "關(guān)于 " & App.Title
    lblVersion.Caption = "版本 " & App.Major & "." & App.Minor & "." & App.Revision
    lblTitle.Caption = App.Title
    Me.Width = 5820
    Me.Height = 4035
End Sub

Public Sub StartSysInfo()
    On Error GoTo SysInfoErr
  
    Dim rc As Long
    Dim SysInfoPath As String
   
    ' 試圖從注冊表中獲得系統(tǒng)信息程序的路徑及名稱...
    If GetKeyValue(HKEY_LOCAL_MACHINE, gREGKEYSYSINFO, gREGVALSYSINFO, SysInfoPath) Then
    ' 試圖僅從注冊表中獲得系統(tǒng)信息程序的路徑...
    ElseIf GetKeyValue(HKEY_LOCAL_MACHINE, gREGKEYSYSINFOLOC, gREGVALSYSINFOLOC, SysInfoPath) Then
        ' 已知32位文件版本的有效位置
        If (Dir(SysInfoPath & "\MSINFO32.EXE") <> "") Then
            SysInfoPath = SysInfoPath & "\MSINFO32.EXE"
            
        ' 錯誤 - 文件不能被找到...
        Else
            GoTo SysInfoErr
        End If
    ' 錯誤 - 注冊表相應(yīng)條目不能被找到...
    Else
        GoTo SysInfoErr
    End If
   
    Call Shell(SysInfoPath, vbNormalFocus)
   
    Exit Sub
SysInfoErr:
    MsgBox "此時系統(tǒng)信息不可用", vbOKOnly
End Sub

Public Function GetKeyValue(KeyRoot As Long, KeyName As String, SubKeyRef As String, ByRef KeyVal As String) As Boolean
    Dim i As Long                                           ' 循環(huán)計數(shù)器
    Dim rc As Long                                          ' 返回代碼
    Dim hKey As Long                                        ' 打開的注冊表關(guān)鍵字句柄
    Dim hDepth As Long                                      '
    Dim KeyValType As Long                                  ' 注冊表關(guān)鍵字?jǐn)?shù)據(jù)類型
    Dim tmpVal As String                                    ' 注冊表關(guān)鍵字值的臨時存儲器
    Dim KeyValSize As Long                                  ' 注冊表關(guān)鍵自變量的尺寸
    '------------------------------------------------------------
    ' 打開 {HKEY_LOCAL_MACHINE...} 下的 RegKey
    '------------------------------------------------------------
    rc = RegOpenKeyEx(KeyRoot, KeyName, 0, KEY_ALL_ACCESS, hKey) ' 打開注冊表關(guān)鍵字
   
    If (rc <> ERROR_SUCCESS) Then GoTo GetKeyError          ' 處理錯誤...
   
    tmpVal = String$(1024, 0)                             ' 分配變量空間
    KeyValSize = 1024                                       ' 標(biāo)記變量尺寸
   
    '------------------------------------------------------------
    ' 檢索注冊表關(guān)鍵字的值...
    '------------------------------------------------------------
    rc = RegQueryValueEx(hKey, SubKeyRef, 0, _
                         KeyValType, tmpVal, KeyValSize)    ' 獲得/創(chuàng)建關(guān)鍵字值
                        
    If (rc <> ERROR_SUCCESS) Then GoTo GetKeyError          ' 處理錯誤
   
    If (Asc(Mid(tmpVal, KeyValSize, 1)) = 0) Then           ' Win95 外接程序空終結(jié)字符串...
        tmpVal = Left(tmpVal, KeyValSize - 1)               ' Null 被找到,從字符串中分離出來
    Else                                                    ' WinNT 沒有空終結(jié)字符串...
        tmpVal = Left(tmpVal, KeyValSize)                   ' Null 沒有被找到, 分離字符串
    End If
    '------------------------------------------------------------
    ' 決定轉(zhuǎn)換的關(guān)鍵字的值類型...
    '------------------------------------------------------------
    Select Case KeyValType                                  ' 搜索數(shù)據(jù)類型...
    Case REG_SZ                                             ' 字符串注冊關(guān)鍵字?jǐn)?shù)據(jù)類型
        KeyVal = tmpVal                                     ' 復(fù)制字符串的值
    Case REG_DWORD                                          ' 四字節(jié)的注冊表關(guān)鍵字?jǐn)?shù)據(jù)類型
        For i = Len(tmpVal) To 1 Step -1                    ' 將每位進(jìn)行轉(zhuǎn)換
            KeyVal = KeyVal + Hex(Asc(Mid(tmpVal, i, 1)))   ' 生成值字符,。 By Char,。
        Next
        KeyVal = Format$("&h" + KeyVal)                     ' 轉(zhuǎn)換四字節(jié)的字符為字符串
    End Select
   
    GetKeyValue = True                                      ' 返回成功
    rc = RegCloseKey(hKey)                                  ' 關(guān)閉注冊表關(guān)鍵字
    Exit Function                                           ' 退出
   
GetKeyError:      ' 錯誤發(fā)生后將其清除...
    KeyVal = ""                                             ' 設(shè)置返回值到空字符串
    GetKeyValue = False                                     ' 返回失敗
    rc = RegCloseKey(hKey)                                  ' 關(guān)閉注冊表關(guān)鍵字
End Function
7.3、檔案的錄入,、編輯,、刪除、刷新
本部分程序主要是把車站的檔案錄入計算機數(shù)據(jù)庫檔案表里,,并提供編輯,、刪除等功能,能快捷,、高效地把用紙張記錄的檔案內(nèi)容用數(shù)字的形式存儲在計算機里,,適應(yīng)現(xiàn)代化的辦公系統(tǒng)的需要,以對信息進(jìn)行高效,、快速的查詢,、修改。系統(tǒng)的錄入界面如下:

frm檔案

Dim WithEvents adoPrimaryRS As Recordset
Dim mbChangedByCode As Boolean
Dim mvBookMark As Variant
Dim mbEditFlag As Boolean
Dim mbAddNewFlag As Boolean
Dim mbDataChanged As Boolean

Private Sub Form_Load()
  Dim db As Connection
  Set db = New Connection
  db.CursorLocation = adUseClient
  db.Open "PROVIDER=Microsoft.Jet.OLEDB.3.51;Data Source=database.mdb;"

  Set adoPrimaryRS = New Recordset
  adoPrimaryRS.Open "select 標(biāo)題,發(fā)文部門,發(fā)文號,發(fā)文日期,錄入人,內(nèi)容 from 檔案", db, adOpenStatic, adLockOptimistic

  Dim oText As TextBox
  '綁定字段到窗體文本框
  For Each oText In Me.txtFields
    Set oText.DataSource = adoPrimaryRS
  Next

  mbDataChanged = False
End Sub

Private Sub Form_Resize()
  On Error Resume Next
  lblStatus.Width = Me.Width - 1500
  cmdNext.Left = lblStatus.Width + 700
  cmdLast.Left = cmdNext.Left + 340
End Sub

Private Sub Form_Unload(Cancel As Integer)
  Screen.MousePointer = vbDefault
End Sub

Private Sub adoPrimaryRS_MoveComplete(ByVal adReason As ADODB.EventReasonEnum, ByVal pError As ADODB.Error, adStatus As ADODB.EventStatusEnum, ByVal pRecordset As ADODB.Recordset)
  '顯示記錄位置
  lblStatus.Caption = "Record: " & CStr(adoPrimaryRS.AbsolutePosition)
End Sub

Private Sub adoPrimaryRS_WillChangeRecord(ByVal adReason As ADODB.EventReasonEnum, ByVal cRecords As Long, adStatus As ADODB.EventStatusEnum, ByVal pRecordset As ADODB.Recordset)
  'This is where you put validation code
  'This event gets called when the following actions occur
  Dim bCancel As Boolean

  Select Case adReason
  Case adRsnAddNew
  'adStatus = adStatusCancel
  Case adRsnClose
  Case adRsnDelete
  Case adRsnFirstChange
  Case adRsnMove
  Case adRsnRequery
  Case adRsnResynch
  Case adRsnUndoAddNew
  Case adRsnUndoDelete
  Case adRsnUndoUpdate
  Case adRsnUpdate
  End Select

  If bCancel Then adStatus = adStatusCancel
End Sub

Private Sub cmdAdd_Click()
  On Error GoTo AddErr
  With adoPrimaryRS
    If Not (.BOF And .EOF) Then
      mvBookMark = .Bookmark
    End If
    .AddNew
    lblStatus.Caption = "Add record"
    mbAddNewFlag = True
    SetButtons False
  End With

  Exit Sub
AddErr:
  MsgBox Err.Description
End Sub

Private Sub cmdDelete_Click()
  On Error GoTo DeleteErr
  With adoPrimaryRS
    .Delete
    .MoveNext
    If .EOF Then .MoveLast
  End With
  Exit Sub
DeleteErr:
  MsgBox Err.Description
End Sub

Private Sub cmdRefresh_Click()
  'This is only needed for multi user apps
  On Error GoTo RefreshErr
  adoPrimaryRS.Requery
  Exit Sub
RefreshErr:
  MsgBox Err.Description
End Sub

Private Sub cmdEdit_Click()
  On Error GoTo EditErr

  lblStatus.Caption = "Edit record"
  mbEditFlag = True
  SetButtons False
  Exit Sub

EditErr:
  MsgBox Err.Description
End Sub
Private Sub cmdCancel_Click()
  On Error Resume Next

  SetButtons True
  mbEditFlag = False
  mbAddNewFlag = False
  adoPrimaryRS.CancelUpdate
  If mvBookMark > 0 Then
    adoPrimaryRS.Bookmark = mvBookMark
  Else
    adoPrimaryRS.MoveFirst
  End If
  mbDataChanged = False

End Sub

Private Sub cmdUpdate_Click()
  On Error GoTo UpdateErr

  adoPrimaryRS.UpdateBatch adAffectAll

  If mbAddNewFlag Then
    adoPrimaryRS.MoveLast              'move to the new record
  End If

  mbEditFlag = False
  mbAddNewFlag = False
  SetButtons True
  mbDataChanged = False

  Exit Sub
UpdateErr:
  MsgBox Err.Description
End Sub

Private Sub cmdClose_Click()
  Unload Me
End Sub

Private Sub cmdFirst_Click()
  On Error GoTo GoFirstError

  adoPrimaryRS.MoveFirst
  mbDataChanged = False

  Exit Sub

GoFirstError:
  MsgBox Err.Description
End Sub

Private Sub cmdLast_Click()
  On Error GoTo GoLastError

  adoPrimaryRS.MoveLast
  mbDataChanged = False

  Exit Sub

GoLastError:
  MsgBox Err.Description
End Sub

Private Sub cmdNext_Click()
  On Error GoTo GoNextError

  If Not adoPrimaryRS.EOF Then adoPrimaryRS.MoveNext
  If adoPrimaryRS.EOF And adoPrimaryRS.RecordCount > 0 Then
    Beep
     'moved off the end so go back
    adoPrimaryRS.MoveLast
  End If
  'show the current record
  mbDataChanged = False

  Exit Sub
GoNextError:
  MsgBox Err.Description
End Sub

Private Sub cmdPrevious_Click()
  On Error GoTo GoPrevError

  If Not adoPrimaryRS.BOF Then adoPrimaryRS.MovePrevious
  If adoPrimaryRS.BOF And adoPrimaryRS.RecordCount > 0 Then
    Beep
    'moved off the end so go back
    adoPrimaryRS.MoveFirst
  End If
  'show the current record
  mbDataChanged = False

  Exit Sub

GoPrevError:
  MsgBox Err.Description
End Sub

Private Sub SetButtons(bVal As Boolean)
  cmdAdd.Visible = bVal
  cmdEdit.Visible = bVal
  cmdUpdate.Visible = Not bVal
  cmdCancel.Visible = Not bVal
  cmdDelete.Visible = bVal
  cmdClose.Visible = bVal
  cmdRefresh.Visible = bVal
  cmdNext.Enabled = bVal
  cmdFirst.Enabled = bVal
  cmdLast.Enabled = bVal
  cmdPrevious.Enabled = bVal
End Sub
7.4檔案的登陸和密碼設(shè)計
本部分程序主要是提高系統(tǒng)的安全性,,以防止非法用戶進(jìn)入本系統(tǒng),,避免不必要的損失。



Login.frm
'是否合法用戶
Public password As String
Public user As String
Dim db As Connection
Dim rs As Recordset
Private Sub Command1_Click()
If Trim(Text1.Text) = "" Then
    MsgBox "請輸入完整,!", vbOKOnly + vbExclamation
Else
    If rs.State = adStateOpen Then rs.Close
   
    rs.Open "select * from 登錄 where 用戶名='" & Text1.Text & "'", db, 1, 1
    If Not rs.EOF And Not rs.BOF Then
        If rs("密碼") = Text2.Text Then
        user = Text1.Text
        password = Text2.Text
            main.Show
            Unload Me
        Else
            MsgBox "密碼錯誤,!", vbOKOnly + vbExclamation
        End If
    Else
        MsgBox "無此用戶!", vbOKOnly + vbExclamation
    End If

End If

End Sub

Private Sub Command2_Click()
End
End Sub

Private Sub Form_Activate()
Text1.SetFocus

End Sub

Private Sub Form_Load()
'Me.Width = 8000
'Me.Height = 6000
  Set db = New Connection
  db.CursorLocation = adUseClient
  db.Open "PROVIDER=Microsoft.Jet.OLEDB.3.51;Data Source=database.mdb;"

  Set rs = New Recordset
End Sub

Private Sub Form_Unload(Cancel As Integer)
rs.Close
Set rs = Nothing
db.Close
Set db = Nothing
End Sub

Private Sub Text1_GotFocus()
Text1.SelStart = 0
Text1.SelLength = Len(Text1.Text)

End Sub

Private Sub Text1_KeyPress(KeyAscii As Integer)
If KeyAscii = 13 Then
    Text2.SetFocus
End If

End Sub

Private Sub Text2_GotFocus()
Text2.SelStart = 0

Text2.SelLength = Len(Text2.Text)

End Sub

Private Sub Text2_KeyPress(KeyAscii As Integer)
If KeyAscii = 13 Then
    Command1.SetFocus
End If

End Sub
7.5,、檔案的主界面
本系統(tǒng)采用MDI方式,,這是系統(tǒng)的所有窗口的父窗口,體統(tǒng)了系統(tǒng)的所有菜單等控制功能,。
檔案的主界面如下:

Main.frm
Private Sub dacz_Click()
query.Show
End Sub

Private Sub dalr_Click()
frm檔案.Show

End Sub

Private Sub datj_Click()
tle.Show
End Sub


Private Sub guanyu_Click()
frmAbout.Show
End Sub

Private Sub MDIForm_Load()
StatusBar1.Panels(1).Text = Date
Me.WindowState = 2
End Sub

Private Sub ynghuxiugai_Click()
edit.Show
End Sub

Private Sub zhuangtai_Click()
If zhuangtai.Checked Then
    zhuangtai.Checked = False
    StatusBar1.Visible = False
Else
    zhuangtai.Checked = True
    StatusBar1.Visible = True
End If
End Sub
7.6,、檔案的查詢,、預(yù)覽,、打印功能
本部分能夠提供對所需文件的按不同條件的查詢、預(yù)覽,、打印等功能,,利用了VB訪問數(shù)據(jù)庫ADO對象的強大功能,能夠?qū)崿F(xiàn)對所需文件的靈活查詢,,再利用VB內(nèi)置的數(shù)據(jù)報表功能,,實現(xiàn)對所需文件的預(yù)覽和打印,。
Query.frm
Dim  db  As  Connection
Dim  rs  As  Recordset
Public  tdata  As  String


Private  Sub  Command1_Click()
On  Error  GoTo  er
If  rs.State=adStateOpen  Then  rs.Close


rs.Open〝select * from 檔案 where〝 & Combol.Text & 〝=〝 & Text1.Text & 〝,db,
adOpenStatic,adLockOptimistic
Set DataGrid1.DataSource=rs
DataGrid1.Refresh
Exit Sub
er:
MsgBox 〝請?zhí)顚懞线m的查詢條件或確認(rèn)格式正確〝,vbOKOnly+vbQuestion


End Sub


Private Sub Command2_Click()
On Error GoTo er


If rs.State=adStateOpen Then rs.Close
rs.Open 〝select * from 檔案  where  發(fā)文日期>=#〝 & Text2.text & 〝 and 發(fā)文日期<=#〝 &

Text3.Test & 〝#〝,db,adOpenStatic,adLockOptimistic
Set DataGrid1.DataSource=rs
DataGrid1.Refresh
Exit Sub
er:
MsgBox 〝請?zhí)顚懞线m的查詢條件或確認(rèn)格式正確〝,vbOKOnly+vbQuestion


End Sub


Private Sub Command3_Click()
  On Error GoTo er


DataGrid1.Col=0
tdatat=DataGrid1.Test
DataReport1.Show
Exit Sub
er:
MsgBox〝請選擇要預(yù)覽的內(nèi)容〝,vbOKOnly + vbQuestion


‵MsgBox
End Sub


Private Sub Form_Load()
‵Me.Width=10000
‵Me.Height=7000
   Set db=New Commection
   Db.CursorLocation=adUseClient
   db.Open〝PROWIDER=Microsoft.Jet.OLEDB.3.51;Data Source=database.mdb; 〝


   Set rs =New Recordset
End Sub


Private Sub Form_Unload(Cancel As Integer)
If rs.State=adStateOpen Then rs.Close
Set rs=Nothing
db.Close
Set db =Nothing


End Sub


Private Sub Option1_Click()
qita.Visible=False
riqi.Visible=True
End Sub


Private Sub Option2_Click()
qita.Visible=True
riqi.Visible=False
End Sub
____________________________________________________________________
7.7,、檔案的統(tǒng)計功能
本部分能夠準(zhǔn)確地統(tǒng)計出所錄入的檔案數(shù)目,,以便進(jìn)行檔案統(tǒng)計。

Totle.frm
Private Sub Form_Load()
Dim rs As Recordset
Dim db As Connection
  Set db=New Connection
  db.CursorLocation=adUseClient
  db.Open 〝PROVIDER=Microsoft.Jet.OLEDB.3.51;Data Source=database.mdb; 〝


Set rs=New Recordset
rs.Open 〝檔案〝,db,adOpenStatic,1
Label1.Caption=〝本系統(tǒng)共收集檔案: 〝& rs.RecordCount &〝條檔案記錄〝
End Sub
____________________________________________________________________
7.8,、檔案的報表
靈活運用了VB的數(shù)據(jù)報表功能,,實現(xiàn)了文件的預(yù)覽、打印,。
Datareport
  Dim db As Connection
  Dim rs As Recordset


Private Sub DataReport_Initialize()
Set db =New Connection
Db.Cursor location=adUseClient
db.Open 〝PROVIDER=Microsoft.Jet.OLEDB.3.51;Data Source=database.mdb; 〝


Set rs = New Recordset


  rs.Open 〝select * from 檔案 where 編號=〝 & query.tdata,db,1,1
Set DataReport1.DataSource=rs
End Sub
第八章  結(jié)束語

經(jīng)過一個多月的設(shè)計和開發(fā),,這套檔案管理系統(tǒng)已基本結(jié)束。主要能實現(xiàn)檔案的錄入,、修改,、查找、刪除,、統(tǒng)計,、查詢、預(yù)覽,、編輯,、打印、打印預(yù)覽,、取消,、刷新等功能,此外,,在程序中還設(shè)計了用戶登陸,,以確保本系統(tǒng)應(yīng)用的安全性。本管理系統(tǒng)設(shè)計合理,、界面美觀,、操作方便、運行穩(wěn)定,、功能完備,,為企業(yè)進(jìn)行現(xiàn)代化的檔案管理工作起到了重要作用。但是由于畢業(yè)設(shè)計時間較短,,所以該系統(tǒng)還有一些不盡人意的地方,,比如聯(lián)機文檔比較少,用戶界面不夠美觀等問題,,這些都有待進(jìn)一步改善,,敬請各位老師指正。
在本次畢業(yè)設(shè)計中,,我從指導(dǎo)老師周朋紅老師身上學(xué)到了很多東西,,周老師認(rèn)真負(fù)責(zé)的工作態(tài)度,、嚴(yán)謹(jǐn)治學(xué)的精神和深厚的理論水平都使我受益匪淺。無論在理論上還是在實踐中,,她都給予我很大的幫助,,使我的Visual Basic應(yīng)用水平得到了很大的提高,這對于我以后的工作和學(xué)習(xí)都有一種巨大的幫助,。
今后的工作中,,我一定要充分運用自己所學(xué)的計算機知識,并在工作中不斷學(xué)習(xí)和完善,,充分發(fā)揮一名計算機專業(yè)人員的作用,,為企業(yè)的騰飛和發(fā)展貢獻(xiàn)自己的力量。
附:主要參考文獻(xiàn)
[1]Visual  Basic  6.0使用指南
作者:Bob Reselman,, Richard Peasley ,, Warne Pruchniak。
出版社:電子工業(yè)出版社
[2]中文版Microsoft Office 97 自學(xué)通
作者:Ned Snell
出版社:機械工業(yè)出版社
[3]Visual Basic 6.0 中文版控件大全
作者:Microsoft
出版社:電子工業(yè)出版社
[4]中文Access 2000 24學(xué)時教程
作者:Craig Eddy,, Timothy Buchanan
出版社:機械工業(yè)出版社
[5]Vbsual Basic 6.0用戶編程手冊
作者:林永  張樂強
出版社:人民郵電出版社
[6]Visual Basic 6.X程序設(shè)計
作者:陳俊源
出版社:中國鐵道出版社

    本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點,。請注意甄別內(nèi)容中的聯(lián)系方式,、誘導(dǎo)購買等信息,謹(jǐn)防詐騙,。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,,請點擊一鍵舉報。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多