版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、“人才培養(yǎng)模式改革和開放教育試點”計算機網(wǎng)絡(luò)管理方向(專科)畢業(yè)設(shè)計論文 論文題目 VB+Access圖書出租管理系統(tǒng) 學(xué) 號 姓 名 姜 力 指導(dǎo)教師 何 元 富 市 校 常 州 分 校 溧 陽 教 學(xué) 班 2009秋開放??朴嬎銠C 年 月 日目 錄摘要.3引 言.4第一章 系統(tǒng)需求分析與可行性分.51.1現(xiàn)行業(yè)務(wù)描述.51.2可行性分析.61.3系統(tǒng)開發(fā)具體研究分析.61.4物理分析.71.5系統(tǒng)開發(fā)環(huán)境.8第二章 系統(tǒng)概要設(shè)計.92.1初步調(diào)研.92.2詳細調(diào)研.9第三章 系統(tǒng)整體設(shè)計.103.1軟件模塊結(jié)構(gòu)設(shè)計.103.2數(shù)據(jù)庫設(shè)計.103.3計算機系統(tǒng)的配置方案.15第四章 系統(tǒng)詳細
2、設(shè)計及實現(xiàn).154.1界面設(shè)計.154.2建立公共模塊.224.3、主窗體代碼 .234.4、各子窗體的代碼 .23第五章 實施概況.395.1系統(tǒng)測試.395.2 系統(tǒng)運行與維護.39結(jié)論.40參考文獻.41摘 要本文有的地方借鑒了其他一些優(yōu)秀的教材或?qū)V?,這些著作都已經(jīng)列在參考文獻中,在此謹對它們的作者表示敬意與感謝。有個別程序是作者多年教學(xué)過程中積累下來的,可能取自于某處,但已無從考證,好在已經(jīng)經(jīng)過改進或加入了詳盡的解釋。當前,世界經(jīng)濟正在開始新一輪的增長,經(jīng)濟全球化趨勢不斷增強,以信息技術(shù)產(chǎn)業(yè)為先導(dǎo)的“新經(jīng)濟”方興未艾,雖然對新經(jīng)濟的提法還沒有統(tǒng)一的意見,如有電子經(jīng)濟、網(wǎng)絡(luò)經(jīng)濟、信息經(jīng)
3、濟、知識經(jīng)濟等說,但是各界已經(jīng)一致認為近期的重點是建立在互聯(lián)網(wǎng)基礎(chǔ)上的電子商務(wù)新經(jīng)濟。電子商務(wù)對傳統(tǒng)的商務(wù)活動帶來了巨大的沖擊,它突出的標志就是增加貿(mào)易機會,降低貿(mào)易成本,簡化貿(mào)易流程,提高貿(mào)易效率。電子商務(wù)極大地改變了商務(wù)模式。帶動了經(jīng)濟結(jié)構(gòu)的變革。在發(fā)達國家,電子商務(wù)發(fā)展空前繁榮,通過互聯(lián)網(wǎng)進行交易已成潮流。關(guān)鍵詞:VB、Access 、客戶端模塊設(shè)計等。引言當今時代是飛速發(fā)展的信息時代。在各行各業(yè)中離不開信息處理,這正是計算機被廣泛應(yīng)用于信息管理系統(tǒng)的環(huán)境。計算機的最大好處在于利用它能夠進行信息管理。使用計算機進行信息控制,不僅提高了工作效率,而且大大的提高了其安全性。尤其對于復(fù)雜的信息
4、管理,計算機能夠充分發(fā)揮它的優(yōu)越性。計算機進行信息管理與信息管理系統(tǒng)的開發(fā)密切相關(guān),系統(tǒng)的開發(fā)是系統(tǒng)管理的前提。本系統(tǒng)就是為了管理好圖書館信息而設(shè)計的。圖書館作為一種信息資源的集散地,圖書和用戶借閱資料繁多,包含很多的信息數(shù)據(jù)的管理,現(xiàn)今,有很多的圖書館都是初步開始使用,甚至尚未使用計算機進行信息管理。根據(jù)調(diào)查得知,他們以前對信息管理的主要方式是基于文本、表格等紙介質(zhì)的手工處理,對于圖書借閱情況(如借書天數(shù)、超過限定借書時間的天數(shù))的統(tǒng)計和核實等往往采用對借書卡的人工檢查進行,對借閱者的借閱權(quán)限、以及借閱天數(shù)等用人工計算、手抄進行。數(shù)據(jù)信息處理工作量大,容易出錯;由于數(shù)據(jù)繁多,容易丟失,且不易
5、查找??偟膩碚f,缺乏系統(tǒng),規(guī)范的信息管理手段。盡管有的圖書館有計算機,但是尚未用于信息管理,沒有發(fā)揮它的效力,資源閑置比較突出,這就是管理信息系統(tǒng)的開發(fā)的基本環(huán)境。數(shù)據(jù)處理手工操作,工作量大,出錯率高,出錯后不易更改。圖書館采取手工方式對圖書借閱情況進行人工管理,由于信息比較多,圖書借閱信息的管理工作混亂而又復(fù)雜;一般借閱情況是記錄在借書證上,圖書的數(shù)目和內(nèi)容記錄在文件中,圖書館的工作人員和管理員也只是當時對它比較清楚,時間一長,如再要進行查詢,就得在眾多的資料中翻閱、查找了,造成查詢費時、費力。如要對很長時間以前的圖書進行更改就更加困難了?;谶@些問題,我認為有必要建立一個圖書管理系統(tǒng),使圖
6、書管理工作規(guī)范化,系統(tǒng)化,程序化,避免圖書管理的隨意性,提高信息處理的速度和準確性,能夠及時、準確、有效的查詢和修改圖書情況。1. 系統(tǒng)需求分析與可行性分析1.1現(xiàn)行業(yè)務(wù)描述通過調(diào)查,先畫出圖書館的組織結(jié)構(gòu)圖如下:組織結(jié)構(gòu)圖下面繪制出圖書館流通業(yè)務(wù)中借書的流程圖。(1)讀者在目錄廳查閱索引卡;(2)讀者寫出所借圖書的分類號、種次號、交給圖書管理員,并出示本人的借書證;(3)圖書管理員根據(jù)圖書的分類號、種次號到書庫找書;(4)將圖書交給讀者,并由讀者填寫所借圖書的借書卡。(5)圖書管理員把借書卡保存到寫有該讀者借書證號的口袋里。得出該圖書館業(yè)務(wù)流程圖如下所示業(yè)務(wù)流程圖1.2可行性分析可行性分析是
7、在進行初步調(diào)查后所進行的對系統(tǒng)開發(fā)必要性和可能性的研究,所以也稱為可行性研究。信息系統(tǒng)也應(yīng)從技術(shù)可行性,經(jīng)濟可行性和社會可行性三方面來論證。通過長時間的觀察與實踐,我認為圖書館管理系統(tǒng)的可行性分析如下: 1.2.1經(jīng)濟可行性分析作為圖書館這樣的商業(yè)性質(zhì)較小的場所,其經(jīng)濟成分比重相對較少,主要是支出的費用:其中包括設(shè)備購置費、軟件開發(fā)費用、管理和維護費、人員工資和培訓(xùn)費等。由于各個圖書館實行統(tǒng)一操作,系統(tǒng)共享,其設(shè)備購置,人員工資,維護費用相對較少,前期的資金投入主要集中于購置圖書上。建立信息中心,可將來自各方面的信息集中管理,提高圖書管理的計劃性和預(yù)見性,快速地反饋市場信息。 1.2.2技術(shù)可
8、行性分析技術(shù)上的可行性分析主要分析現(xiàn)有技術(shù)條件能否順利完成開發(fā)工作,硬件、軟件配置能否滿足開發(fā)者的需要,各類技術(shù)人員的數(shù)量,水平,來源等。圖書館管理系統(tǒng)的工作主要是在讀者和圖書館之間架起一座橋梁,能相互溝通信息和處理信息。這一特點非常適合計算機特點,通過網(wǎng)絡(luò)internet技術(shù),發(fā)揮計算機的信息傳輸速度快、準確度高的優(yōu)勢。計算機硬件和軟件技術(shù)的飛速發(fā)展,為系統(tǒng)的建設(shè)提供了技術(shù)條件。 1.2.3社會可行性分析社會可行性有時也稱為操作可行性,主要論證新系統(tǒng)在企業(yè)或機構(gòu)開發(fā)和運行的可能性以及運行后可能一起的對企業(yè)或機構(gòu)的影響,即組織內(nèi)外是否具備接受和使用新系統(tǒng)的條件。在當前信息技術(shù)飛速發(fā)展的大環(huán)境下
9、,計算機技術(shù)和軟件技術(shù)的更新是圖書館完全有可能也有能力采用這樣先進的管理技術(shù)。它對圖書館帶來的影響可以看到:(a)對傳統(tǒng)管理理念的沖擊,可能引起管理層的變動和人員的調(diào)整。(b)對圖書館工作人員的要求提高,使圖書館在一定的可能下進行機構(gòu)精簡,迫使工作人員繼續(xù)學(xué)習(xí)新知識,拓寬圖書館在市場環(huán)境下的生存空間。對圖書館與讀者之間業(yè)務(wù)方式的轉(zhuǎn)變和擴充。1.3系統(tǒng)開發(fā)具體研究分析要建立新的圖書管理系統(tǒng),就必須對現(xiàn)行的管理系統(tǒng)進行全面、細致而充分的調(diào)查研究。具體采用直接面談和專門訪問并參加業(yè)務(wù)實踐,與工作人員一起完成最基本的工作程序的方法。原來圖書管理處理中心進行信息管理的主要方式是基于手工處理,最多是用計算
10、機的文本系統(tǒng)打印一些清單,信息處理工作量大,容易出錯,缺乏系統(tǒng)、規(guī)范的信息管理手段。現(xiàn)某圖書館需要管理其各種人員和圖書信息,希望實現(xiàn)辦公的信息化,通過建立一個圖書管理系統(tǒng)來管理圖書。其完成的功能如下:(1) 可以實現(xiàn)圖書的登記、借閱和賠償?shù)墓芾怼?2) 可以實現(xiàn)對圖書的各種信息的查詢,包括逐個瀏覽,以及對圖書信息的增加、刪除和編輯操作。另外,可以根據(jù)輸入的信息來檢索某個圖書的信息。(3) 可以實現(xiàn)對管理人員的投訴管理。(4) 可以實現(xiàn)對值班人員的管理。得出系統(tǒng)的功能模塊圖:1.4物理分析本實例根據(jù)上面的設(shè)計規(guī)劃出的實體有管理員信息實體、讀者信息實體 E-R 圖、書籍類別信息實體、書籍信息實體、
11、借閱信息實體、借閱信息實體。為了使E-R圖表示得更加清晰,現(xiàn)將E-R圖分成實體及其屬性圖和實體及其聯(lián)系圖。各個實體具體的描述E-R圖如下。圖書登記實體E-R圖圖書借閱實體E-R圖圖書賠償實體E-R圖投訴管理實體E-R圖值班管理實體E-R圖查詢輸出實體E-R圖1.5系統(tǒng)開發(fā)環(huán)境系統(tǒng)開發(fā)環(huán)境包括硬件平臺和軟件平臺兩種。硬件平臺是指開發(fā)與運行所需要的硬件環(huán)境,主要包括計算機機型及硬件配置。由于本系統(tǒng)是一個小型的MIS管理系統(tǒng),因此對計算機硬件的要求不高,比較經(jīng)濟,只要配備有P處理器(或以上)、256M內(nèi)存(或以上)、20G硬盤(或以上)的普通微機即可順利運行。軟件平臺是指系統(tǒng)開發(fā)與運行的軟件環(huán)境。本
12、系統(tǒng)在開發(fā)時選用了穩(wěn)定性較強的Windows XP中文專業(yè)版和Visual Basic6.0作為開發(fā)語言,同時選用了Access數(shù)據(jù)庫,由于這些軟件產(chǎn)品都是Microsoft公司的產(chǎn)品,因此彼此之間的兼容性較好,開發(fā)出的應(yīng)用系統(tǒng)穩(wěn)定性較高。Visual Basic 6.0具有可視化的開發(fā)環(huán)境,可以快速完成系統(tǒng)的開發(fā),內(nèi)部集成的數(shù)據(jù)庫訪問通道,使得可以輕松方便的對數(shù)據(jù)庫管理。數(shù)據(jù)庫采用Microsoft Access,由于我們的系統(tǒng)要求,采用它完全可以適合我們的工作需求,并且它所支持的數(shù)據(jù)類型十分豐富,維護簡便,費用比較低,人員素質(zhì)要求不是很高,容易升級。本系統(tǒng)在單機上運行。2系統(tǒng)概要設(shè)計2.1
13、初步調(diào)研對該圖書館進行初步調(diào)研的具體內(nèi)容為:(1)圖書館的規(guī)模:現(xiàn)藏書冊數(shù)、種類;(2)圖書館的主要業(yè)務(wù);(3)圖書館下高幾個部門;(4)圖書館職工人數(shù);(5)職工受教育程度;(6)主要購書單位;(7)圖書編碼方式;(8)現(xiàn)在多少讀者在此借書;(9)讀者借書憑證;(10)讀者分類;(11)圖書館的上級領(lǐng)導(dǎo);(12)對開發(fā)新系統(tǒng)的態(tài)度;(13)開發(fā)新系統(tǒng)所需的時間(規(guī)定多長時間開發(fā)完成)。2.2詳細調(diào)研2.2.1組織結(jié)構(gòu)調(diào)研在對該圖書館的手工管理模式和業(yè)務(wù)流程進行認真分析和研究的基礎(chǔ)上,經(jīng)過與該圖書館的相關(guān)人員的反復(fù)協(xié)商、論證,最后確定了該圖書管理系統(tǒng)的邏輯模型。下面以數(shù)據(jù)流圖和數(shù)據(jù)字典的方式來
14、描述新系統(tǒng)的邏輯功能。2.2.2數(shù)據(jù)流圖借書業(yè)務(wù)3系統(tǒng)整體設(shè)計3.1軟件模塊結(jié)構(gòu)設(shè)計3.1.1系統(tǒng)方案確定通過對系統(tǒng)調(diào)研與分析,系統(tǒng)主要應(yīng)完成的功能如下:書庫信息管理、讀者檔案管理、借閱管理、還書管理、圖書檢索、系統(tǒng)維護。3.1.2軟件結(jié)構(gòu)設(shè)計圖書館管理系統(tǒng)包含圖書采編、讀者管理、流通、查詢等功能。該系統(tǒng)執(zhí)行時,先輸入數(shù)據(jù),然后根據(jù)輸入的數(shù)據(jù)選擇執(zhí)行路徑;購入圖書進行登記、編目調(diào)用圖書采編功能,借書、還書調(diào)用功能,查詢調(diào)用查詢功能。圖書館管理系統(tǒng)屬于事務(wù)型系統(tǒng),其系統(tǒng)示意圖如下圖所示:圖書館管理系統(tǒng)結(jié)構(gòu)圖系統(tǒng)功能圖如下:3.2數(shù)據(jù)庫設(shè)計計算機管理系統(tǒng)圖書管理系統(tǒng)數(shù)據(jù)庫模式定義了數(shù)據(jù)庫的結(jié)構(gòu)、表
15、、關(guān)系、域和業(yè)務(wù)規(guī)則。 數(shù)據(jù)庫模式是一種設(shè)計,數(shù)據(jù)庫和應(yīng)用正是建立在此基礎(chǔ)上的。域是一列可能擁有的值的集合。必須為每一個表的每一列確定域。除了數(shù)據(jù)的物理必填字段外,還需要確定是否有些域?qū)Ρ韥碚f是唯一的。計算機管理系統(tǒng)圖書管理系統(tǒng)數(shù)據(jù)庫模式的最后一個要素是業(yè)務(wù)規(guī)則,它是對需要反映在數(shù)據(jù)庫和數(shù)據(jù)庫應(yīng)用程序中的業(yè)務(wù)活動的允許空字符串。業(yè)務(wù)規(guī)則是模式的一個重要部分,因為他們指定了無論什么數(shù)據(jù)變化到達DBMS引擎,允許的數(shù)據(jù)值必須滿足的允許空字符串。不管無效的數(shù)據(jù)變化請求是來自窗體的用戶、查詢/修改請求還是應(yīng)用程序DBMS都應(yīng)該拒絕。3.2.1 利用DATA控件訪問數(shù)據(jù)庫該軟件是利用ACCESS數(shù)據(jù)庫,
16、操作方便,簡單。在ACCESS數(shù)據(jù)庫中不需要創(chuàng)建數(shù)據(jù)連接,因為它是VB中默認的數(shù)據(jù)庫形式。這里的數(shù)據(jù)庫采用Access,用ADO作為連接數(shù)據(jù)對象。以歸納為以下幾步:1、建立Access 數(shù)據(jù)庫啟動Access,建立一個空的數(shù)據(jù)庫book.mdb,如圖所示。使用程序設(shè)計器建立系統(tǒng)需要的表格如下。圖書登記表,圖書借閱表,圖書賠償表,圖書資料表,投訴管理表,值班管理表,系統(tǒng)管理表,如圖:基本表舉例如:圖書借閱表字段類型字段大小必填字段允許空字符串書名文本50否是圖書編號文本12是否姓名文本50否是圖書證號數(shù)字長整型是否借閱時間日期/時間自動否無歸還時間日期/時間自動否無備注備注否其余表省略。2、連接
17、數(shù)據(jù)在Visual Basic環(huán)境下,選擇“工程”“引用”命令,在隨后出現(xiàn)的對話框中選擇“Microsoft ActiveX Data Objects 2.0 Library”,然后單擊“確定”按鈕,引用ADO連接數(shù)據(jù)庫在程序設(shè)計的公共模塊中,先定義ADO連接對象。語句如下:Public conn As New ADODB.Connection 標記連接對象然后在子程序中,用如下的語句即可打開數(shù)據(jù)庫:Dim connectionstring As Stringconnectionstring = provider=Microsoft.Jet.oledb.4.0; &_data source=b
18、ook.mdbconn.Open connectionstring3、設(shè)置ODBCVB的ADO對象是通過ODBC來訪問數(shù)據(jù)庫,所以還要建立ODBC數(shù)據(jù)引擎接口。打開控制面板中的“管理工具”“數(shù)據(jù)源”(ODBC),出現(xiàn)如圖所示的對話框。ODBC對話框單擊“添加”按鈕,出現(xiàn)“創(chuàng)建新數(shù)據(jù)源”對話框,如圖所示?!皠?chuàng)建新數(shù)據(jù)源”對話框選擇Microsoft Access Driver(*.mdb),單擊“完成”按鈕,出現(xiàn)如圖19所示對話框。設(shè)置連接數(shù)據(jù)源在“數(shù)據(jù)源名”文本框中添加一個名字,單擊“確定”按鈕完成系統(tǒng)默認連接設(shè)置。然后在ODBC對話框中單擊“確定”按鈕完成ODBC設(shè)置。4、 MDB數(shù)據(jù)流程圖
19、以及數(shù)據(jù)表圖書管理系統(tǒng)數(shù)據(jù)流程圖ADO中的數(shù)據(jù)對象通常保存的是查詢結(jié)果。Record Set是ADO中最復(fù)雜的對象,有許多屬性和方法。Record Set保存的是一行行的記錄,并標有一個當前記錄。以下是創(chuàng)建方法:可以直接利用DATA控件直接綁定,在DATA控件的屬性中的RECORDSOURCE對數(shù)據(jù)表進行連接。Set Record Set=DB.Openrecordset(sqtStr)這條語句創(chuàng)建并打開了對象Record Set,其中db是先前創(chuàng)建的鏈接對象,sqtStr是一個字串,代表一條標準的SQL語句。例如: sqlStr=“SELECT * FROM table1”Set Recor
20、d Set=DB.Openrecordset(sqtStr),執(zhí)行后,對象Record Set中就保存了表table1中的所有記錄。3.3計算機系統(tǒng)的配置方案3.3.1硬件環(huán)境:內(nèi)容最低配置建議配置主機P/200P266以上內(nèi)存256MB512MB以上硬盤20GB40GB以上顯示器VGA以上3.3.2軟件環(huán)境:操作系統(tǒng):Windows 98中文版或Windows XP中文版編程軟件和數(shù)據(jù)庫:Visual Basic6.0中文版+Access2000中文版3.3.3系統(tǒng)的安全性和可靠性設(shè)計對所有登錄本系統(tǒng)的使用用戶進行嚴格的用戶名和密碼的管理,如果不屬于系統(tǒng)事先設(shè)定好的合法用戶,則系統(tǒng)無法登錄,
21、為了防止密碼外泄,本系統(tǒng)具備密碼修改功能。4系統(tǒng)詳細設(shè)計及實現(xiàn)4.1界面設(shè)計設(shè)計好的界面如圖所示。圖書管理系統(tǒng)界面這是一個多文檔界面(MDI)應(yīng)用程序,可以同時顯示多個文檔,每個文檔顯示在各自的窗體中。MDI 應(yīng)用程序中常有包含子菜單的“窗體”選項,用于在窗體或文檔之間進行切換。菜單應(yīng)用程序中,有5個菜單選項,每個選項對應(yīng)著E-R圖的一個子項目。4.1.1、創(chuàng)建主窗體首先創(chuàng)建一個工程,命名為圖書管理系統(tǒng),選擇“工程”“添加MDI窗體”命令,則在項目中添加了主窗體。該窗體的一些屬性如表1所示。表1 主窗體的屬性屬性值Caption圖書管理系統(tǒng)2011.05.22NameMainMenuMainm
22、enu1WindowstateMaxsizeWindowstate的值為Maxsize,即程序啟動之后自動最大化。將“菜單”組件從“工具箱”拖到窗體上。創(chuàng)建一個 Text 屬性設(shè)置為“文件”的頂級菜單項,且?guī)в忻麨椤瓣P(guān)閉”的子菜單項。類似地創(chuàng)建一些菜單項,如表2所示。表2菜單項表菜 單 名 稱Text屬性功 能 描 述MenuItem1圖書管理頂級菜單,包含子菜單MenuItem2圖書登記調(diào)出圖書登記窗體MenuItem3圖書借閱調(diào)出圖書借閱窗體MenuItem4圖書賠償調(diào)出圖書賠償窗體MenuItem5圖書資料頂級菜單,包含子菜單MenuItem6查詢輸出調(diào)出查詢輸出窗體MenuItem7值
23、班管理頂級菜單,沒有子菜單MenuItem8投訴管理頂級菜單,沒有子菜單MenuItem9系統(tǒng)管理頂級菜單,包含子菜單MenuItem10增加用戶調(diào)出用戶窗體MenuItem11修改密碼調(diào)出密碼窗體MenuItem12退出系統(tǒng)退出主窗體如圖所示。圖21 主窗體2、創(chuàng)建各子窗體選擇“工程”“添加窗體”命令,添加子窗體。在新建Visual Basic工程時自帶的窗體中,將其屬性MIDChild改成True,則這個窗體成為MID窗體的子窗體。在這個項目中,要創(chuàng)建的子窗體如表3所示。表3 所有子窗體子 窗 體 名Text圖書登記frmdengji圖書借閱frmjieyue圖書賠償frmpeichang
24、增加新用戶frmadduser查詢輸出frmfind登錄系統(tǒng)frmlogin修改密碼frmchangepwd下面分別給出這些子窗體,以及它們所使用的控件。(1) 圖書登記子窗體如所示,其控件如表4所示。圖書登記子窗體表4 圖書登記子窗體控件控 件 類 別控件Name控件TextLabelLabel1編號Label2書名Label3類型Label4購買日期Label5定價TextBoxText1(空)Text2(空)Text3(空)Text4(空)Text5(空)CommandButtonCommand1增加記錄Command2刪除記錄Command3下一條Command4上一條Command5
25、第一條Command6最后一條Command7退出ADODataAdodc1(空)DataGridDataGrid1(空)圖書借閱、圖書賠償子窗體分別如圖所示:圖書借閱子窗體圖書賠償子窗體(2) 增加用戶子窗體如圖所示,其控件如表5所示。增加用戶子窗體表5 增加用戶子窗體控件控 件 類 別控件Name控件TextLabelLabel1輸入用戶名Label2輸入密碼Label3確認密碼Label4選擇權(quán)限TextBoxText1(空)Text2(空)Text3(空)ComboBoxComb1(空)CommandButtonCommandl確定Command2取消(3) 修改密碼子窗體如圖所示。修
26、改密碼子窗體(4) 庫房管理子窗體如圖27所示。庫房管理子窗體其控件如表6所示。表6 庫房管理子窗體控件控 件 類 別控件Name控件TextTextBoxText1(空)ComboBoxCombo1MSFlexGridMSFlexGrid1(5) 查詢子窗體如圖所示,其控件如表7所示。查詢子窗體表7 查詢子窗體控件控 件 類 別控件Name控件TextOptionButtonOption1按編號查詢Option2按購買日期查詢LabelLabel1從Label2到Label3從Label4年Label5月Label6日Label7到Label8年Label9月Label10日Combo(0)
27、 ComboBoxCombo1(空)Combo(1) ComboBoxCombo1(空)Comboy(0) ComboBoxComboy(空)Comboy(1) ComboBoxComboy(空)Combom(0) ComboBoxCombom(空)Combom(1) ComboBoxCombom(空)Combod(0) ComboBoxCombod(空)Combod(1) ComboBoxCombod(空)CommandButtonCommand1查詢Command2取消(6) 用戶登錄子窗體如圖29所示。用戶登錄子窗體(7) 值班管理子窗體如圖所示,值班管理子窗體 (8) 投訴管理子窗體如
28、圖31所示,投訴管理子窗體4.2建立公共模塊建立公共模塊可以提高代碼的效率,同時使得修改和維護代碼都很方便。創(chuàng)建公共模塊的步驟如下:(1) 在菜單中選擇“工程”“添加模塊”命令,則出現(xiàn)模塊對話框,如圖所示。(2) 選擇模塊圖標后,單擊“打開”按鈕,則模塊已經(jīng)添加到項目中了。默認情況下名為Module1。模塊對話框(3) 在模塊中定義整個項目的公共變量。Public conn As New ADODB.Connection 標記連接對象Public userID As String 標記當前用戶IDPublic userpow As String 標記用戶權(quán)限Public find As Boo
29、lean 標記查詢Public sqlfind As String 查詢語句Public rs_data1 As New ADODB.RecordsetPublic findok As BooleanPublic frmdata As BooleanPublic Const keyenter = 13 enter鍵的ASCII碼在主窗體添加完菜單之后,就要為各個子菜單創(chuàng)建事件處理程序。4.3、主窗體代碼在本項目中,子菜單事件都是Click事件,這里先給出主窗體部分的代碼。下面是響應(yīng)“增加用戶”子菜單Click事件,調(diào)出增加用戶窗體代碼。Private Sub adduser_Click()fr
30、madduser.ShowEnd Sub下面是響應(yīng)“查詢輸出”子菜單Click事件,調(diào)出查詢輸出窗體代碼。Private Sub chaxunshuchu_Click()frmfind.ShowEnd Sub下面是響應(yīng)“退出”子菜單Click事件,調(diào)出退出窗體代碼。Private Sub exit_Click()Unload MeEnd Sub下面是響應(yīng)“圖書登記”子菜單Click事件,調(diào)出圖書登記窗體代碼。Private Sub checkin_Click()frmdengji.ShowEnd Sub下面是響應(yīng)“修改密碼”子菜單Click事件,調(diào)出修改密碼窗體代碼。Private Sub c
31、hangepwd_Click()frmchangepwd.ShowEnd Sub下面是響應(yīng)“圖書借閱”子菜單Click事件,調(diào)出圖書借閱窗體代碼。Private Sub borrow_Click()frmjieyue.ShowEnd Sub下面是響應(yīng)“圖書賠償”子菜單Click事件,調(diào)出圖書賠償窗體代碼。Private Sub tushupeichang_Click()frmpeichang.Show 1End Sub下面是響應(yīng)“值班管理”菜單Click事件,調(diào)出值班管理窗體代碼。Private Sub zhibanguanli_Click()frmzhiban.Show 1End Sub下面
32、是響應(yīng)“投訴管理”子菜單Click事件,調(diào)出投訴管理窗體代碼。Private Sub tousuguanli_Click()frmtousu.Show 1End Sub4.4、各子窗體的代碼在各個子窗體建立好后,就可以根據(jù)各個子窗體的功能給它們添加相應(yīng)代碼了。4.4.1、圖書登記子窗體代碼本窗體用來填寫圖書登記的信息,用ADO來連接數(shù)據(jù)庫,是本窗體的重點。采用MDI的子程序,所以運行后,它出現(xiàn)在主程序的界面下,如圖所示。圖書登記子窗體按鈕控件要求先填寫基本信息,然后與數(shù)據(jù)庫信息比較。Private Sub Command1_Click()On Error GoTo adderrText1.Se
33、tFocusAdodc1.Recordset.AddNewExit Subadderr:MsgBox Err.DescriptionEnd SubPrivate Sub Command2_Click()On Error GoTo deleteerrWith Adodc1.RecordsetIf Not .EOF And Not .BOF ThenIf MsgBox(刪除當前記錄嗎?, vbYesNo + vbQuestion) = vbYes Then.Delete.MoveNextIf .EOF Then .MoveLastEnd IfEnd IfEnd WithExit Subdelete
34、err:MsgBox Err.DescriptionEnd SubPrivate Sub Command3_Click()Adodc1.Recordset.MoveNextIf Adodc1.Recordset.EOF ThenMsgBox 這是最后一條記錄, vbOKCancel + vbQuestionAdodc1.Recordset.MoveLastEnd IfEnd SubPrivate Sub Command4_Click()Adodc1.Recordset.MovePreviousIf Adodc1.Recordset.BOF ThenMsgBox 這是第一條記錄, vbOKCan
35、cel + vbQuestionAdodc1.Recordset.MoveFirstEnd IfEnd SubPrivate Sub Command5_Click()If Adodc1.Recordset.EOF ThenMsgBox 記錄空, vbOKCancel + vbQuestionEndElseAdodc1.Recordset.MoveFirstExit SubEnd SubPrivate Sub Command6_Click()If Adodc1.Recordset.RecordCount = 0 ThenMsgBox 空記錄, vbOKCancel + vbQuestionEnd
36、ElseAdodc1.Recordset.MoveLastEnd IfEnd SubPrivate Sub Command7_Click()MDIForm1.Showfrmdengji.HideEnd Sub圖書借閱和圖書賠償子窗體運行后如圖所示,因為它們的代碼和圖書登記子窗體的代碼雷同,在此不做重復(fù)。圖書借閱子窗體運行效果圖書賠償子窗體運行效果4.4.2增加用戶子窗體代碼增加用戶子窗體是用來增加用戶的用戶名、密碼和權(quán)限的。其運行效果如圖所示。單擊“確定”按鈕后,還要返回一個信息框,提示成功信息,如圖所示。增加用戶子窗體運行效果成功信息框窗體部分代碼的思路是,收集輸入的表中的字符串,然后與數(shù)據(jù)
37、庫中的系統(tǒng)的用戶數(shù)據(jù)比較,如果不存在,則允許添加。Private Sub Command1_Click()Dim sql As StringDim rs_add As New ADODB.RecordsetIf Trim(Text1.Text) = ThenMsgBox 用戶名不能為空, vbOKOnly + vbExclamation, Exit SubText1.SetFocusElsesql = select * from 系統(tǒng)管理rs_add.Open sql, conn, adOpenKeyset, adLockPessimisticWhile (rs_add.EOF = False
38、)If Trim(rs_add.Fields(0) = Trim(Text1.Text) ThenMsgBox 已有這個用戶, vbOKOnly + vbExclamation, Text1.SetFocusText1.Text = Text2.Text = Text3.Text = Combo1.Text = Exit SubElsers_add.MoveNextEnd IfWendIf Trim(Text2.Text) Trim(Text3.Text) ThenMsgBox 兩次密碼不一致, vbOKOnly + vbExclamation, Text2.SetFocusText2.Tex
39、t = Text3.Text = Exit SubElseIf Trim(Combo1.Text) system And Trim(Combo1.Text) guest ThenMsgBox 請選擇正確的用戶權(quán)限, vbOKOnly + vbExclamation, Combo1.SetFocusCombo1.Text = Exit SubElsers_add.AddNewrs_add.Fields(0) = Text1.Textrs_add.Fields(1) = Text2.Textrs_add.Fields(2) = Combo1.Textrs_add.Updaters_add.Clos
40、e下面是返回成功信息對話框的代碼:MsgBox 添加用戶成功, vbOKOnly + vbExclamation, Unload MeEnd IfEnd IfEnd Sub4.4.3修改密碼子窗體代碼修改密碼子窗體是用來修改用戶密碼的。其運行效果如圖38所示。 修改密碼子窗體運行效果在“確定”按鈕的Click事件中添加如下代碼:Private Sub Command1_Click()Dim rs_chang As New ADODB.RecordsetDim sql As StringIf Trim(Text1.Text) Trim(Text2.Text) ThenMsgBox 密碼不一致!,
41、 vbOKOnly + vbExclamation, Text1.SetFocusText1.Text = Text2.Text = Elsesql = select * from 系統(tǒng)管理 where 用戶名= & userID & rs_chang.Open sql, conn, adOpenKeyset, adLockPessimisticrs_chang.Fields(1) = Text1.Textrs_chang.Updaters_chang.CloseMsgBox 密碼修改成功, vbOKOnly + vbExclamation, Unload MeEnd IfEnd Sub在上述
42、代碼中,首先比較兩個表中的數(shù)據(jù)是否一致,然后用rs_chang.Fields(1) = Text1.Text語句把代碼輸入到數(shù)據(jù)庫中。最后,用MsgBox 密碼修改成功, vbOKOnly + vbExclamation,語句彈出一個信息框,告訴修改成功,如上圖所示。 4.4.4庫房管理子窗體代碼庫房管理子窗體是用來管理圖書資料的。其運行效果如圖所示。庫房管理子窗體實際上,設(shè)計庫房管理子窗體的程序代碼與增加用戶子窗體的代碼在思路上是完全相同的。就是在DataGrid的文本框中顯示圖書進出的清單,最后把填寫的明細存儲到數(shù)據(jù)庫中。檢查代碼如下:Option ExplicitDim rs_data2
43、 As New ADODB.RecordsetDim select_row As StringDim showgrid2 As BooleanDim rs_custom As New ADODB.RecordsetDim jinchu As String 進出庫標志Dim modify As Boolean 修改狀態(tài)標志Private Sub cmdexit_Click()Unload MeEnd SubPrivate Sub Form_Load()On Error GoTo loaderrorDim sql As Stringsql = select * from 圖書資料rs_custom
44、.CursorLocation = adUseClientrs_custom.Open sql, conn, adOpenKeyset, adLockPessimisticWhile Not rs_custom.EOFCombo1.AddItem rs_custom.Fields(0)rs_custom.MoveNextWendfindok = Truemodify = False 非修改狀態(tài)showgrid2 = Falsedisplaygrid1 調(diào)用顯示Datagrid1子程序loaderror:If Err.Number 0 ThenMsgBox Err.DescriptionEnd
45、IfEnd Sub顯示msflexgrid1子程序Public Sub displaygrid1()Dim i As IntegerOn Error GoTo displayerrorsetgridsetgridheadMSFlexGrid1.Row = 0If Not rs_data1.EOF Thenrs_data1.MoveFirstDo While Not rs_data1.EOFMSFlexGrid1.Row = MSFlexGrid1.Row + 1MSFlexGrid1.Col = 0If Not IsNull(rs_data1.Fields(0) Then MSFlexGrid
46、1.Text = rs_data1.Fields(0) ElseMSFlexGrid1.Text = MSFlexGrid1.Col = 1If Not IsNull(rs_data1.Fields(1) Then MSFlexGrid1.Text = rs_data1.Fields(1) ElseMSFlexGrid1.Text = MSFlexGrid1.Col = 2If Not IsNull(rs_data1.Fields(2) Then MSFlexGrid1.Text = rs_data1.Fields(2) ElseMSFlexGrid1.Text = MSFlexGrid1.Col = 3If Not IsNull(rs_data1.Fields(3) Then MSFlexGrid1.Text = rs_data1.Fields(3) ElseMSFlexGrid1.Text = MSFlexGrid1.Col = 4If Not IsNull(rs_data1.Fields(4) Then MSFlexGrid1.Text = rs_data1.Fields(4) ElseMSFlexGrid1.Text = MSFlexGrid1.Col = 5If Not IsNull(rs_data1.Fields(5) Then M
溫馨提示
- 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. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- GB/T 46925-2025綠色電力術(shù)語
- 2026河南漯河市召陵區(qū)公益性崗位招聘5人考試備考試題及答案解析
- 2006云南昆明晉寧產(chǎn)業(yè)園區(qū)管理委員會招聘編外人員3人考試參考題庫及答案解析
- 2026年合肥市園上園小學(xué)喻崗分校教師招聘考試備考題庫及答案解析
- 2026廣西來賓市忻城縣職業(yè)技術(shù)學(xué)校城鎮(zhèn)公益性崗位人員招聘1人考試參考試題及答案解析
- 2026山東煙臺市教育局直屬單位、學(xué)校第二批面向社會招聘教師、教研員18人考試備考試題及答案解析
- 2025江西九江市尋陽實業(yè)集團有限公司招聘延期考試備考試題及答案解析
- 2026上海煙草集團嘉定煙草糖酒有限公司應(yīng)屆生招聘1人考試參考試題及答案解析
- 2026浙江嘉興幸福嘉保安服務(wù)有限公司招聘1人考試參考題庫及答案解析
- 2026天津市糧食儲備有限公司面向社會公開招聘考試備考題庫及答案解析
- 塔吊拆除安全管理培訓(xùn)課件
- 冬季環(huán)衛(wèi)車輛安全培訓(xùn)課件
- 2025至2030中國焊絲和焊條行業(yè)項目調(diào)研及市場前景預(yù)測評估報告
- 高速防滑防凍安全知識培訓(xùn)課件
- 電氣線路安全知識培訓(xùn)課件
- 監(jiān)控設(shè)備安裝施工方案
- DIP醫(yī)保付費培訓(xùn)課件
- 《計算機網(wǎng)絡(luò)技術(shù)基礎(chǔ)》課程思政方案
- 腰痛的中醫(yī)治療
- 2025三力測試考試題庫及答案
- 2025秋季學(xué)期國開電大法律事務(wù)專科《民法學(xué)(1)》期末紙質(zhì)考試總題庫珍藏版
評論
0/150
提交評論