




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、摘要近年來,隨著企業(yè)彼此間的競爭日趨激烈,信息技術在企業(yè)的發(fā)展中占據(jù) 著越來越重要的地位。在企業(yè)的運輸生產(chǎn)中,檔案已成為企業(yè)運輸經(jīng)營中不可 或缺的一部分,為管理者進行管理決策和進行各種經(jīng)營活動提供了重要的依 據(jù),在運輸生產(chǎn)中發(fā)揮了越來越重要的作用。檔案管理系統(tǒng)是一個企業(yè)單位不可缺少的部分,它的內容對于企業(yè)的決策 者和管理者來說都至關重要,所以檔案管理系統(tǒng)能夠為用戶提供充足的信息和 快捷的查詢手段。用 Visual Basic構建的檔案管理系統(tǒng),能實現(xiàn)檔案的錄入修改、查找、刪除、統(tǒng)計、查詢、預覽、編輯、打印、打印預覽、取消、 刷新、視圖、系統(tǒng)維護、幫助等功能,此外,在程序中還設計了用戶登陸,并
2、設定了密碼,以確保本系統(tǒng)應用的安全性。本管理系統(tǒng)設計合理、界面美觀、 操作方便、運行穩(wěn)定、功能完備,為進行現(xiàn)代化的檔案管理工作起到了重要作 用,具有較高的實用價值。關鍵詞:數(shù)據(jù)庫模塊信息數(shù)據(jù)源目錄第一章概述3第二章目標分析和方案確定4 第三章開發(fā)檔案管理系統(tǒng)的基本思路63.1使用VB6.0編寫代碼63.2使用Access2000建立數(shù)據(jù)庫 63.3用JET數(shù)據(jù)庫引擎訪問數(shù)據(jù)庫 6第四章 Visual Basic 6.0編程語言概述 74.1倉U建菜單欄74.2倉U建工具欄74.3建立幫助信息84.4生成版本信息8第五章使用Access200(實現(xiàn)關系型數(shù)據(jù)庫95.1數(shù)據(jù)庫的概念95.2新建一個
3、數(shù)據(jù)庫5.3修改已建的數(shù)據(jù)庫-第六章系統(tǒng)總體設計第七章 分模塊設計檔案的系統(tǒng)維護案的版本和系統(tǒng)信息- 的錄入、編輯、刪除、刷新登陸和密碼設計 界面預覽、打印功能第八章結束語-附:主要參考文獻910127.1127.2 檔137.3檔案 177.4檔案的 247.5檔案的主277.6檔案的查詢、287.7檔案的統(tǒng)計功能- -317.8檔案的報表3234 35第一章概述近年來,隨著企業(yè)彼此間的競爭日趨激烈,信息技術在企業(yè)的發(fā)展中占據(jù)著越 來越重要的地位,借助信息技術來獲取更快捷、更高效、更準確的操作方式, 發(fā)揮企業(yè)本身最大的競爭力以適應快速變遷的商業(yè)環(huán)境,逐漸成為不可避免的 趨勢。在企業(yè)的運輸生產(chǎn)
4、中,檔案已成為企業(yè)運輸經(jīng)營中不可或缺的一部分, 為管理者進行管理決策和進行各種經(jīng)營活動提供了重要的依據(jù),在運輸生產(chǎn)中 發(fā)揮了越來越重要的作用。為方便、高效、快捷地適應現(xiàn)代化檔案的需要,本 論文應用Visual Basic 構建了一個檔案管理系統(tǒng),其中用到了數(shù)據(jù)庫的應 用、建立、數(shù)據(jù)庫操作對象 ADO數(shù)據(jù)報表設計等知識。檔案管理系統(tǒng)是典型 的信息管理系統(tǒng)(MIS),其開發(fā)主要包括后臺數(shù)據(jù)庫的建立和維護以及前端應 用程序的開發(fā)兩個方面。對于前者要求建立起數(shù)據(jù)一致性和完整性強、數(shù)據(jù)安 全性好的庫。而對于后者則要求應用程序功能完備,易使用等特點。用VisualBasic構建的檔案管理系統(tǒng),主要能實現(xiàn)檔
5、案的錄入、修改、查找、刪除、統(tǒng) 計、查詢、編輯、打印、打印預覽、取消、刷新、視圖、系統(tǒng)維護、幫助等功 能,為保證用戶的安全性,還設計了簡捷方便的用戶登陸和密碼修改。本管理系統(tǒng)設計合理、界面美觀、操作方便、運行穩(wěn)定、功能完備,為進行現(xiàn)代化的檔案管 理工作起到了重要作用,具有較高的實用價值。第二章目標分析和方案確定檔案管理系統(tǒng)是一個企業(yè)單位不可缺少的部分,它的內容對于企業(yè)的決策者和 管理者來說都至關重要,所以檔案管理系統(tǒng)應該能夠為用戶提供充足的信息和 快捷的查詢手段。但一直以來人們使用傳統(tǒng)人工的方式管理文件檔案,這種管 理方式存在著許多缺點,如:效率低、保密性差,另外時間一長,將產(chǎn)生大量 的文件和
6、數(shù)據(jù),這對于查找、更新和維護都帶來了不少的困難。隨著科學技術的不斷提高,計算機科學日漸成熟,其強大的功能已為人們 深刻認識,它已進入人類社會的各個領域并發(fā)揮著越來越重要的作用。今天, 計算機的價格已經(jīng)十分低廉,性能卻有了長足的進步。它已經(jīng)被應用于許多領 域,計算機之所以如此流行的原因主要有以下幾個方面:首先,計算機可以代替人工進行許多繁雜的勞動;其次,計算機可以節(jié)省許多資源;第三,計算機可以大大的提高人們的工作效率;第四,計算機可以使敏感文檔更加安全,等等在企業(yè)中用計算機管理檔案的意義:現(xiàn)在,有很多企業(yè)的檔案管理水平還 停留在紙介質的基礎上,這樣的機制已經(jīng)不能適應時代的發(fā)展,因為它浪費了 許多
7、人力和物力,在信息時代這種傳統(tǒng)的管理方法必然被計算機為基礎的信息 管理所取代。作為計算機應用的一部分,使用計算機對檔案信息進行管理,具有著手工 管理所無法比擬的優(yōu)點。例如:檢索迅速、查找方便、可靠性高、存儲量大、 保密性好、壽命長、成本低等。這些優(yōu)點能夠極大地提高學生檔案管理的效 率,也是企業(yè)的科學化、正規(guī)化管理,與世界接軌的重要條件。Visual Basic簡單易學且功能豐富,是廣泛應用的變成語言之一,它的發(fā)展為編程人員提供了更廣泛的空間。為能夠迎合轉變快速的信息技術,越來越多 的企業(yè)傾向于分布式的管理需求,提供分布式主從結構環(huán)境的MicrosoftSQL Server便成為相當重要的核心角
8、色,這個數(shù)據(jù)庫服務器運用了關系數(shù)據(jù) 庫的技術,同時考慮到高效率數(shù)據(jù)庫管理的需求,借助標準化的訪問環(huán)境,提 高了和前端應用環(huán)境輕松集成的能力,以適應各種企業(yè)組織在不同環(huán)境下的操 作需求。作為前端應用程序開發(fā)環(huán)境的Visual Basic6.0,在數(shù)據(jù)來源的維護、數(shù)據(jù)訪問技術、國際網(wǎng)絡和企業(yè)內部Intranet 應用程序等功能方面都有其獨到、先進之處。我作為一個計算機應用專業(yè)的專科生,希望在這方面有所貢獻。我希望能用我 所學的Visual Basic6.0編制出一個實用的程序來對企業(yè)的檔案進行更有效、快捷、方便的管理,因此,我充分運用Visual Basic進行了這套檔案管理系統(tǒng)的開發(fā)。第三章開發(fā)
9、檔案管理系統(tǒng)的基本思路3.1、編程環(huán)境的選擇微軟公司的Visual Basic 6.0 是 Windows應用程序開發(fā)工具,使目前最 為廣泛的、易學易用的面向對象的開發(fā)工具。Visual Basic提供了大量的控件,這些控件可用于設計界面和實現(xiàn)各種功能,減少了編程人員的工作量,也 簡化了界面設計過程,從而有效的提高了應用程序的運行效率和可靠性。故 而,實現(xiàn)本系統(tǒng)VB是一個相對較好的選擇。3.2、關系型數(shù)據(jù)庫的實現(xiàn)Access2000就是關系數(shù)據(jù)庫開發(fā)工具,數(shù)據(jù)庫能匯集各種信息以供查 詢、存儲和檢索。Access的優(yōu)點在于它能使用數(shù)據(jù)表示圖或自定義窗體收集 信息。數(shù)據(jù)表示圖提供了一種類似于Exc
10、el的電子表格,可以使數(shù)據(jù)庫一目了然。另外,Access允許創(chuàng)建自定義報表用于打印或輸出數(shù)據(jù)庫中的信息。 Access也提供了數(shù)據(jù)存儲庫,可以使用桌面數(shù)據(jù)庫文件把數(shù)據(jù)庫文件置于網(wǎng)絡 文件服務器,與其他網(wǎng)絡用戶共享數(shù)據(jù)庫。Access是一種關系數(shù)據(jù)庫工具,關系數(shù)據(jù)庫是已開發(fā)的最通用的數(shù)據(jù)庫之一。如上所述,Access作為關系數(shù) 據(jù)庫開發(fā)具備了許多優(yōu)點,可以在一個數(shù)據(jù)包中同時擁有桌面數(shù)據(jù)庫的便利和 關系數(shù)據(jù)庫的強大功能。3.3、二者的結合(DBA微軟的JET數(shù)據(jù)庫引擎提供了與數(shù)據(jù)庫打交道的途徑,我們是通過它以及 Visual Basic 來訪問數(shù)據(jù)庫并對其進行各種操作。Visual Basic、A
11、ccess以及其他微軟的軟件產(chǎn)品都是通過共用JET數(shù)據(jù)庫引擎,從而給用戶提供了豐富的數(shù)據(jù)類型。DATA控件在數(shù)據(jù)庫中的信息與將信息顯示給用戶看的Visual Basic 程序之間架起了一座橋梁。我們可以設置DATA控件的各個屬性,告訴它要調用那個數(shù)據(jù)庫的哪個部分。缺省情況下,DATA空件根據(jù)數(shù)據(jù)庫中的一個或多個數(shù)據(jù) 表建立一個dynaset-type (動態(tài)集合)類型的記錄集合。一個記錄集合是動態(tài) 的也就意味著,當原來的數(shù)據(jù)表中的容改變了以后,該記錄集合中的記錄也會 隨之改變。DATA控件還提供了用來瀏覽不同記錄的各種跳轉按鈕。將DATA控件放置在窗體中之后,我們還必須在該控件與要處理的數(shù)據(jù)庫
12、之間建立聯(lián)系。第四章Visual Basic 6.0編程語言概述Visual Basic 應用程序基本的構建塊是用戶所創(chuàng)建的對象,每一個對象都具 有一些特性和行為(屬性、事件和方法)。開發(fā)人員可以最有效利用所創(chuàng)建的 每一個對象。使用應用程序具有可通用性、可擴展性和強有力的功能。Visual Basic應用由一系列對象組成,包括有函數(shù)、菜單、結構和數(shù)據(jù)窗口、用戶對象、用戶事件等等,對象中又包含若干控件如命令按鈕、單行編 輯器等這些對象和控件都可在許多應用中重復使用。4.1創(chuàng)建菜單欄除此之外,VB6.0還有以下一些重要功能。菜單是程序最重要的特性之 一,大多數(shù)程序都依賴一個定義良好的菜單使程序易于
13、使用和維護,VisualBasic也提供了強大的創(chuàng)建菜單功能是程序更加標準。您可以使用VisualBasic的Applicaytion Wizard也可以使用 Visual Basic的菜單編輯器建立菜單或者修改已經(jīng)存在的菜單、控件。其屬性及對象如下:1. Align屬性定義工具條在窗休中的位置。2. ToolTipText屬性是字符串類型,定義控件的提示字符。3. Style屬性定義按鈕外觀。4. ImageList屬性定義與數(shù)據(jù)條對應的ImageList控件名,該控件定義工 具條按鈕顯示的圖像。5. HotImangeList屬性設置一個ImageList控件名,該控件定義按鈕獲得 熱點時
14、顯示的圖像。6. DisabledlmageList屬性定義工具條按鈕無效時顯示的圖像。4.2創(chuàng)建工具欄創(chuàng)建工具條主要利用ImageList和Toolbar控件。創(chuàng)建時,先將 ImageList添加到窗體上,然后往其中添加一些圖片,接著 Toolbar控件添加 到窗體上,再往Toolbar中插入一些命令按紐,為他們添加上相應圖片即可。4.3建立幫助信息專業(yè)水平的軟件通常都帶有聯(lián)機幫助功能。無論寫出來的程序是要給大量 的用戶使用,還是僅僅局限于公司內部有限的使用者,我們都應該為用戶提供 詳細的、易于理解的聯(lián)機幫助文檔。微軟的Help Workshop4.0是一套獨立于Visual Basic的用
15、來協(xié)助我們創(chuàng)建、運行于 32位Windows操作系統(tǒng)下的幫助文件的工具。使用它可以為我們編寫的應用程序生成一組幫助文件。4.4生成版本信息為了使程序顯得更具有專業(yè)風格,首先可以在其中加入通常的應用程序信 息。這些信息包括公司名稱、版本號、修訂號以及其他類似信息。VisualBasic允許你使用APP對象來保存這些信息,APP對象是一個預定義對象,不 需要在程序中創(chuàng)建它。APP對象的大多數(shù)屬性被應用程序用來提供常規(guī)的信 息,通過使用這些 APP提供的屬性,可以在應用程序和用戶之間交流重要信 息,在工程屬性框中可以設置它的屬性。第五章使用Access2000實現(xiàn)關系型數(shù)據(jù)庫5.1、數(shù)據(jù)庫的概念數(shù)據(jù)
16、庫是一種存儲數(shù)據(jù)并對數(shù)據(jù)進行操作的工具。數(shù)據(jù)庫的作用在于組織 和表達信息,簡而言之,數(shù)據(jù)庫就是信息集合。計算機的數(shù)據(jù)庫可以分為兩 類:非關系數(shù)據(jù)庫(flat-file )和關系數(shù)據(jù)庫(relatio nal )。關系數(shù)據(jù)庫 中包含了多個數(shù)據(jù)表的信息,數(shù)據(jù)庫含有各個不同部分的術語,象記錄、域 等。5.2、新建一個數(shù)據(jù)庫創(chuàng)建任何一個數(shù)據(jù)庫的第一步是仔細的規(guī)劃數(shù)據(jù)庫,設計必須是靈活的、 有邏輯的。創(chuàng)建一個數(shù)據(jù)庫結構的過程被認為是數(shù)據(jù)模型設計。1) 標識需要的數(shù)據(jù);2) 收集被標識的字段到表中;3) 標識主關鍵字字段;4)繪制一個簡單的數(shù)據(jù)圖表;5)規(guī)范數(shù)據(jù);6)標識指定字段的信息;7)創(chuàng)建物理表。5
17、.3、修改已建的數(shù)據(jù)庫法。第六章系統(tǒng)總體設計根據(jù)設計方案,本系統(tǒng)的結構框圖為(如下所示): 本系統(tǒng)所實現(xiàn)的主要功能為:可以進行文本操作;1.錄入一個數(shù)據(jù)庫工程;2修改一個數(shù)據(jù)庫工程;3. 查找一個數(shù)據(jù)庫信息;4. 刪除一個數(shù)據(jù)庫信息;5. 統(tǒng)計一個數(shù)據(jù)庫信息;6. 查詢一個數(shù)據(jù)庫信息;7. 預覽一個數(shù)據(jù)庫信息;8. 編輯一個數(shù)據(jù)庫信息;9. 打印一個數(shù)據(jù)庫信息;10. 打印預覽一個數(shù)據(jù)庫信息;11. 刷新一個數(shù)據(jù)庫信息;12. 取消一個數(shù)據(jù)庫信息。根據(jù)實際數(shù)據(jù)操作流程,本城西數(shù)據(jù)的 ER圖為(根據(jù)數(shù)據(jù)流程勾畫,下圖 為示意圖):數(shù)據(jù)修改、查詢檔案數(shù)據(jù)用戶登錄T檔案的錄入一檔案的修改和查詢一檔案
18、的預覽和打印本系統(tǒng)所采用的數(shù)據(jù)庫結構:數(shù)據(jù)表:檔案表、用戶表。根據(jù)系統(tǒng)的需要,檔案表采用字段結構為:編號標題發(fā)文部門發(fā)文號內容發(fā)文日期字段類型1自動編號字符字符字符備注日期是否索引是否否否否否登錄表結構為:用戶名第七章分模塊設計7.1、檔案的系統(tǒng)維護:為提高系統(tǒng)的安全性,防止非法用戶進入本系統(tǒng),本系統(tǒng)設有用戶登陸界 面,并設立密碼,合法用戶可以在系統(tǒng)維護里面的用戶修改里面自行設立用戶名和密碼,系統(tǒng)默認用戶名為“ 更改界面如下:admin”,密碼為“ 1234”。系統(tǒng)的用戶密碼用戶名:密碼:登錄退出Edit.frmDim db As ConnectionDim rs As RecordsetPr
19、ivate Sub Comma nd1_Click()On Error GoTo erIf rs.State = adStateOpe n The n rs.Closers.Open 登錄, db, 1,3rs(用戶名)=Text1.Textrs(密碼)=Text2.Textrs.Updaters.CloseMsgBox 修改成功! , vbOKOnly + vbExclamationUn load MeExit Suber:MsgBox 有錯誤產(chǎn)生! , vbOKOnly + vbExclamationEnd SubPrivate Sub Comma nd2 Click()Un load M
20、eEnd SubPrivate Sub Form_Load()Textl.Text = logi n. userText2.Text = logi n.passwordSet db = New Connectiondb.CursorLocatio n = adUseClie ntdb.Open PROVIDER=Microsoft.Jet.OLEDB.3.51 。Data Source=database.mdb。Set rs = New RecordsetEnd SubPrivate Sub Form_Unl oad(Ca ncel As In teger)If rs.State = adSt
21、ateOpe n The n rs.CloseSet rs = Noth ingdb.CloseSet db = Noth ingEnd Sub7.2、檔案的版本和系統(tǒng)信息About.frmOpti on Explicit注冊表關鍵字安全選項.Con st READ_CONTROL = & H20000Const KEY_QUERY_V ALUE = &H1Const KEY_SET_V ALUE = &H2Const KEY_CREATE_SUB_KEY = &H4Const KEY_ENUMERA TE_SUB_KEYS = &H8Con st KEY_NOTIFY = & H10Cons
22、t KEY_CREATE_LINK = & H20Const KEY_ALL_ACCESS = KEY_QUERY_V ALUE + KEY_SET_V ALUE + _ KEY_CREATE_SUB_KEY + KEY_ENUMERATE_SUB_KEYS + _ KEY_NOTIFY + KEY_CREATE_LINK + READ_CONTROL注冊表關鍵字 ROOT類型.Const HKEY_LOCAL_MACHINE = & H80000002Const ERROR_SUCCESS = 0Con st REG_SZ = 1獨立的空的終結字符串Con st REG_DWORD = 4
23、32 位數(shù)字Con st gREGKEYSYSINFOLOC = SOFTWAREMicrosoftShared Tools Locatio nCon st gREGVALSYSINFOLOC = MSINFOCon st gREGKEYSYSINFO = SOFTWAREMicrosoftShared ToolsMSINFOCon st gREGVALSYSINFO = PATHPrivate Declare Function RegOpenKeyEx Lib advapi32 Alias RegOpenKeyExA (ByVai hKey As Long, ByVal ipSubKey A
24、s String, ByVal ulOptions As Long, ByVal samDesired As Long, ByRef phkResult As Long) As LongPrivate Declare Fun ction RegQueryValueEx Lib advapi32 Alias RegQueryValueExA (ByVal hKey As Long, ByVal lpValueName As String, ByVal lpReserved As Long, ByRef lpType As Long, ByVal lpData As Stri ng, ByRef
25、lpcbData As Long) As LongPrivate Declare Fun ction RegCloseKey Lib advapi32 (ByVal hKey As Long) As LongPrivate Sub cmdSysI nfo_Click()Call StartSysI nfoEnd SubPrivate Sub cmdOK_Click()Un load MeEnd SubPrivate Sub Form_Load()Me.Caption = ” 關于 ” & App.TitlelblVersion.Caption =版本& App.Major & . & App.
26、Minor & . & App.Revision lblTitle.Captio n = App.TitleMe.Width = 5820Me.Height = 4035End SubPublic Sub StartSysI nfo()On Error GoTo Sys In foErrDim rc As LongDim SysI nfoPath As Stri ng試圖從注冊表中獲得系統(tǒng)信息程序的路徑及名稱If GetKeyValue(HKEY_LOCAL_MACHINE,gREGKEYSYSINFO, gREGVALSYSINFO,Sysln foPath) Then試圖僅從注冊表中獲得系
27、統(tǒng)信息程序的路徑gREGKEYSYSINFOLOC,ElseIfGetKeyValue(HKEY_LOCAL_MACHINE,gREGVALSYSINFOLOC, SysI nfoPath) The n已知32位文件版本的有效位置If (Dir(SysI nfoPath & MSINFO32.EXE) ) The nSysI nfoPath = SysI nfoPath & MSINFO32.EXE錯誤-文件不能被找到 ElseGoTo SysI nfoErrEnd If錯誤-注冊表相應條目不能被找到ElseGoTo SysI nfoErrEnd IfCall Shell(Sysl nfoPa
28、th, vbNormalFocus)Exit SubSysI nfoErr:MsgBox 此時系統(tǒng)信息不可用 , vbOKOnlyEnd SubPublic Function GetKeyValue(KeyRoot As Long, KeyName As String, SubKeyRef As String, ByRef KeyVal As Stri ng) As Boolea n循環(huán)計數(shù)器返回代碼打開的注冊表關鍵字句柄Dim i As LongDim rc As LongDim hKey As LongDim hDepth As Long注冊表關鍵字數(shù)據(jù)類型注冊表關鍵字值的臨時存儲器注冊表
29、關鍵自變量的尺寸Dim KeyValType As Lo ngDim tmpVal As Stri ngDim KeyValSize As Long打開HKEY_LOCAL_MACHINE. 下的 RegKeyrc = RegOpe nKeyEx(KeyRoot, KeyName, 0, KEY_ALL_ACCESS, hKey)打開注冊表關鍵分配變量空間標記變量尺寸If (rc ERROR_SUCCESS) Then GoTo GetKeyError 處理錯誤 tmpVal = Stri ng$(1024, 0)KeyValSize = 1024檢索注冊表關鍵字的值rc = RegQuery
30、ValueEx(hKey, SubKeyRef, 0, _KeyValType, tmpVal, KeyValSize)獲得 / 創(chuàng)建關鍵字值If (rc ERROR_SUCCESS) The n GoTo GetKeyError 處理錯誤If (Asc(Mid(tmpVal, KeyValSize, 1) = 0) The n Win 95外接程序空終結字符串tmpVal = Left(tmpVal, KeyValSize - 1) Null 被找到,從字符串中分離出來Else Win NT沒有空終結字符串tmpVal = Left(tmpVal, KeyValSize) Null沒有被找到
31、,分離字符串End If決定轉換的關鍵字的值類型Select Case KeyValType搜索數(shù)據(jù)類型Case REG_SZ字符串注冊關鍵字數(shù)據(jù)類型KeyVal = tmpVal復制字符串的值Case REG_DWORD四字節(jié)的注冊表關鍵字數(shù)據(jù)類型For i = Len(tmpVal) To 1 Step -1將每位進行轉換KeyVal = KeyVal + Hex(Asc(Mid(tmpVal, i, 1)生成值字符。By Char。轉換四字節(jié)的字符為字符串NextKeyVal = Format$(&h + KeyVal)End SelectGetKeyValue = True rc =
32、RegCloseKey(hKey) Exit Function返回成功關閉注冊表關鍵字退出GetKeyError:錯誤發(fā)生后將其清除KeyVal =設置返回值到空字符串GetKeyValue = False返回失敗rc = RegCloseKey(hKey)關閉注冊表關鍵字End Function7.3、檔案的錄入、編輯、刪除、刷新本部分程序主要是把車站的檔案錄入計算機數(shù)據(jù)庫檔案表里,并提供編 輯、刪除等功能,能快捷、高效地把用紙張記錄的檔案內容用數(shù)字的形式存儲 在計算機里,適應現(xiàn)代化的辦公系統(tǒng)的需要,以對信息進行高效、快速的查 詢、修改。系統(tǒng)的錄入界面如下:frm檔案Dim WithEve
33、nts adoPrimaryRS As RecordsetDim mbCha ngedByCode As Boolea nDim mvBookMark As V aria ntDim mbEditFlag As Boolea nDim mbAddNewFlag As Boolea nDim mbDataCha nged As Boolea nPrivate Sub Form_Load()Dim db As Conn ecti onSet db = New Connectiondb.CursorLocatio n = adUseClie ntdb.Open PROVIDER=Microsoft.
34、Jet.OLEDB.3.51。Data Source=database.mdb。Set adoPrimaryRS = New RecordsetadoPrimaryRS.Open select標題,發(fā)文部門,發(fā)文號,發(fā)文日期,錄入人,內容from檔案, db, adOpenStatic, adLockOptimisticDim oText As TextBox綁定字段到窗體文本框For Each oText In Me.txtFieldsSet oText.DataSource = adoPrimaryRSNextmbDataCha nged = FalseEnd SubPrivate Sub
35、 Form_Resize()On Error Resume NextIblStatus.Width = Me.Width - 1500cmdNext.Left = lblStatus.Width + 700cmdLast.Left = cmdNext.Left + 340End SubPrivate Sub Form_Unl oad(Ca ncel As In teger)Scree n.M ousePo in ter = vbDefaultEnd SubPrivate Sub adoPrimaryRS_MoveComplete(ByVal adReason As ADODB.EventRea
36、sonEnum, ByVai pError As ADODB.Error, adStatus As ADODB.Eve ntStatusE num, ByVal pRecordset As ADODB.Recordset)顯示記錄位置lblStatus.Capti on = Record: & CStr(adoPrimaryRS.AbsolutePositio n)End SubPrivate Sub adoPrimaryRS_WillCha ngeRecord(ByVal adReason As ADODB.Eve ntReaso nEnum, ByVal cRecords As Long,
37、 adStatus As ADODB.EventStatusEnum, ByVal pRecordset As ADODB.Recordset)This is where you put validation codeThis event gets called when the following actions occur Dim bCa ncel As Boolea nSelect Case adReas onCase adRs nAddNewadStatus = adStatusCa ncelCase adRs nCloseCase adRs nDeleteCase adRs nFi
38、rstCha ngeCase adRs nMoveCase adRs nRequeryCase adRs nRes ynchCase adRs nUn doAddNewCase adRs nUn doDeleteCase adRs nUn doUpdateCase adRs nUpdateEnd SelectIf bCa ncel Then adStatus = adStatusCa ncelEnd SubPrivate Sub cmdAdd_Click()On Error GoTo AddErrWith adoPrimaryRSIf Not (.BOF And .EOF) Then mvBo
39、okMark = .BookmarkEnd If.AddNewlblStatus.C apti on = Add record mbAddNewFlag = TrueSetButt ons FalseEnd WithExit SubAddErr:MsgBox Err.Descriptio nEnd SubPrivate Sub cmdDelete_Click()On Error GoTo DeleteErrWith adoPrimaryRS.Delete.MoveNextIf .EOF The n .MoveLastEnd WithExit SubDeleteErr:MsgBox Err.De
40、scriptio nEnd SubPrivate Sub cmdRefresh_Click()This is only n eeded for multi user apps On Error GoTo RefreshErr adoPrimaryRS.RequeryExit SubRefreshErr:MsgBox Err.Descriptio nEnd SubPrivate Sub cmdEdit_Click()On Error GoTo EditErrlblStatus.Captio n = Edit record mbEditFlag = True SetButt ons FalseEx
41、it SubEditErr:MsgBox Err.Descriptio nEnd SubPrivate Sub cmdCa ncel_Click()On Error Resume NextSetButt ons True mbEditFlag = False mbAddNewFlag = False adoPrimaryRS.Ca ncelUpdateIf mvBookMark 0 ThenadoPrimaryRS.Bookmark = mvBookMarkElseadoPrimaryRS.MoveFirstEnd IfmbDataCha nged = FalseEnd SubPrivate
42、Sub cmdUpdate_Click()On Error GoTo UpdateErradoPrimaryRS.UpdateBatch adAffectAIIIf mbAddNewFlag The nadoPrimaryRS.MoveLastmove to the new recordEnd IfmbEditFlag = False mbAddNewFlag = FalseSetButt ons TruembDataCha nged = FalseExit SubUpdateErr:MsgBox Err.Descriptio nEnd SubPrivate Sub cmdClose_Clic
43、k()Un load MeEnd SubPrivate Sub cmdFirst_Click()On Error GoTo GoFirstErroradoPrimaryRS.MoveFirstmbDataCha nged = FalseExit SubGoFirstError:MsgBox Err.DescriptionEnd SubPrivate Sub cmdLast_Click()On Error GoTo GoLastErroradoPrimaryRS.MoveLastmbDataCha nged = FalseExit SubGoLastError:MsgBox Err.Descri
44、ptio nEnd SubPrivate Sub cmdNext_Click()On Error GoTo GoNextErrorIf Not adoPrimaryRS.EOF The n adoPrimaryRS.MoveNextIf adoPrimaryRS.EOF And adoPrimaryRS.RecordCou nt 0 ThenBeepmoved off the end so go backadoPrimaryRS.MoveLastEnd Ifshow the curre nt recordmbDataCha nged = FalseExit SubGoNextError:Msg
45、Box Err.Descriptio nEnd SubPrivate Sub cmdPrevious_Click()On Error GoTo GoPrevErrorIf Not adoPrimaryRS.BOF The n adoPrimaryRS.MovePreviousIf adoPrimaryRS.BOF And adoPrimaryRS.RecordCo unt 0 ThenBeepmoved off the end so go backadoPrimaryRS.MoveFirstEnd Ifshow the curre nt recordmbDataCha nged = False
46、Exit SubGoPrevError:MsgBox Err.Descriptio nEnd SubPrivate Sub SetButto ns(bVal As Boolea n)cmdAdd.Visible = bValcmdEdit.Visible = bValcmdUpdate.Visible = Not bValcmdCa ncel.Visible = Not bValcmdDelete.Visible = bV alcmdClose.Visible = bValcmdRefresh.Visible = bValcmdNext.E nabled = bValcmdFirst.E na
47、bled = bValcmdLast.E nabled = bValcmdPrevious.E nabled = bValEnd Sub7.4檔案的登陸和密碼設計本部分程序主要是提高系統(tǒng)的安全性,以防止非法用戶進入本系統(tǒng),避免 不必要的損失。二口 XLogi n.frm是否合法用戶Public password As StringPublic user As StringDim db As ConnectionDim rs As RecordsetPrivate Sub Comma nd1_Click()If Trim(Text1.Text) = The nMsgBox 請輸入完整!, vbO
48、KOnly + vbExclamationElseIf rs.State = adStateOpe n The n rs.Closers.Open select * from 登錄 where 用戶名=& Textl.Text & , db, 1, 1 If Not rs.EOF And Not rs.BOF The nIf rs(密碼)=Text2.Text Thenuser = Textl.Textpassword = Text2.Textmai n.ShowUn load MeElseMsgBox 密碼錯誤! , vbOKOnly + vbExclamationEnd IfElseMsg
49、Box 無此用戶! , vbOKOnly + vbExclamationEnd IfEnd IfEnd SubPrivate Sub Comma nd2_Click()EndEnd SubPrivate Sub Form_Activate()Text1.SetFocusEnd SubPrivate Sub Form_Load()Me.Width = 8000Me.Height = 6000Set db = New Connectiondb.CursorLocatio n = adUseClie ntdb.Open PROVIDER=Microsoft.Jet.OLEDB.3.51。Data S
50、ource=database.mdb。Set rs = New RecordsetEnd SubPrivate Sub Form_Unl oad(Ca ncel As In teger)rs.CloseSet rs = Noth ingdb.CloseSet db = Noth ingEnd SubPrivate Sub Text1_GotFocus()Text1.SelStart = 0Text1.SelLe ngth = Len (Text1.Text)End SubPrivate Sub Text1_KeyPress(KeyAscii As In teger)If KeyAscii =
51、13 The nText2.SetFocusEnd IfEnd SubPrivate Sub Text2_GotFocus()Text2.SelStart = 0Text2.SelLe ngth = Len( Text2.Text)End SubPrivate Sub Text2_KeyPress(KeyAscii As In teger)If KeyAscii = 13 The nComma nd1.SetFocusEnd IfEnd Sub7.5、檔案的主界面本系統(tǒng)采用MDI方式,這是系統(tǒng)的所有窗口的父窗口,體統(tǒng)了系統(tǒng)的所有 菜單等控制功能。檔案的主界面如下:orml檔案管理檔案查詢觀圖系
52、統(tǒng)錐護幫助2005523Mai n.frmPrivate Sub dacz_Click() query.ShowEnd SubPrivate Sub dalr_Click() frm 檔案.ShowEnd SubPrivate Sub datj_Click() tle.ShowEnd SubPrivate Sub gua nyu_Click() frmAbout.ShowEnd SubPrivate Sub MDIForm_Load() StatusBar1 .Pan els(1).Text = Date Me.Wi ndowState = 2End SubPrivate Sub yn ghu
53、xiugai_Click()edit.ShowEnd SubPrivate Sub zhua ngtai_Click()If zhua ngtai.Checked Thenzhua ngtai.Checked = FalseStatusBar1.Visible = FalseElsezhua ngtai.Checked = TrueStatusBar1.Visible = TrueEnd IfEnd Sub7.6、檔案的查詢、預覽、打印功能本部分能夠提供對所需文件的按不同條件的查詢、預覽、打印等功能,利 用了 VB訪問數(shù)據(jù)庫ADO對象的強大功能,能夠實現(xiàn)對所需文件的靈活查詢, 再利用VB內置的
54、數(shù)據(jù)報表功能,實現(xiàn)對所需文件的預覽和打印。2005-5-23Query.frmDim db As ConnectionDim rs As RecordsetPublic tdata As Stri ngPrivate Sub Comma nd1_Click()On Error GoTo erIf rs.State=adStateOpe n Then rs.Closers.Open select * from 檔案 where & Combol.Text & = & Textl.Text & ,db,adOpe nStatic,adLockOptimisticSet DataGrid1.DataSource=rsDataGridl.RefreshExit Suber:MsgBox 請?zhí)顚懞线m的查詢條件或確認格式正確,vbOKO nly+vbQuestionEnd SubPrivate Sub Comma nd2_Click() On Error GoTo erIf rs.State=adStateOpe n Then rs.Closers.Open select * from檔案 where 發(fā)文日期 =# & Text2.text
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年紡織品檢驗員考試解析與展望試題及答案
- 國際美術設計師行業(yè)動態(tài)與試題及答案
- 大學馬原期末試題及答案
- 2024年紡織行業(yè)專業(yè)水平考試試題及答案
- 干部廉潔自律試題及答案
- 當前市場下的紡織品設計師考試試題及答案
- 2024年技術標準改革對紡織的影響試題及答案
- 商標法的試題及答案
- 公務寫作考試題及答案
- 提升審美能力2024年國際商業(yè)美術設計師考試試題及答案
- 改革開放與新時代知到智慧樹章節(jié)測試課后答案2024年秋同濟大學
- GB/T 12444-2006金屬材料磨損試驗方法試環(huán)-試塊滑動磨損試驗
- 第五章曲霉病課件
- CRH380B型動車組概述
- 新方法驗證報告水質礦化度重量法《水和廢水監(jiān)測分析方法》(第四版增補版)
- 2020新譯林版高一英語必修三unit4單詞默寫
- 紫藤蘿瀑布的說課稿
- GB∕T 37665-2019 古陶瓷化學組成無損檢測PIXE分析技術規(guī)范
- 增材制造產(chǎn)業(yè)調研報告
- 曲阜師范大學畢業(yè)論文答辯通用ppt模板
- 刮板式花生脫殼機設計
評論
0/150
提交評論