【正文】
大部分?jǐn)?shù)據(jù)管理的任務(wù)。 Access 數(shù)據(jù)庫(kù)以文件形式保存,文件的擴(kuò)展名是 MDB。如上所述, Access 作為關(guān)系數(shù)據(jù)庫(kù)開(kāi)發(fā)具備了許多優(yōu)點(diǎn),可以在一個(gè)數(shù)據(jù)包中同時(shí)擁有桌面數(shù)據(jù)庫(kù)的便利和關(guān)系數(shù)據(jù)庫(kù)的強(qiáng)大功能。下面是本論文涉及到的一些關(guān)系術(shù)語(yǔ)做以簡(jiǎn)單介紹: 數(shù)據(jù)表:數(shù)據(jù)表是一種按行與列排列的相關(guān)信息的邏輯組,類(lèi)似于工作單。創(chuàng)建一個(gè)數(shù)據(jù)庫(kù)時(shí),為每個(gè)字段分配一個(gè)數(shù)據(jù)類(lèi)型、最大長(zhǎng)度和其它屬性。它簡(jiǎn)單易學(xué)、效率高,且功能強(qiáng)大,可以與Windows 的專(zhuān)業(yè)開(kāi)發(fā)工具 SDK( 軟件開(kāi)發(fā)工具包 )相媲美。 Visual Basic 在數(shù)據(jù)庫(kù)應(yīng)用程序的開(kāi)發(fā)領(lǐng)域中,提供包括數(shù)據(jù)管理器( DATA Manager)、數(shù)據(jù)控件( DATA Control)以及數(shù)據(jù)訪問(wèn)對(duì)象( DAO)等功能強(qiáng)大的工具,協(xié)助設(shè)計(jì)人員輕松的連接多種數(shù)據(jù)庫(kù)文件格式,并訪問(wèn)其中的數(shù)據(jù),功能非常強(qiáng)大。 ⑵面向?qū)ο蟮某绦蛟O(shè)計(jì) 在一般的面向?qū)ο蟪绦蛟O(shè)計(jì)語(yǔ)言中,對(duì)象由程序代碼和數(shù)據(jù)組成,是抽象的概念;而Visual Basic 則是應(yīng)用面向?qū)ο蟮某绦蛟O(shè)計(jì)方法,把程序和數(shù)據(jù)封裝起來(lái)作為一個(gè)對(duì)象,并為每個(gè)對(duì)象賦予應(yīng)有的屬性,使對(duì)象成為實(shí)在的東 西。 ⑶結(jié)構(gòu)化程序設(shè)計(jì)語(yǔ)言 Visual Basic 是在 BASIC 語(yǔ)言的基礎(chǔ)上發(fā)展起來(lái)的,具有高級(jí)程序設(shè)計(jì)語(yǔ)言的語(yǔ)句結(jié)構(gòu),接近于自然語(yǔ)言和人類(lèi)的邏輯思維方式。這些過(guò)程分別面向不同的對(duì)象,由用戶(hù)操作引發(fā)某個(gè)事件來(lái)驅(qū)動(dòng)完成某種特定的功能,或者由事件驅(qū) 動(dòng)程序調(diào)用通用過(guò)程來(lái)執(zhí)行指定的操作,這樣可以方便編程人員,提高效率。動(dòng)態(tài)鏈接庫(kù)中存放了所有 Windows 應(yīng)用程序可以共享的代碼和資源,這些代碼或函數(shù)可以用多種語(yǔ)言寫(xiě)成。 ( 3)采用成熟技術(shù)開(kāi)發(fā),使系統(tǒng)具有較高的技術(shù)水平和較長(zhǎng)的生命周期。 ( 2) 訂購(gòu)新書(shū),新書(shū)驗(yàn)收入庫(kù),入庫(kù)圖書(shū)檢索。 系統(tǒng)設(shè)計(jì) 系統(tǒng)功能結(jié)構(gòu) 根據(jù) 需求分析,設(shè)計(jì)出圖書(shū)管理系統(tǒng)的功能結(jié)構(gòu), 如圖 所示。這里將數(shù)據(jù)庫(kù)命名為 db_library,其中包含了 13 張數(shù)據(jù)表,用于存儲(chǔ)不同的信息,如圖 所示。該實(shí)體中包括書(shū)籍名稱(chēng)、類(lèi)別代碼、作者、出版社、條形碼、 ISBN 等屬性。 10 圖 ER圖 圖 讀者信息實(shí)體的 ER圖 讀者借書(shū)實(shí)體包括讀者編號(hào)、讀者姓名、條碼號(hào)、書(shū)籍名稱(chēng)、借書(shū)日期、還書(shū)日期等屬性。 圖 實(shí)體的 ER圖 實(shí)體的 ER圖 數(shù)據(jù)庫(kù)邏輯設(shè)計(jì) 根據(jù)設(shè)計(jì)好的 ER 圖在數(shù)據(jù)庫(kù)中創(chuàng)建數(shù)據(jù)表,系統(tǒng)數(shù)據(jù)庫(kù)中各表的結(jié)構(gòu)如下。 表 dzjstb 表的結(jié)構(gòu) 字段名稱(chēng) 數(shù)據(jù)類(lèi)型 字段大小 讀者編號(hào) 文本 50 讀者姓名 文本 10 條碼號(hào) 文本 30 書(shū)籍名稱(chēng) 文本 50 12 書(shū)籍 價(jià)格 貨幣 規(guī)定天數(shù) 出版社 文本 30 作者 文本 20 借書(shū)數(shù)量 數(shù)字(小數(shù)) 類(lèi)別代碼 文本 5 借書(shū)日期 日期 /時(shí)間 應(yīng)還日期 日期 /時(shí)間 借 文本 4 ( 4) hsstb(讀者還書(shū)表) 讀者還書(shū)表存儲(chǔ)了讀者的還書(shū)信息,其結(jié)構(gòu)如表 所示。這樣,在以后的編程中,如果使用對(duì)象操作數(shù)據(jù)庫(kù),就可以直接調(diào)用數(shù)據(jù)庫(kù)練級(jí) n 函數(shù)。 amp。用戶(hù)單擊左側(cè)的樹(shù)狀導(dǎo)航菜單中的節(jié)點(diǎn),可以在右側(cè)的窗格中顯示出該主菜單下的子菜單。在該窗體中選擇“添加讀者”選項(xiàng)卡,單擊 ” 增加 ” 按鈕,開(kāi)始添加讀者信息。在該窗體中,用戶(hù)輸入“讀者編號(hào)”,按“ Enter”鍵,即可顯示讀者的姓名,;在“條碼號(hào)”文本框中輸入讀者要借書(shū)的條碼,按“ Enter” h 鍵,即可顯示所借圖書(shū)的信息;輸入借書(shū)數(shù)量,單擊“借出當(dāng)前圖書(shū)”按鈕,即可將該圖書(shū)借出,如圖 所示。 在該模塊中還可以對(duì)丟失圖書(shū)的信息進(jìn)行查詢(xún),輸入查詢(xún)條件,例如查詢(xún)讀者編號(hào)是100003 的圖書(shū)丟失信息,單擊“查詢(xún)”按鈕,即可將編號(hào)是 100003 的讀者的圖書(shū)丟失信息顯示在表格中,如圖 所示。 18 圖 圖書(shū)驗(yàn)收?qǐng)?bào)表窗體 單擊“打印”按鈕,即可將查詢(xún)出來(lái)的圖書(shū)驗(yàn)收信息打印出來(lái),如圖 圖 圖書(shū)驗(yàn)收?qǐng)?bào)表打印預(yù)覽 此圖書(shū)管理系統(tǒng)是經(jīng)過(guò)認(rèn)真學(xué)習(xí)、聽(tīng)取老師意見(jiàn),充分考慮圖書(shū)管理的各種需求后開(kāi)發(fā)的,它是具有重要實(shí)際意義的一套系統(tǒng),并且該系統(tǒng)具有很廣闊的應(yīng)用前景。 在 系統(tǒng)開(kāi)發(fā)過(guò)程中,在潘老師的指導(dǎo)下,從頭做起,不斷學(xué)習(xí),積累了寶貴的開(kāi)發(fā)經(jīng)驗(yàn),學(xué)到了很多書(shū)本上沒(méi)有的知識(shí)。 20 致謝 在此,我要謝謝在這次畢業(yè)設(shè)計(jì)過(guò)程中指導(dǎo)老師對(duì)我的悉心指導(dǎo)和同學(xué)們對(duì)我的熱心幫助。謝謝 。 If 0 Then 23 Do While = False Key = Trim((子菜單名稱(chēng) )) Text = (子菜單名稱(chēng) ) Set node2 = (, tvwChild, Key, Text, 1) 39。 39。 39。 39。 39。 39。 39。 39。 39。 39。 39。 39。 39。 39。 39。 39。 amp。 amp。 End If End If If = 0 And = 1 Then = select * from dzxxtb where 登記日期 between amp。 and amp。 End If If = 1 And = 1 Then If = like Then = select * from dzxxtb where( amp。and 登記日期 between amp。 and amp。 ) Else = select * from dzxxtb where ( amp。 + + 39。 Chr(35) amp。 Chr(35) amp。 amp。 amp。, n, adOpenKeyset, adLockOptimistic = select * from sz If (0) + Val() (0) Then MsgBox 您的借書(shū)量已滿(mǎn)!! , vbOKOnly 27 Exit Sub Else = select * from books where 條碼號(hào) =39。 Text1 amp。 Text2 amp。 Text3 amp。 Text4 amp。 ,39。,39。,39。,39。,39。,39。,39。,39。 x amp。 y amp。 amp。 End Sub 12. 刪除記錄 Private Sub Command2_Click() If = False Then If = Then Exit Sub Else c = MsgBox(您確認(rèn)要?jiǎng)h除該記錄嗎 ?, 17) If c = vbOK Then Call Main Set adoRs = (delete from dzjstb where 讀者編號(hào) =39。 amp。 If 0 Then = True = (0) = (1) = (4) = (8) = (3) = (9) = (10) Else MsgBox 沒(méi)有此讀者的借書(shū)信息 , vbOKOnly = = End If End If End Subb 14. 記錄 丟失信息 Private Sub Command1_Click() c = MsgBox(該圖書(shū)確認(rèn)丟失了嗎 ?, 33) If c = vbOK Then Dim sql, sql1 As String Dim sql2 As Integer sql = insert into pstb values(39。,39。,39。,39。, amp。 Label8 amp。 Label15 amp。 Label17 amp。 Label13 amp。 Label14 amp。 amp。 復(fù)本數(shù) Val() amp。 amp。 sql2 amp。 amp。 39。模糊查詢(xún) End If End If End Sub 16. 查詢(xún)圖書(shū)驗(yàn)收信息 Private Sub Command1_Click() Dim Num1, Num2 As Long = select * from rkb where 訂購(gòu)日期 between amp。 and amp。 order by 訂購(gòu)日期 If 0 Then = select sum(復(fù)本數(shù) )as 復(fù)本數(shù) ,sum(訂購(gòu)價(jià)格 )as 訂購(gòu)價(jià)格 from rkb where 訂購(gòu)日期 between amp。 and amp。 = (1) = (0) Else = = End If End Sub 17. 打印查詢(xún)結(jié)果 Private Sub Command3_Click() select * from rkb where 訂購(gòu)日期 between amp。 and amp。 order by 訂購(gòu)日期 If 0 Then 1 Else 30 MsgBox 此日期段沒(méi)有記錄,請(qǐng)重新選擇! , vbOKOnly End If End Sub 18. 窗體分割條的實(shí)現(xiàn) Private Sub Picture1_MouseDown(Butto