幸福社區(qū)物業(yè)管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn) 軟件畢業(yè)論文_第1頁
幸福社區(qū)物業(yè)管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn) 軟件畢業(yè)論文_第2頁
幸福社區(qū)物業(yè)管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn) 軟件畢業(yè)論文_第3頁
幸福社區(qū)物業(yè)管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn) 軟件畢業(yè)論文_第4頁
幸福社區(qū)物業(yè)管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn) 軟件畢業(yè)論文_第5頁
已閱讀5頁,還剩40頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

黃河科技學(xué)院畢業(yè)設(shè)計(jì)說明書第24頁P(yáng)AGE黃河科技學(xué)院畢業(yè)設(shè)計(jì)說明書第1頁幸福社區(qū)物業(yè)管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)摘要小區(qū)的物業(yè)管理是衡量一個(gè)小區(qū)是否現(xiàn)代化、規(guī)范化的重要依據(jù)。如果能實(shí)現(xiàn)小區(qū)的物業(yè)管理的自動(dòng)化、易操作化,無疑將給管理部門帶來很大的方便。小區(qū)的物業(yè)管理就是把分散在各住宅樓內(nèi)的居民情況實(shí)行統(tǒng)一、集中、規(guī)范的收集管理,建立起分類編號(hào)管理、電腦存儲(chǔ)查詢等現(xiàn)代化、專業(yè)化的管理系統(tǒng)。小區(qū)物業(yè)管理為單位和個(gè)人提供信息咨詢、收費(fèi)查詢、信息發(fā)布等服務(wù)。小區(qū)物業(yè)管理的對象是小區(qū)的住戶居民及負(fù)責(zé)物業(yè)管理的單位。物業(yè)管理的自動(dòng)化是當(dāng)今社會(huì)的發(fā)展趨勢。本系統(tǒng)通過建立完善的溝通平臺(tái)(投訴查詢/統(tǒng)計(jì))從而搭建了一個(gè)物業(yè)公司與業(yè)主的溝通橋梁。本系統(tǒng)不僅僅是數(shù)據(jù)的錄入保存,而且還進(jìn)行了必要的金額核算,收費(fèi)情況統(tǒng)計(jì)及多樣的查詢方法來方便管理。所以本系統(tǒng)具有一般物業(yè)管理系統(tǒng)的基本功能,具有鮮明的特點(diǎn),是適合現(xiàn)代物業(yè)小區(qū)管理的物業(yè)管理系統(tǒng)。關(guān)鍵詞:物業(yè),信息化,對象,VBWell-beingofcommunity-basedPropertyManagementSystemDesignandImplementationAuthor:LiRuiTutor:ChaoXuepengAbstractAreapropertymanagementisameasureofwhetheradistrictmodernization,standardization,animportantbasis.Ifyoucanachievethedistrict'spropertymanagementautomation,easy-to-use,managementwillundoubtedlybringgreatconvenience.Areapropertymanagementistospreadoutthehousingsituationoftheresidentsofbuildingaunified,centralized,standardizedmanagementofthecollection,managementestablishedaclassificationcode,computerstorage,andotherinquiries,modern,professionalmanagementsystem.Propertymanagementforresidentialunitsandindividualstoprovideinformationconsultationfeeinformation,informationservicesandsoon.Areapropertymanagementistargetedatresidentialtenantsandresidentsresponsibleforpropertymanagementunit.Propertymanagementautomationintoday'ssocialtrends.Thesystemthroughtheestablishmentofasoundplatformforcommunication(complaintsquery/statistics)inordertosetupapropertyandtheownersofthebridge.Thepresentsystemofdataentryisnotonlytopreservebutalsotocarryoutthenecessaryamountofaccounting,feesandavarietyofstatisticalmethodsofinquirytofacilitatemanagement.Therefore,thissystemhasthegeneralpropertymanagementsystem,thebasicfunctions,withdistinctcharacteristicsissuitedtomodernresidentialpropertymanagement,propertymanagementsystem.Keywords:property,informationtechnology,target,VB目錄1緒論 11.1開發(fā)背景 11.2需求分析 11.3系統(tǒng)標(biāo)準(zhǔn)與規(guī)范 21.4研究內(nèi)容 22系統(tǒng)分析 32.1概要 32.2VisualBasic的特點(diǎn) 33系統(tǒng)設(shè)計(jì) 63.1系統(tǒng)的主要功能 63.2數(shù)據(jù)庫設(shè)計(jì) 63.3VB連接ACCESS2000數(shù)據(jù)庫 93.4系統(tǒng)的詳細(xì)設(shè)計(jì) 103.5其他窗體設(shè)計(jì) 113.5.1系統(tǒng)登陸界面設(shè)計(jì) 113.5.2基本資料模塊的設(shè)計(jì) 123.5.3物業(yè)管理模塊設(shè)計(jì) 183.5.4數(shù)據(jù)報(bào)表統(tǒng)計(jì)的設(shè)計(jì) 214主菜單的設(shè)計(jì)與系統(tǒng)實(shí)現(xiàn) 235系統(tǒng)性能測試和分析 245.1測試實(shí)例的選擇與研究 245.2測試表格 24結(jié)論 26致謝 27參考文獻(xiàn) 28附錄 291緒論本論文主要敘述課題提出背景、目前應(yīng)用現(xiàn)狀、分析開發(fā)工具,數(shù)據(jù)庫技術(shù)的比較。結(jié)合軟件工程方法,對系統(tǒng)進(jìn)行需求分析、功能劃分等等。在開發(fā)本系統(tǒng)的過程中,由于本人是在經(jīng)驗(yàn)、知識(shí)、系統(tǒng)分析方面、數(shù)據(jù)庫設(shè)計(jì)方面都有很多的不足,雖然本軟件沒有很多的實(shí)用價(jià)值,但是我從中學(xué)到了很多的知識(shí)、開發(fā)項(xiàng)目的流程等。盡管本管理系統(tǒng)存在著很多不足,但是它采用了很清晰的模塊化設(shè)計(jì)、模塊化編程,但是易于日后程序更新與維護(hù),相信它將對小型企業(yè)是一個(gè)很好的選者。1.1開發(fā)背景隨著市場經(jīng)濟(jì)的發(fā)展和人們生活水平的提高,住宅小區(qū)已經(jīng)成為人們安家置業(yè)的首選。人們花的錢越多,不但對住宅的本身的美觀、質(zhì)量要求越來越高,同時(shí)對物業(yè)小區(qū)的服務(wù)和管理也要求很高,諸如對小區(qū)的維修維護(hù),甚至對各項(xiàng)投訴都要求小區(qū)管理者做的好,做的完善。這樣要求小區(qū)管理者對物業(yè)管理進(jìn)行宏觀的和微觀的細(xì)致管理,其中最好的辦法是用計(jì)算機(jī)操作的小區(qū)物業(yè)管理系統(tǒng)來實(shí)現(xiàn)對小區(qū)物業(yè)的管理,這就為我們設(shè)計(jì)小區(qū)物業(yè)管理系統(tǒng)提供了市場需要。隨著科學(xué)技術(shù)的不斷提高,計(jì)算機(jī)科學(xué)技術(shù)日漸成熟,作為計(jì)算機(jī)應(yīng)用的一部分,使用計(jì)算機(jī)對企業(yè)單位的各項(xiàng)信息進(jìn)行管理,具有著手工管理所無法比擬的優(yōu)點(diǎn)。例如:檢索迅速、查找方便、可靠性高、存儲(chǔ)量大、保密性好、壽命長、成本低等。這些優(yōu)點(diǎn)能夠極大地提高工作的效率,也是企業(yè)的科學(xué)化、正規(guī)化管理與世界接軌的重要條件。因此,開發(fā)這樣一套小區(qū)物業(yè)管理系統(tǒng)軟件成為很有必要的事情。1.2需求分析1、用戶界面需求簡潔、易用、易懂、美觀、大方、標(biāo)準(zhǔn),具備一定的兼容性。2、軟硬件環(huán)境需求軟件環(huán)境:兼容當(dāng)前主流操作系統(tǒng)Windows95/98/NT/Me/2000/XP等。硬件環(huán)境:386以上計(jì)算機(jī),打印機(jī)、掃描儀等。3、軟件質(zhì)量需求易用、健壯、兼容性好、運(yùn)行穩(wěn)定、有一定安全保障。1.3系統(tǒng)標(biāo)準(zhǔn)與規(guī)范制定界面設(shè)計(jì)標(biāo)準(zhǔn)規(guī)范的目的是為了規(guī)范和統(tǒng)一軟件界面設(shè)計(jì)制定軟件界面設(shè)計(jì)標(biāo)準(zhǔn)與規(guī)范。首先考慮標(biāo)準(zhǔn)化,在標(biāo)準(zhǔn)化的基礎(chǔ)上進(jìn)行界面的美工設(shè)計(jì)。簡單易用、簡潔明了、兼容性好、標(biāo)準(zhǔn)、規(guī)范。界面約定,除主界面外,所有子界面均采用模式窗體,即該窗體不消失,不可以在本程序內(nèi)將焦點(diǎn)移出子窗體。1.4研究內(nèi)容本系統(tǒng)使用MicrosoftVisualBasic6.0進(jìn)行編寫。數(shù)據(jù)庫技術(shù)的產(chǎn)生與發(fā)展源于對于數(shù)據(jù)的組織和管理。數(shù)據(jù)庫技術(shù)是數(shù)據(jù)管理的技術(shù),它隨著數(shù)據(jù)管理任務(wù)的需要而產(chǎn)生于20世紀(jì)60年代中期。這是一門綜合性技術(shù),涉及操作系統(tǒng),數(shù)據(jù)結(jié)構(gòu),算法設(shè)計(jì)和程序設(shè)計(jì)等知識(shí)。數(shù)據(jù)庫技術(shù)的基本思想是對數(shù)據(jù)實(shí)行集中、統(tǒng)一、獨(dú)立的管理,用戶可以最大限度的共享數(shù)據(jù)資源。

2系統(tǒng)分析2.1概要VisualBasic是美國微軟公司的第一個(gè)編程工具和系統(tǒng)開發(fā)的第一個(gè)產(chǎn)品,VisualBasic以優(yōu)良的性能、較強(qiáng)的系統(tǒng)開發(fā)功能、完美的視覺界面和簡單易學(xué)的特點(diǎn),已經(jīng)贏得了全世界廣大用戶的偏愛。VisualBasic的編程環(huán)境包含了快速有效的開發(fā)功能,尤其是數(shù)據(jù)窗口這一方便而簡潔操縱數(shù)據(jù)庫的智能化對象,使系統(tǒng)的開發(fā)更人性化,操作更簡便。作為數(shù)據(jù)庫系統(tǒng)的開發(fā),VisualBasic是一個(gè)非常理想選擇。VisualBasic是一種可視化的、面對對象和條用事件驅(qū)動(dòng)方式的結(jié)構(gòu)化高級程序設(shè)計(jì),可用于開發(fā)Windows環(huán)境下的種類應(yīng)用程序。它簡單易學(xué)、效率高,且功能強(qiáng)大,可以與Windows的專業(yè)開發(fā)工具SDK相媲美,而且程序開發(fā)人員不必具有C/C++編程基礎(chǔ)。在VisualBasic環(huán)境下,利用事件驅(qū)動(dòng)的編程機(jī)制、新穎易用的可視化設(shè)計(jì)工具,使用Windows內(nèi)部的應(yīng)用程序接口(API)函數(shù),以及動(dòng)態(tài)鏈接庫(DLL)、動(dòng)態(tài)數(shù)據(jù)交換(DDE)、對象的鏈接與嵌入(OLE)、開放式數(shù)據(jù)訪問(ODBC)等技術(shù),可以高效、快速地開發(fā)出Windows環(huán)境下功能強(qiáng)大、圖形界面豐富的應(yīng)用軟件系統(tǒng)。2.2VisualBasic的特點(diǎn)1、可視化編程用傳統(tǒng)程序設(shè)計(jì)語言設(shè)計(jì)程序時(shí),都是通過編寫程序代碼來設(shè)計(jì)用戶界面,在設(shè)計(jì)過程中看不到界面的實(shí)際顯示效果,必須編譯后運(yùn)行程序才能觀察。如果對界面的效果不滿意,還要回到程序中修改。有時(shí)候,這種編程-編譯-修改的操作可能要反復(fù)多次,大大影響了軟件開發(fā)效率。VisualBasic提供了可視化設(shè)計(jì)工具,把Windows界面設(shè)計(jì)的復(fù)雜性“封裝”起來,開發(fā)人員不必為界面設(shè)計(jì)而編寫大量程序代碼。只需要按設(shè)計(jì)要求的屏幕布局,用系統(tǒng)提供的工具,在屏幕上畫出各種“部件”,即圖形對象,并設(shè)置這些圖形對象的屬性。VisualBasic自動(dòng)產(chǎn)生界面設(shè)計(jì)代碼,程序設(shè)計(jì)人員只需要編寫實(shí)現(xiàn)程序功能的那部分代碼,從而可以大大提高程序設(shè)計(jì)的效率。2、面向?qū)ο蟮某绦蛟O(shè)計(jì)4.0版以后的VisualBasic支持面向?qū)ο蟮某绦蛟O(shè)計(jì),但它與一般的面向?qū)ο蟮某绦蛟O(shè)計(jì)語言(C++)不完全相同。而VisualBasic則是應(yīng)用面向?qū)ο蟮某绦蛟O(shè)計(jì)方法(OOP),把程序和數(shù)據(jù)封裝起來作為一個(gè)對象,并為每個(gè)對象賦予應(yīng)有的屬性,使對象成為實(shí)在的東西。在設(shè)計(jì)對象時(shí),不必編寫建立和描述每個(gè)對象的程序代碼,而是用工具畫在界面上,VisualBasic自動(dòng)生成對象的程序代碼并封裝起來。每個(gè)對象以圖形方式顯示在界面上,都是可視的。3、結(jié)構(gòu)化程序設(shè)計(jì)語言VisualBasic是在BASIC語言的基礎(chǔ)上發(fā)展起來的,具有高級程序設(shè)計(jì)語言的語句結(jié)構(gòu),接近于自然語言和人類的邏輯思維方式。VisualBasic語句簡單易懂,其編輯器支持彩色代碼,可自動(dòng)進(jìn)行語法錯(cuò)誤檢查,同時(shí)具有功能強(qiáng)大且使用靈活的調(diào)試器和編譯器。VisualBasic是解釋型語言,在輸入代碼的同時(shí),解釋系統(tǒng)將高級語言分解翻譯成計(jì)算機(jī)可以識(shí)別的機(jī)器指令,并判斷每個(gè)語句的語法錯(cuò)誤。在設(shè)計(jì)VisualBasic程序的過程中,隨時(shí)可以運(yùn)行程序,而在整個(gè)程序設(shè)計(jì)好之后,可以編譯生成可執(zhí)行文件(.EXE),脫離VisualBasic環(huán)境,直接在Windows環(huán)境下運(yùn)行。4、事件驅(qū)動(dòng)編程機(jī)制VisualBasic通過事件來執(zhí)行對象的操作。一個(gè)對象可能會(huì)產(chǎn)生多個(gè)事件,每個(gè)事件都可以通過一段程序來響應(yīng)。例如,命令按鈕是一個(gè)對象,當(dāng)用戶單擊該按鈕時(shí),將產(chǎn)生一個(gè)“單擊”(CLICK)事件,而在產(chǎn)生該事件時(shí)將執(zhí)行一段程序,用來實(shí)現(xiàn)指定的操作。在用VisualBasic設(shè)計(jì)大型應(yīng)用軟件時(shí),不必建立具有明顯開始和結(jié)束的程序,而是編寫若干個(gè)微小的子程序,即過程。這些過程分別面向不同的對象,由用戶操作引發(fā)某個(gè)事件來驅(qū)動(dòng)完成某種特定的功能,或者由事件驅(qū)動(dòng)程序調(diào)用通用過程來執(zhí)行指定的操作,這樣可以方便編程人員,提高效率。5、訪問數(shù)據(jù)庫VisualBasic具有強(qiáng)大的數(shù)據(jù)庫管理功能,利用數(shù)據(jù)控件和數(shù)據(jù)庫管理窗口,可以直接建立或處理MicrosoftAccess格式的數(shù)據(jù)庫,并提供了強(qiáng)大的數(shù)據(jù)存儲(chǔ)和檢索功能。同時(shí),VisualBasic還能直接編輯和訪問其他外部數(shù)據(jù)庫,如dBASE,F(xiàn)oxPro,Paradox等,這些數(shù)據(jù)庫格式都可以用VisualBasic編輯和處理。VisualBasic提供開放式數(shù)據(jù)連接,即ODBC功能,可通過直接訪問或建立連接的方式使用并操作后臺(tái)大型網(wǎng)絡(luò)數(shù)據(jù)庫,如SQLServer、Oracle等。在應(yīng)用程序中,可以使用結(jié)構(gòu)化查詢語言SQL數(shù)據(jù)標(biāo)準(zhǔn),直接訪問服務(wù)器上的數(shù)據(jù)庫,并提供了簡單的面向?qū)ο蟮膸觳僮髦噶詈投嘤脩魯?shù)據(jù)庫訪問的加鎖機(jī)制和網(wǎng)絡(luò)數(shù)據(jù)庫的SQL的編程技術(shù),為單機(jī)上運(yùn)行的數(shù)據(jù)庫提供了SQL網(wǎng)絡(luò)接口,以便在分布式環(huán)境中快速而有效地實(shí)現(xiàn)客戶/服務(wù)器(client/server)方案。6、動(dòng)態(tài)數(shù)據(jù)交換(DDE)利用動(dòng)態(tài)數(shù)據(jù)交換(DynamicDataExchange)技術(shù),可以把一種應(yīng)用程序中的數(shù)據(jù)動(dòng)態(tài)地鏈接到另一種應(yīng)用程序中,使兩種完全不同的應(yīng)用程序建立起一條動(dòng)態(tài)數(shù)據(jù)鏈路。當(dāng)原始數(shù)據(jù)變化時(shí),可以自動(dòng)更新鏈接的數(shù)據(jù)。VisualBasic提供了動(dòng)態(tài)數(shù)據(jù)交換的編程技術(shù),可以在應(yīng)用程序中與其他Windows應(yīng)用程序建立動(dòng)態(tài)數(shù)據(jù)交換,在不同的應(yīng)用程序之間進(jìn)行通信。7、對象的鏈接與嵌入(OLE)對象的鏈接與嵌入(OLE)將每個(gè)應(yīng)用程序都看作是一個(gè)對象(object),將不同的對象鏈接(link)起來,再嵌入(embed)某個(gè)應(yīng)用程序中,從而可以得到具有聲音、影像、圖像、動(dòng)畫、文字等各種信息的集合式的文件。OLE技術(shù)是Microsoft公司對象技術(shù)的戰(zhàn)略,它把多個(gè)應(yīng)用程序合為一體,將每個(gè)應(yīng)用程序看作是一個(gè)對象進(jìn)行鏈接和嵌入,是一種應(yīng)用程序一體化的技術(shù)。利用OLE技術(shù),可以方便地建立復(fù)合式文檔,這種文檔由來自多個(gè)不同應(yīng)用程序的對象組成,文檔中的每個(gè)對象都與原來的應(yīng)用程序相聯(lián)系,并可執(zhí)行與原來應(yīng)用程序完全相同的操作。8、動(dòng)態(tài)鏈接庫(DLL)VisualBasic是一種高級程序設(shè)計(jì)語言,不具備低級語言的功能,對訪問機(jī)器硬件的操作不太容易實(shí)現(xiàn)。但它可以通過動(dòng)態(tài)鏈接庫技術(shù)將C/C++或匯編語言編寫的程序加入到VisualBasic應(yīng)用程序中,可以像調(diào)用內(nèi)部函數(shù)一樣調(diào)用其他語言編寫的函數(shù)。此外,通過動(dòng)態(tài)鏈接庫,還可以調(diào)用Windows應(yīng)用程序接口(API)函數(shù),實(shí)現(xiàn)SDK所具有的功能。3系統(tǒng)設(shè)計(jì)3.1系統(tǒng)的主要功能我們要根據(jù)物業(yè)的具體情況進(jìn)行開發(fā),該系統(tǒng)主要包括以下4個(gè)模塊:系統(tǒng)登錄,基本資料,物業(yè)管理,數(shù)據(jù)報(bào)表統(tǒng)計(jì)等。系統(tǒng)主要功能包括:系統(tǒng)登錄:包括用戶登錄、修改密碼、添加用戶、退出系統(tǒng)。2、基本資料:包括住戶資料和財(cái)產(chǎn)資料。3、物業(yè)管理:包括物業(yè)設(shè)備、儀表數(shù)據(jù)、停車場管理、收費(fèi)管理、住戶投訴、住戶報(bào)修管理、設(shè)備維修管理等。4、數(shù)據(jù)報(bào)表統(tǒng)計(jì):包括物業(yè)設(shè)備、儀表數(shù)據(jù)統(tǒng)計(jì)、收費(fèi)統(tǒng)計(jì)、住戶投訴統(tǒng)計(jì)、住戶報(bào)修統(tǒng)計(jì)、設(shè)備維修統(tǒng)計(jì)等。3.2數(shù)據(jù)庫設(shè)計(jì)數(shù)據(jù)庫設(shè)計(jì)的好壞,直接關(guān)系到整個(gè)程序的好壞,數(shù)據(jù)庫的結(jié)構(gòu)是否合理,能不能滿足現(xiàn)有的要求,今后系統(tǒng)的升級過程中是不是方便,能不能把數(shù)據(jù)庫的結(jié)構(gòu)直接移植到其它的數(shù)據(jù)庫中使用等等,這些都是非常重要的。下面列出數(shù)據(jù)庫中的每一個(gè)表,包括表中的字段的含意。根據(jù)該公司業(yè)務(wù)情況和行業(yè)特點(diǎn),本系統(tǒng)采用了ACCESS數(shù)據(jù)庫,數(shù)據(jù)庫名稱為XiaoQuGuanLi,包含以下幾個(gè)表:報(bào)修表(BaoXiu),Client表,Emp表,Equipment表,Gas表,House表,Park表,Power表,Repair表,Tousu表,UserTable表,Water表,WuyeFee表,YiBiaoFee表?,F(xiàn)特選部分表的結(jié)構(gòu)說明如下所示。表3.1是報(bào)修表,內(nèi)容包括保修編號(hào)、保修日期、接待人員、保修住戶、物業(yè)地址、電話、完成日期、維修人員、服務(wù)費(fèi)用等等,功能齊全,打打方便了用戶的使用。表3.1報(bào)修表表3.2是用戶信息表,里面清晰的列出了住戶的各項(xiàng)信息表3.2用戶表表3.3是員工信息表,內(nèi)容包括員工編號(hào)、姓名、部門、職務(wù)、身份證號(hào)、籍貫、戶口、出生日期等等一系列詳細(xì)的信息,方便了對員工的管理,使各項(xiàng)信息一覽無余。表3.3員工信息表設(shè)備信息表3.4能夠方便查詢各項(xiàng)設(shè)備的各種信息,比如設(shè)備編號(hào)、設(shè)備名稱、型號(hào)、品牌、所屬部門、購買日期等等。表3.4設(shè)備信息表表3.5可以管理用戶使用天然氣的情況,抄表日期、繳費(fèi)日期、每月收取的費(fèi)用以及辦理人等。表3.5用氣信息表表3.6是房屋信息表,此表功能是可以清晰方便的查詢房屋的情況,物業(yè)地址、建筑面積、使用面積、房型、裝修情況、房價(jià)、房屋是否售出等等。表3.6住房信息表表3.7車位信息表更是方便了住戶以及管理人員。表3.7車位信息表表3.8是對用戶用電信息的管理,方便查詢,對住戶的用電信息非常的清楚直觀。表3.8用電信息表表3.9修理記錄表包括維修編號(hào)、設(shè)備編號(hào)、設(shè)備名稱、維修日期、完成日期、維修費(fèi)用、維修人員、維修內(nèi)容等等,很好的對設(shè)備進(jìn)行管理。表3.9修理記錄表3.3VB連接ACCESS2000數(shù)據(jù)庫用VB編寫一個(gè)管理軟件,如果不能連接數(shù)據(jù)庫,那也沒有什么用處。先看看VB是如何與ACCESS2000數(shù)據(jù)庫相連接的。SubConnStr()'連接數(shù)據(jù)庫Setconn=CreateObject("ADODB.Connection")'建立數(shù)據(jù)庫連接對像DBpath=App.Path&"\"&"data.mdb"'設(shè)置數(shù)據(jù)的路徑conn.Open"Provider=Microsoft.Jet.OLEDB.4.0;DataSource="&DBpath'打開數(shù)據(jù)庫連接Setrs=CreateObject("ADODB.Recordset")'設(shè)置數(shù)據(jù)庫對像EndSub上面的一段代碼就是連接數(shù)據(jù)庫的。上用到了三個(gè)變量conn,Dbpath,rs。其中有兩個(gè)變量要定義為公用的變量,因?yàn)檫@段代碼是放在一個(gè)模塊中的,為了在每一個(gè)窗體中能夠使用這個(gè)變量,所以必須要聲明為公用變量。聲明公用變量的方法如下:PublicconnPublicrs上面就是聲明為公用變量,上面的聲明一定要放在模塊的最上面。如果聲明在下面,那就成了局部變量,那么作用范圍就會(huì)不同了,作用就更不同,而且在其它窗體中使用到了這個(gè)變量,程序會(huì)出錯(cuò)。3.4系統(tǒng)的詳細(xì)設(shè)計(jì)主程序界面簡單大方,各功能清晰明了,包括登錄系統(tǒng)、基本資料、物業(yè)管理、數(shù)據(jù)報(bào)表統(tǒng)計(jì)等方面管理與查詢。主程序界面設(shè)計(jì)界面如下圖3.7所示。圖3.7主程序設(shè)計(jì)界面圖3.5其他窗體設(shè)計(jì)因本設(shè)計(jì)涉及的窗體比較多,故我們只選取有代表性的窗體加以重點(diǎn)描述。3.5.1系統(tǒng)登陸界面設(shè)計(jì)圖3.8用戶登錄表如圖3.8所示,新建一個(gè)窗體,在窗體中添加二個(gè)Lable控件,二個(gè)TextBox控件,二個(gè)commandButton控件,設(shè)置其屬性。然后添加程序代碼。其中登錄按鈕的源碼如下。PrivateSubcmdLogin_Click()'首先檢查用戶是否輸入了用戶名和密碼IftxtUser.Text=""ThenMsgBox"請輸入用戶名!",vbOKOnly+vbInformation,"注意"txtUser.SetFocusExitSubElseIftxtPwd.Text=""ThenMsgBox"請輸入密碼!",vbOKOnly+vbInformation,"注意"txtPwd.SetFocusExitSubEndIfDimsqluserAsString'構(gòu)造查詢該用戶名和密碼的sql語句sqluser="select*fromUserTablewhereUsername='"&txtUser.Text_&"'andPassword='"&txtPwd.Text&"'"rs_user.CursorLocation=adUseClient'打開數(shù)據(jù)游標(biāo)rs_user.Opensqluser,conn,adOpenKeyset,adLockPessimisticIfrs_user.EOF=TrueThenMsgBox"用戶名或密碼不正確!",vbOKOnly+vbInformation,"注意"rs_user.Close'清空txtUser和txtPwd文本框txtUser.Text=""txtPwd.Text=""ExitSubElse'還需使其他菜單可用MDIfrmMain.mnAddUser.Enabled=TrueMDIfrmMain.mnBasicData.Enabled=TrueMDIfrmMain.mnWuYe.Enabled=TrueMDIfrmMain.mnDataTg.Enabled=True'提示用戶登錄成功并關(guān)閉游標(biāo)和登錄窗口MsgBox"登錄成功!",vbOKOnly+vbInformation,"注意"rs_user.CloseUnloadMeEndIfEndSub3.5.2基本資料模塊的設(shè)計(jì)如圖3.9所示,窗體中的控件的添加比較直接,參照登錄窗體的設(shè)計(jì),并添加相關(guān)代碼.其中重點(diǎn)分析按鈕源碼如下。PrivateSubcmdAdd_Click()設(shè)置除保存和取消按鈕外的其他按鈕不可用cmdAdd.Enabled=FalsecmdEdit.Enabled=FalsecmdDel.Enabled=FalsecmdSave.Enabled=TruecmdCancel.Enabled=TruecmdFirst.Enabled=FalsecmdPrev.Enabled=FalsecmdNext.Enabled=FalsecmdLast.Enabled=FalsecmdQuery.Enabled=False圖3.9住戶資料界面添加按鈕的代碼:'需要清空所有text框,并且設(shè)置它們可寫Fori=0To14Text1(i).Text=""Text1(i).Enabled=TrueNextiCombo1.Enabled=True'add變量用于保存時(shí)判斷是從添加還是修改后保存add=1Text1(0).SetFocusText1(13).Text=DateEndSub修改按鈕的源碼:PrivateSubcmdEdit_Click()'設(shè)置除保存和取消按鈕外的其他按鈕不可用cmdAdd.Enabled=FalsecmdEdit.Enabled=FalsecmdDel.Enabled=FalsecmdSave.Enabled=TruecmdCancel.Enabled=TruecmdFirst.Enabled=FalsecmdPrev.Enabled=FalsecmdNext.Enabled=FalsecmdLast.Enabled=FalsecmdQuery.Enabled=False'需要設(shè)置除主鍵之外的text框可寫Fori=1To14Text1(i).Enabled=TrueNextiCombo1.Enabled=Trueadd=0EndSub刪除按鈕的源碼如下:PrivateSubcmdDel_Click()'當(dāng)單擊刪除記錄時(shí),需要彈出一個(gè)提示框,警告用戶DimanswerAsStringanswer=MsgBox("確定要?jiǎng)h除嗎?",vbYesNo,"")'確實(shí)刪除Ifanswer=vbYesThenrs_client.Delete'刪除當(dāng)前記錄rs_client.Update'更新刪除MsgBox"成功刪除!",vbOKOnly+vbExclamation,""ElseExitSubEndIf'刪除之后,顯示總信息條數(shù)需要減1Text2.Text=Val(Text2.Text)-1'刪除當(dāng)前記錄后,需要顯示下一條記錄,如果刪除的是最后一條記錄,則顯示上一條記錄'先移動(dòng)rs_client記錄到后一條rs_client.MoveNextIfrs_client.EOFThenrs_client.MovePrevious'如果沒有到記錄首則顯示改記錄IfNotrs_client.BOFThenFori=0To14Text1(i).Text=rs_client.Fields(i)NextiIfrs_client.Fields(15)="男"ThenCombo1.ListIndex=0ElseCombo1.ListIndex=1EndIf'如果到記錄首,則表格已經(jīng)為空,置所有text框顯示為空ElseIfrs_client.BOFThenFori=0To14Text1(i).Text=""NextiEndIf'如果刪除的不是首尾記錄,則顯示當(dāng)前記錄即可ElseFori=0To14Text1(i).Text=rs_client.Fields(i)NextiIfrs_client.Fields(15)="男"ThenCombo1.ListIndex=0ElseCombo1.ListIndex=1EndIfEndIfEndSub保存按鈕的源碼如下:PrivateSubcmdSave_Click()'檢測數(shù)據(jù)是否完整IfText1(0).Text=""ThenMsgBox"住戶編號(hào)不可為空!",vbOKOnly+vbInformation,"注意"Text1(0).SetFocusExitSubElseIfText1(1).Text=""ThenMsgBox"物業(yè)地址不可為空!",vbOKOnly+vbInformation,"注意"Text1(1).SetFocusExitSubElseIfText1(3).Text=""OrIsNumeric(Text1(3).Text)=FalseThenMsgBox"建筑面積應(yīng)為數(shù)字!",vbOKOnly+vbInformation,"注意"Text1(3).SetFocusExitSubElseIfText1(4).Text=""OrIsNumeric(Text1(4).Text)=FalseThenMsgBox"使用面積應(yīng)為數(shù)字!",vbOKOnly+vbInformation,"注意"Text1(4).SetFocusExitSubElseIfText1(5).Text=""ThenMsgBox"業(yè)主姓名不可為空!",vbOKOnly+vbInformation,"注意"Text1(5).SetFocusExitSubElseIfIsDate(Text1(13).Text)=FalseThenMsgBox"入住日期書寫不對,應(yīng)為2000-1-1這樣的格式!",vbOKOnly+vbInformation,"注意"Text1(13).SetFocusExitSubElseIfNotText1(14).Text=""AndIsDate(Text1(14).Text)=FalseThenMsgBox"遷出時(shí)間應(yīng)為空或2000-1-1這樣的格式!",vbOKOnly+vbInformation,"注意"Text1(14).SetFocusExitSubEndIf'添加數(shù)據(jù)后保存Ifadd=1Then'檢測住戶編號(hào)這個(gè)主鍵是否已經(jīng)在表中存在Dimrs_checkAsNewADODB.RecordsetDimsqlCheckAsStringsqlCheck="select*fromClientwhere住戶編號(hào)='"&(Text1(0).Text)&"'"rs_check.OpensqlCheck,conn,adOpenStatic,adLockOptimisticIfNotrs_check.EOFAndNotrs_check.BOFThenMsgBox"該住戶編號(hào)已經(jīng)存在,請重填一個(gè)!",vbOKOnly+vbInformation,"注意"rs_check.CloseText1(0).SetFocusText1(0).Text=""ExitSubEndIfrs_check.Close'主鍵不重復(fù),可以加入表中rs_client.AddNewFori=0To14rs_client.Fields(i)=Text1(i).TextNextirs_client.Fields(15)=Combo1.Textrs_client.Update'添加保存之后,顯示總信息條數(shù)需要加1Text2.Text=Val(Text2.Text)-1'修改數(shù)據(jù)后的保存Elsers_client.UpdateEndIfMsgBox"保存數(shù)據(jù)成功!",vbOKOnly+vbInformation,"祝賀"'保存后需要設(shè)置其他按鈕可用,以及各個(gè)text框不可寫cmdAdd.Enabled=TruecmdEdit.Enabled=TruecmdDel.Enabled=TruecmdSave.Enabled=FalsecmdCancel.Enabled=FalsecmdFirst.Enabled=TruecmdPrev.Enabled=TruecmdNext.Enabled=TruecmdLast.Enabled=TruecmdQuery.Enabled=TrueFori=0To14Text1(i).Enabled=FalseNextiCombo1.Enabled=FalseEndSub3.5.3物業(yè)管理模塊設(shè)計(jì)圖3.10物業(yè)設(shè)備查詢界面如圖3.10所示,其中添加,修改,刪除按包的源碼設(shè)計(jì)同上,重點(diǎn)分析保存按鈕的源碼如下。PrivateSubcmdSave_Click()'檢測數(shù)據(jù)是否完整IfText1(0).Text=""ThenMsgBox"設(shè)備編號(hào)不可為空!",vbOKOnly+vbInformation,"注意"Text1(0).SetFocusExitSubElseIfText1(1).Text=""ThenMsgBox"設(shè)備名稱不可為空!",vbOKOnly+vbInformation,"注意"Text1(1).SetFocusExitSubElseIfIsDate(Text1(5).Text)=FalseThenMsgBox"購買日期書寫不對,應(yīng)為2000-1-1這樣的格式!",vbOKOnly+vbInformation,"注意"Text1(5).SetFocusExitSubEndIf'添加數(shù)據(jù)后保存Ifadd=1Then'檢測房間編號(hào)這個(gè)主鍵是否已經(jīng)在表中存在Dimrs_checkAsNewADODB.RecordsetDimsqlCheckAsStringsqlCheck="select*fromEquipmentwhere設(shè)備編號(hào)='"&(Text1(0).Text)&"'"rs_check.OpensqlCheck,conn,adOpenStatic,adLockOptimisticIfNotrs_check.EOFAndNotrs_check.BOFThenMsgBox"該設(shè)備編號(hào)已經(jīng)存在,請重填一個(gè)!",vbOKOnly+vbInformation,"注意"rs_check.CloseText1(0).SetFocusText1(0).Text=""ExitSubEndIfrs_check.Close'主鍵不重復(fù),可以加入表中rs_equip.AddNewFori=0To6rs_equip.Fields(i)=Text1(i).TextNextirs_equip.Update'添加之后顯示總共條數(shù)信息加1Text2.Text=Val(Text2.Text)+1'修改數(shù)據(jù)后的保存Elsers_equip.UpdateEndIfMsgBox"保存數(shù)據(jù)成功!",vbOKOnly+vbInformation,"祝賀"'保存后需要設(shè)置其他按鈕可用,以及各個(gè)text框不可寫cmdAdd.Enabled=TruecmdEdit.Enabled=TruecmdDel.Enabled=TruecmdSave.Enabled=FalsecmdCancel.Enabled=FalsecmdFirst.Enabled=TruecmdPrev.Enabled=TruecmdNext.Enabled=TruecmdLast.Enabled=TruecmdQuery.Enabled=TrueFori=0To6Text1(i).Enabled=FalseNextiEndSub(該模塊其它幾個(gè)窗體的設(shè)計(jì)跟此窗體的設(shè)計(jì)雷同)3.5.4數(shù)據(jù)報(bào)表統(tǒng)計(jì)的設(shè)計(jì)圖3.11物業(yè)設(shè)備統(tǒng)計(jì)界面圖3.11是物業(yè)設(shè)備統(tǒng)計(jì)界面,其中排序按鈕的源碼如下。PrivateSubcmdOrder_Click()DimsqlAsStringIfrs_order.State=adStateOpenThenrs_order.CloseEndIfsql="select*fromEquipmentorderby"&Combo1.Textrs_order.CursorLocation=adUseClientrs_order.Opensql,conn,adOpenStatic,adLockOptimistic'設(shè)置DataGrid1的數(shù)據(jù)源SetDataGrid1.DataSource=rs_orderDataGrid1.Refresh'使用分組統(tǒng)計(jì),并顯示在DataGrid2中'首先需要設(shè)置DataGrid2可見DataGrid2.Visible=True'設(shè)置網(wǎng)格不可寫DataGrid2.AllowAddNew=FalseDataGrid2.AllowDelete=FalseDataGrid2.AllowUpdate=FalseDimsql2AsString'下面的sql語句已用戶選擇的combo1.text分組、排序,并且統(tǒng)計(jì)同一個(gè)combo1.text的數(shù)量sql2="select"&Combo1.Text&",count("&Combo1.Text&_")as數(shù)量統(tǒng)計(jì)fromEquipmentgroupby"&Combo1.Text&"orderby"&Combo1.TextIfrs_tg.State=adStateOpenThenrs_tg.CloseEndIfrs_tg.CursorLocation=adUseClientrs_tg.Opensql2,conn,adOpenStatic,adLockOptimistic'設(shè)置DataGrid2的數(shù)據(jù)源SetDataGrid2.DataSource=rs_tgDataGrid2.RefreshEndSub其它幾個(gè)窗同的設(shè)計(jì)與該窗體設(shè)計(jì)雷同,排序按鈕的設(shè)計(jì)參照物業(yè)設(shè)備統(tǒng)計(jì)按鈕的設(shè)計(jì)。4主菜單的設(shè)計(jì)與系統(tǒng)實(shí)現(xiàn)在實(shí)際的系統(tǒng)設(shè)計(jì)中,菜單可分為兩種類型,即下拉式菜單和彈出式菜單,下拉式菜單系統(tǒng)中,一般有一個(gè)主菜單,其中包括若干個(gè)選擇項(xiàng).主菜單單的每一項(xiàng)又可下拉出下一級子菜單.這樣用一個(gè)個(gè)的窗口的形式彈出在屏幕上,它是通過菜單編輯器建立,其步驟如下。1.選取要建立菜單的窗體 2.從“工具”菜單中,選取“菜單編輯器”建立如下圖4.1所示的系統(tǒng)主菜單:圖4.1系統(tǒng)主菜單可以看出菜單系統(tǒng)的建立比較直觀,因此不作重點(diǎn)描述一個(gè)典型的數(shù)據(jù)庫應(yīng)用程序由數(shù)據(jù)結(jié)構(gòu),操作界面,查詢選項(xiàng)和報(bào)表打印等組成。在設(shè)計(jì)應(yīng)用程序時(shí),應(yīng)仔細(xì)考慮每個(gè)組件提供的功能以及與其他組件之間的關(guān)系。設(shè)計(jì)好的功能模塊制作完畢后,單擊全編譯執(zhí)行在確認(rèn)無誤后,單擊文件菜單下的生成工程得到一個(gè).EXE的可執(zhí)行程序.到此一個(gè)完整的系統(tǒng)設(shè)計(jì)完成。5系統(tǒng)性能測試和分析測試的目的就是為了能以最少的人力和是發(fā)現(xiàn)潛在的各種錯(cuò)誤和缺陷。系統(tǒng)測試是保證系統(tǒng)質(zhì)量和可靠性的關(guān)鍵步驟,是對系統(tǒng)開開過程的系統(tǒng)分析,系統(tǒng)設(shè)計(jì)和實(shí)施的最后檢查。5.1測試實(shí)例的選擇與研究由于本系統(tǒng)的規(guī)模比較小,因此每一個(gè)測試項(xiàng),在上面對應(yīng)的部分完成以后,由測試人員和編碼人員共同進(jìn)行驗(yàn)證。本測試計(jì)劃的主要內(nèi)容,集中測試系統(tǒng)的各個(gè)功能是否完成、是否正確、完成后的系統(tǒng)測試。測試實(shí)例項(xiàng):月工資管理、年工資信息管理、月工資統(tǒng)計(jì)、年工資統(tǒng)計(jì)、工資匯總表打印等。系統(tǒng)在開發(fā)過程本身也是遵循一個(gè)嚴(yán)謹(jǐn)?shù)倪^程,所以為了保證產(chǎn)品的質(zhì)量,我們必須嚴(yán)格按照需求說明書和測試說明書來測試各個(gè)功能模塊。在客戶最低配置的硬件設(shè)施下,測試登錄除了設(shè)計(jì)驗(yàn)證數(shù)據(jù)庫用戶信息之外,還需要檢驗(yàn)與數(shù)據(jù)庫的調(diào)用關(guān)系和界面邏輯。表5.1測試結(jié)果表輸入CHeckConndbeSearchInsertClosedb輸出正確信息TrueTrueTrueTrueTrue成功不正確信息TrueTrueFalseFalseTrue失敗不完善信息FalseFalseFalseFalse為使用失敗由表5.1我們看出在此模塊中我們必須輸入完善的正確的信息才能通過系統(tǒng),從而可以看出系統(tǒng)的安全機(jī)制很高,對信息的驗(yàn)證效率十分高。而且系統(tǒng)中各個(gè)模塊的獨(dú)立性十分強(qiáng),也不會(huì)因?yàn)槟硞€(gè)模塊的失敗而導(dǎo)致整個(gè)系統(tǒng)的失敗。所以此模塊的功能是完善的。5.2測試表格測試表格顯示此功能模塊通過測試,也證明了本功能模塊與其他模塊的獨(dú)立性十分強(qiáng),從而在以后更新軟件的過程中,能夠更多的更有效的使用各個(gè)功能模塊。通過整個(gè)系統(tǒng)的測試,我發(fā)現(xiàn)整個(gè)系統(tǒng)的功能還是比較穩(wěn)定,雖然在某些地方還不盡如人意,但是我們開發(fā)的目的還是達(dá)到了,作為第一次開發(fā)軟件,第一次做畢業(yè)設(shè)計(jì),我們從中還是學(xué)到了不少的知識(shí),通過這次開發(fā),我們?yōu)橐院筮M(jìn)入計(jì)算機(jī)行業(yè)做開發(fā)工作積累了一定的經(jīng)驗(yàn)。結(jié)論在剛剛開始學(xué)習(xí)數(shù)據(jù)庫的時(shí)候,對很多細(xì)節(jié)很沒有概念。對書本的學(xué)習(xí)完成以后,開始著手對數(shù)據(jù)庫系統(tǒng)開始制作。在本系統(tǒng)中,程序主界面和登錄界面的制作是比較困難的??偟膩碚f,做完一個(gè)數(shù)據(jù)庫的收獲不僅僅是技術(shù)上的,對事情的宏觀的控制有了更深的看法。在這次的畢業(yè)設(shè)計(jì)種遇到了不少的問題,大部分得到了很好的解決,但也有少部分遺留的問題。首先便是調(diào)研的不充分。由于以前根本未曾接觸過軟件的整體開發(fā)設(shè)計(jì),所以在前期的調(diào)研中相當(dāng)不充分,開題開題也有些盲目,以為把屬性和表寫得越多越好,這個(gè)問題越到后來越嚴(yán)種,而且因?yàn)榭陀^的原因耽誤了進(jìn)度,因而對開題的開題做了修改。其次是軟件的編程問題,由于以前沒有學(xué)習(xí)過VB,所以在畢業(yè)設(shè)計(jì)期間進(jìn)行了苦讀,終于可以基本掌握了常用控件的用法和語句編程。再次就是數(shù)據(jù)庫的建設(shè)和使用,雖然ACCESS數(shù)據(jù)庫的安全性和普及性很高,但我們在日常中還是接觸得比較少,所以這自然又是一番努力的學(xué)習(xí),就拿安裝配置以及連接數(shù)據(jù)庫控件方面來說就不那么容易。然后,會(huì)用了兩種軟件,如何把它們連接在一起還真是一件困難的事:選擇連接的方法就很重要,通過各方面的比較,我選擇了ADO,通過ADO控件與數(shù)據(jù)庫中各表進(jìn)行連接,同時(shí)也用到少數(shù)編程實(shí)現(xiàn)VB和ACCESS數(shù)據(jù)庫的連接。一開始連接時(shí)并不順利,常出現(xiàn)無法找到數(shù)據(jù)庫和路徑不對的問題。隨后便是整體設(shè)計(jì)的問題,只是軟件工程的重要部分,一個(gè)好的軟件的開發(fā)必須要全面而實(shí)用,盡量把所有的問題都考慮進(jìn)去,記得當(dāng)時(shí)我們的軟件工程老師就說過,一個(gè)制作好的軟件和差一些的軟件最大的區(qū)別就在于好的軟件把所有的可能性,自然實(shí)用性也就上去了。在這一點(diǎn)上,我還相當(dāng)欠缺。最后就是從一而終的問題了,在開發(fā)過程中我遇到了許許多多的問題,我經(jīng)常的請教同學(xué)和晁老師,最后的成果雖然不很完美,但我盡力了,并有所收獲。致謝本論文是在導(dǎo)師晁學(xué)鵬老師的悉心指導(dǎo)下完成的。導(dǎo)師淵博的專業(yè)知識(shí),嚴(yán)謹(jǐn)?shù)闹螌W(xué)態(tài)度,精益求精的工作作風(fēng),誨人不倦的高尚師德,嚴(yán)以律己、寬以待人的風(fēng)范,樸實(shí)無華、平易近人的人格魅力對我影響深遠(yuǎn)。不僅使我樹立了遠(yuǎn)大的學(xué)術(shù)目標(biāo)、掌握了基本的研究方法,還使我明白了許多待人接物與為人處世的道理。本論文從選題到完成,每一步都是在導(dǎo)師的指導(dǎo)下完成的,傾注了導(dǎo)師大量的心血。在本次畢業(yè)設(shè)計(jì)中,我從指導(dǎo)老師晁學(xué)鵬身上學(xué)到了很多東西。老師認(rèn)真負(fù)責(zé)的工作態(tài)度,嚴(yán)謹(jǐn)?shù)闹螌W(xué)精神和深厚的理論水平都使我收益匪淺。他無論在理論上還是在實(shí)踐中,都給與我很大的幫助,使我得到不少的提高,這對于我以后的工作和學(xué)習(xí)都有一種巨大的幫助,感謝他耐心的輔導(dǎo)。在此,向晁學(xué)鵬導(dǎo)師表示崇高的敬意和衷心的感謝!另外,在系統(tǒng)開發(fā)過程中我的同學(xué)也給于我很大的幫助,幫助我解決了不少的難點(diǎn),在我有困難的時(shí)候,大家都伸出友誼的手,在大家的幫助下,使得系統(tǒng)能及時(shí)開發(fā)完成,還有同組的同學(xué)同樣給與我不少幫助,特別是張慧分,高陽,白曉婧同學(xué),這里一并表示感謝。最后就是感謝學(xué)校為我們提供了很多有用的設(shè)備,再次衷心的感謝導(dǎo)師晁學(xué)鵬以及幫助過我的所有朋友們!參考文獻(xiàn)[1]杜軍平,黃杰.Access數(shù)據(jù)庫開發(fā)[M].北京:第一版機(jī)械工業(yè)出版社,2001.[2]VisualBasic基礎(chǔ)課程(第三版)[M].上海:同濟(jì)大學(xué)數(shù)學(xué)教研室,1990.[3]胡英.計(jì)算機(jī)操作應(yīng)用技巧101篇[M].北京:中國物資出版社,2001.[4]高怡新.VisualBasic程序設(shè)計(jì)[M].北京:人民郵電出版社,2006.[5]尹立宏.VisualBasic6.0數(shù)據(jù)庫開發(fā)典型事例[M].北京:電子工業(yè)出版社,2002.[6]何慧榮.數(shù)據(jù)庫應(yīng)用基礎(chǔ)與實(shí)訓(xùn)教程-VisualBasic[M].北京:清華大學(xué)出版社,2006.[7](美)MarciFrohockGarcia.Access2000系統(tǒng)管理員寶典1CD[M].北京:清華大學(xué),2006.[8]全國計(jì)算機(jī)等級考試教材編寫組.全國計(jì)算機(jī)等級考試教程二級VisualBasic2008年版[M].人名郵電出版社,2007.[9]向偉,李建華,謝茂森,萬明.新版VisualBasic中文版實(shí)用教程[M].北京:電子科技大學(xué)出版社,2002.[10]IanK.Bray,AnIntroductiontoRequirementsEngineering[M].PearsonEducationPublishingCompany,2003.[11]TimothyJ.O'Leary.Access2002[M].USA:McGraw-Hill,2006.[12]王利.數(shù)據(jù)庫基礎(chǔ)與應(yīng)用[N].北京:中央廣播電視大學(xué)出版社,1997.附錄因?yàn)橄到y(tǒng)涉及代碼過多,故選擇模塊部分代碼如下所示。Dimrs_tousuAsNewADODB.RecordsetDimrs_countAsNewADODB.Recordset'設(shè)置一個(gè)add變量用于保存時(shí)判斷是從添加還是修改后保存DimaddPrivateSubcmdAdd_Click()'設(shè)置除保存和取消按鈕外的其他按鈕不可用cmdAdd.Enabled=FalsecmdEdit.Enabled=FalsecmdDel.Enabled=FalsecmdSave.Enabled=TruecmdCancel.Enabled=TruecmdFirst.Enabled=FalsecmdPrev.Enabled=FalsecmdNext.Enabled=FalsecmdLast.Enabled=FalsecmdQuery.Enabled=False'需要清空所有text框,并且設(shè)置它們可寫Fori=0To9Text1(i).Text=""Text1(i).Enabled=TrueNexti'add變量用于保存時(shí)判斷是從添加還是修改后保存add=1Text1(0).SetFocusText1(1).Text=DateEndSubPrivateSubcmdCancel_Click()'取消按鈕用于用戶添加或修改過程中放棄添加或修改操作cmdSave.Enabled=FalsecmdCancel.Enabled=FalsecmdAdd.Enabled=TruecmdEdit.Enabled=TruecmdDel.Enabled=TruecmdFirst.Enabled=TruecmdPrev.Enabled=TruecmdNext.Enabled=TruecmdLast.Enabled=TruecmdQuery.Enabled=True'如果是從添加后取消Ifadd=1Then'如果當(dāng)前Equipment表中有數(shù)據(jù)則顯示第一條數(shù)據(jù)IfNotrs_tousu.EOFAndNotrs_tousu.BOFThenFori=0To9Text1(i).Text=rs_tousu.Fields(i)Nexti'如果沒有數(shù)據(jù),則顯示空ElseFori=0To9Text1(i).Text=""NextiEndIf'如果是修改后取消,則恢復(fù)到修改前的數(shù)據(jù)ElseIfadd=0ThenFori=0To9Text1(i).Text=rs_tousu.Fields(i)NextiEndIf'開始時(shí)設(shè)置各個(gè)text框不可寫Fori=0To9Text1(i).Enabled=FalseNextiEndSubPrivateSubcmdClose_Click()UnloadMeEndSubPrivateSubcmdDel_Click()'當(dāng)單擊刪除記錄時(shí),需要彈出一個(gè)提示框,警告用戶DimanswerAsStringanswer=MsgBox("確定要?jiǎng)h除嗎?",vbYesNo,"")'確實(shí)刪除Ifanswer=vbYesThenrs_tousu.Delete'刪除當(dāng)前記錄rs_tousu.Update'更新刪除MsgBox"成功刪除!",vbOKOnly+vbExclamation,""ElseExitSubEndIf'刪除之后,顯示總信息條數(shù)需要減1Text2.Text=Val(Text2.Text)-1'刪除當(dāng)前記錄后,需要顯示下一條記錄,如果刪除的是最后一條記錄,則顯示上一條記錄'先移動(dòng)rs_tousu記錄到后一條rs_tousu.MoveNextIfrs_tousu.EOFThenrs_tousu.MovePrevious'如果沒有到記錄首則顯示該記錄IfNotrs_tousu.BOFThenFori=0To9Text1(i).Text=rs_tousu.Fields(i)Nexti'如果到記錄首,則表格已經(jīng)為空,置所有text框顯示為空ElseIfrs_tousu.BOFThenFori=0To9Text1(i).Text=""NextiEndIf'如果刪除的不是首尾記錄,則顯示當(dāng)前記錄即可ElseFori=0To9Text1(i).Text=rs_tousu.Fields(i)NextiEndIfEndSubPrivateSubcmdEdit_Click()'設(shè)置除保存和取消按鈕外的其他按鈕不可用cmdAdd.Enabled=FalsecmdEdit.Enabled=FalsecmdDel.Enabled=FalsecmdSave.Enabled=TruecmdCancel.Enabled=TruecmdFirst.Enabled=FalsecmdPrev.Enabled=FalsecmdNext.Enabled=FalsecmdLast.Enabled=FalsecmdQuery.Enabled=False'需要設(shè)置除主鍵之外的text框可寫Fori=1To9Text1(i).Enabled=TrueNexti'設(shè)置add變量為0add=0EndSubPrivateSubcmdFirst_Click()'先移動(dòng)rs_tousu記錄到第一條rs_tousu.MoveFirst'同時(shí)需要設(shè)置相應(yīng)按鈕為不可用和不可用cmdPrev.Enabled=FalsecmdFirst.Enabled=FalsecmdNext.Enabled=TruecmdLast.Enabled=True'如果已經(jīng)是第一條記錄,則提示用戶Ifrs_tousu.BOF=TrueThenMsgBox"對不起,已經(jīng)是第一條記錄了!",vbOKOnly+vbInformation,"注意"ExitSub'如果不是,則個(gè)數(shù)據(jù)表的記錄位置移到第一條記錄,并且顯示之ElseFori=0To9Text1(i).Text=rs_tousu.Fields(i)NextiEndIfEndSubPrivateSubcmdLast_Click()'移動(dòng)rs_tousu記錄到最后一條rs_tousu.MoveLastcmdFirst.Enabled=TruecmdPrev.Enabled=TruecmdNext.Enabled=FalsecmdLast.Enabled=False'如果已經(jīng)是最后一條記錄,則提示用戶Ifrs_tousu.EOF=TrueThenMsgBox"對不起,已經(jīng)是最后一條記錄了!",vbOKOnly+vbInformation,"注意"ExitSub'如果不是最后一條,則個(gè)數(shù)據(jù)表的記錄位置移到后一條記錄,并且顯示之ElseFori=0To9Text1(i).Text=rs_tousu.Fields(i)NextiEndIfEndSubPrivateSubcmdNext_Click()'先移動(dòng)rs_tousu記錄到后一條rs_tousu.MoveNext'設(shè)置前一條和第一條按鈕可用cmdPrev.Enabled=TruecmdFirst.Enabled=True'如果已經(jīng)是最后一條記錄,則提示用戶Ifrs_tousu.EOF=TrueThenMsgBox"對不起,已經(jīng)是最后一條記錄了!",vbOKOnly+vbInformation,"注意"'并且設(shè)置“后一條”和最后一條按鈕不可用cmdNext.Enabled=FalsecmdLast.Enabled=FalseExitSub'如果不是,則個(gè)數(shù)據(jù)表的記錄位置移到后一條記錄,并且顯示之ElseFori=0To9Text1(i).Text=rs_tousu.Fields(i)NextiEndIfEndSubPrivateSubcmdPrev_Click()'先移動(dòng)rs_tousu記錄到前一條rs_tousu.MovePrevious'設(shè)置后一條和最后一條按鈕可用cmdNext.Enabled=TruecmdLast.Enabled=True'如果已經(jīng)是第一條記錄,則提示用戶Ifrs_tousu.BOF=TrueThenMsgBox"對不起,已經(jīng)是第一條記錄了!",vbOKOnly+vbInformation,"注意"'并且設(shè)置“前一條”和第一條按鈕不可用cmdPrev.Enabled=FalsecmdFirst.Enabled=FalseExitSub'如果不是,則個(gè)數(shù)據(jù)表的記錄位置移到前一條記錄,并且顯示之ElseFori=0To9Text1(i).Text=rs_tousu.Fields(i)NextiEndIfEndSubPrivateSubcmdQuery_Click()frmQueryTs.ShowEndSubPrivateSubcmdSave_Click()'檢測數(shù)據(jù)是否完整IfText1(0).Text=""ThenMsgBox"投訴編號(hào)不可為空!",vbOKOnly+vbInformation,"注意"Text1(0).SetFocusExitSubElseIfIsDate(Text1(1).Text)=FalseThenMsgBox"投訴日期書寫不對,應(yīng)為2000-1-1這樣的格式!",vbOKOnly+vbInformation,"注意"Text1(1).SetFocusExitSubElseIfText1(2).Text=""ThenMsgBox"接待人員不可為空!",vbOKOnly+vbInformation,"注意"Text1(2).SetFocusExitSubElseIfText1(3).Text=""ThenMsgBox"投訴住戶不可為空!",vbOKOnly+vbInformation,"注意"Text1(3).SetFocusExitSubElseIfText1(8).Text=""ThenMsgBox"投訴內(nèi)容不可為空!",vbOKOnly+vbInformation,"注意"Text1(8).SetFocusExitSubEndIf'添加數(shù)據(jù)后保存Ifadd=1Then'檢測房間編號(hào)這個(gè)主鍵是否已經(jīng)在表中存在Dimrs_checkAsNewADODB.RecordsetDimsqlCheckAsStringsqlCheck="select*fromTouSuwhere投訴編號(hào)='"&(Text1(0).Text)&"'"rs_check.OpensqlCheck,conn,adOpenStatic,adLockOptimisticIfNotrs_check.EOFAndNotr

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論