宛楓書社圖書管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)_第1頁(yè)
宛楓書社圖書管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)_第2頁(yè)
宛楓書社圖書管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)_第3頁(yè)
宛楓書社圖書管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)_第4頁(yè)
宛楓書社圖書管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)_第5頁(yè)
已閱讀5頁(yè),還剩45頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、目錄目錄 一、序言 4 二、需求分析說(shuō)明書 4 2.1 系統(tǒng)介紹.4 2.2 系統(tǒng)面向的用戶群體.4 2.3 系統(tǒng)的功能性需求.4 2.4 系統(tǒng)的非功能性需求.5 2.4.1 用戶界面需求.5 2.4.2 軟硬件環(huán)境需求.5 2.4.3 軟件質(zhì)量需求.5 三、可行性分析報(bào)告 5 3.1 技術(shù)可行性.5 3.2 人員可能性.5 3.3 時(shí)間、設(shè)備可能性.5 3.4 系統(tǒng)工作量.5 3.5 代碼工作量.5 3.6 文檔要求.5 四、開發(fā)環(huán)境與項(xiàng)目規(guī)劃 5 4.1 開發(fā)環(huán)境.5 4.2 項(xiàng)目規(guī)劃與管理.5 4.2.1 開發(fā)人員安排.5 4.2.2 開發(fā)進(jìn)度安排.6 五、軟件界面設(shè)計(jì)標(biāo)準(zhǔn)與規(guī)范 6 5

2、.1 編寫目的.6 5.2 界面設(shè)計(jì)思想.6 5.3 界面設(shè)計(jì)原則.6 5.4 界面設(shè)計(jì)樣式.6 5.5 常見提示信息樣式.6 5.6 常見錯(cuò)誤信息樣式.7 5.7 其他界面約定.7 六、軟件編碼設(shè)計(jì)標(biāo)準(zhǔn)與規(guī)范 7 6.1 對(duì)象命名約定.7 6.2 常量和變量命名約定.8 6.3 結(jié)構(gòu)化編碼約定.8 6.4 數(shù)據(jù)源的約定.9 6.5 數(shù)據(jù)庫(kù)訪問約定.9 6.6 其他約定.9 七、數(shù)據(jù)庫(kù)分析與設(shè)計(jì) 10 7.1 數(shù)據(jù)庫(kù)環(huán)境說(shuō)明.10 7.2 數(shù)據(jù)庫(kù)命名標(biāo)準(zhǔn)與規(guī)范.10 7.3 數(shù)據(jù)庫(kù)邏輯設(shè)計(jì).10 7.4 數(shù)據(jù)庫(kù)物理設(shè)計(jì).10 7.4.1 表、視圖匯總.10 7.4.2 各表、視圖設(shè)計(jì)詳解.11

3、 八、軟件體系結(jié)構(gòu)設(shè)計(jì)說(shuō)明書 15 8.1 系統(tǒng)概述.15 8.2 設(shè)計(jì)約束.15 8.3 設(shè)計(jì)策略.15 8.4 系統(tǒng)概要設(shè)計(jì)說(shuō)明書.16 8.4.1 圖例說(shuō)明.16 8.4.2 系統(tǒng)總體結(jié)構(gòu)圖.16 8.4.3 銷售子系統(tǒng)流程圖.17 8.4.4 進(jìn)貨子系統(tǒng)流程圖.17 8.4.5 退貨子系統(tǒng)流程圖.17 8.5 系統(tǒng)詳細(xì)設(shè)計(jì)說(shuō)明書.17 8.5.1 系統(tǒng)模塊匯總.17 8.5.2 系統(tǒng)核心模塊詳解.18 8.5.3 系統(tǒng)模塊詳解.28 九、用戶界面設(shè)計(jì)報(bào)告 42 9.1 界面設(shè)計(jì)規(guī)范.42 9.2 系統(tǒng)窗體匯總.42 9.3 主界面設(shè)計(jì).43 9.4 子界面設(shè)計(jì).43 9.5 界面資源設(shè)

4、計(jì).44 十、軟件測(cè)試分析報(bào)告 44 10.1 測(cè)試范圍與主要內(nèi)容.44 10.2 測(cè)試方法.44 10.3 測(cè)試報(bào)告.44 10.4 改進(jìn)建議與措施.45 十一、軟件使用說(shuō)明書 45 11.1 軟件概述.45 11.2 系統(tǒng)安裝.45 11.3 使用說(shuō)明.45 11.3.1 系統(tǒng)登陸.45 11.3.2 注銷與退出.46 11.3.3 辦理進(jìn)貨登記.46 11.3.4 辦理退貨登記.48 11.3.5 銷售圖書.48 11.3.6 會(huì)員管理.49 11.3.7 員工管理.49 11.3.8 書目檢索.50 11.3.9 查看統(tǒng)計(jì)信息.50 11.3.10 修改密碼.50 11.3.11 關(guān)于

5、/幫助.50 參考資料 51 一、序言一、序言 宛楓書社圖書管理系統(tǒng)的設(shè)計(jì)與推出是多方面原因促成的,我有一位老鄉(xiāng)名叫李明友, 畢業(yè)后經(jīng)營(yíng)一家小書店:“考試通書店” ,其日常管理工作都是人工操作,歷史數(shù)據(jù)很難保 存和利用,對(duì)于書店的經(jīng)營(yíng)非常不利。而其他的中小型書店、個(gè)體書店大多如此。針對(duì)這 種狀況,我計(jì)劃開發(fā)一個(gè)面向中小型書店、個(gè)體書店的圖書管理系統(tǒng),實(shí)現(xiàn)對(duì)人員、物流 的全面管理,以幫助這些書店早日實(shí)現(xiàn)書店管理信息化。 正在我考慮系統(tǒng)的規(guī)劃的時(shí)候,我有幸得到王改性老師的指導(dǎo),我的兩位同學(xué):蔡大 臣、張航也加入了開發(fā)隊(duì)伍,這更加堅(jiān)定了我完成系統(tǒng)開發(fā)任務(wù)的決心。 為了系統(tǒng)的順利開發(fā)和維護(hù),特編制如下

6、技術(shù)文檔: 二、二、需求分析說(shuō)明書需求分析說(shuō)明書 2.1 系統(tǒng)介紹系統(tǒng)介紹 本系統(tǒng)定位于中小型書店、個(gè)體書店,暫時(shí)考慮單機(jī)環(huán)境下的實(shí)現(xiàn);操作系統(tǒng)選擇目 前常用的 Windows 98/2000。系統(tǒng)性質(zhì)為 MIS(管理信息系統(tǒng))或財(cái)務(wù)軟件。 本系統(tǒng)采用會(huì)員制管理,系統(tǒng)功能應(yīng)包含進(jìn)書管理、售書管理、退貨管理、庫(kù)存管理、 統(tǒng)計(jì)分析、相關(guān)人員管理等。系統(tǒng)界面力求簡(jiǎn)潔、易用,在標(biāo)準(zhǔn)化的基礎(chǔ)上考慮界面的美 觀和新穎。 2.22.2 系統(tǒng)面向的用戶群體系統(tǒng)面向的用戶群體 系統(tǒng)面向中小型書店、個(gè)體書店,用戶群體為這些書店的經(jīng)理、采購(gòu)員倉(cāng)庫(kù)管理員、 圖書銷售人員、書店的會(huì)員游客等。 2.32.3 系統(tǒng)的功能性

7、需求系統(tǒng)的功能性需求 功能序號(hào)功能名稱功能說(shuō)明 1 供應(yīng)商管理包含供應(yīng)商信息的登記、修改等 2 圖書種類管理包含圖書大類、小類的創(chuàng)建 3 圖書資料管理包含圖書資料的添加、修改等 4 新書入庫(kù)管理登記新書的來(lái)源、數(shù)量、單價(jià)、折扣、金額等 5 庫(kù)存統(tǒng)計(jì)分門別類統(tǒng)計(jì)圖書現(xiàn)有庫(kù)存量、入庫(kù)時(shí)間等 6 進(jìn)貨記錄查詢查詢歷次進(jìn)貨記錄 7 退貨登記登記供應(yīng)商、圖書種類、退貨的數(shù)量、原因等 8 退貨統(tǒng)計(jì)按供應(yīng)商統(tǒng)計(jì)退貨記錄 9 退貨記錄查詢查詢歷次退貨記錄 10 圖書銷售管理登記銷售的種類、數(shù)量、單價(jià)、折扣、顧客/會(huì)員等 11 會(huì)員管理包含會(huì)員的創(chuàng)建、修改、刪除等 12 優(yōu)惠政策管理包含優(yōu)惠政策的制定與執(zhí)行 1

8、3 本日售書統(tǒng)計(jì)統(tǒng)計(jì)本日銷售圖書的數(shù)量、金額等 14 售書記錄查詢查詢歷次售書記錄 15 員工管理包含員工帳號(hào)的創(chuàng)建、修改、刪除等 16 統(tǒng)計(jì)分析按年月日時(shí)段統(tǒng)計(jì)書店經(jīng)營(yíng)狀況 17 圖書檢索提供按圖書的編號(hào)、書名、責(zé)任者、出版社等途徑的檢索 18 系統(tǒng)帳號(hào)管理提供上級(jí)對(duì)下級(jí)的資料、密碼管理, 19 個(gè)人資料、密碼管理提供修改個(gè)人資料、密碼的工具 2.42.4 系統(tǒng)的非功能性需求系統(tǒng)的非功能性需求 .1 用戶界面需求 簡(jiǎn)潔、易用、易懂,美觀、大方、標(biāo)準(zhǔn),具備一定的兼容性。 .2 軟硬件環(huán)境需求 軟件環(huán)境:兼容當(dāng)前主流操作系統(tǒng) Windows 95/98/NT/Me

9、/2000/XP 等。 硬件環(huán)境:386 以上計(jì)算機(jī),打印機(jī)、掃描儀等。 .3 軟件質(zhì)量需求 易用、健壯、兼容性好、運(yùn)行穩(wěn)定、有一定安全保障。 三三、可行性分析報(bào)告、可行性分析報(bào)告 3.13.1 技術(shù)可行性技術(shù)可行性 系統(tǒng)的性質(zhì)為 MIS 或財(cái)務(wù)軟件,因而數(shù)據(jù)庫(kù)的設(shè)計(jì)與操縱是系統(tǒng)設(shè)計(jì)的核心。我在 2002 年 11 月至 2003 年 3 月曾經(jīng)成功完成了“藍(lán)色夢(mèng)幻留言板”的開發(fā)與維護(hù)任務(wù),具備 一定的系統(tǒng)分析與設(shè)計(jì)能力,熟悉數(shù)據(jù)庫(kù)的設(shè)計(jì)與操縱;指導(dǎo)老師王改性多年從事數(shù)據(jù)庫(kù) 的教學(xué)與研究工作,因而該系統(tǒng)的實(shí)現(xiàn)在技術(shù)上是可行的。 3.23.2 人員可能性人員可能性 我有“藍(lán)色夢(mèng)幻

10、留言板”的開發(fā)經(jīng)驗(yàn),目前時(shí)間充足,可以完成開發(fā)任務(wù)。 蔡大臣的計(jì)算機(jī)功底很深,可以參與系統(tǒng)的數(shù)據(jù)庫(kù)設(shè)計(jì)與開發(fā)。 張航有深厚的文字功底,可以參與用戶文檔的制作、內(nèi)部文檔整理、后期測(cè)試等任務(wù)。 所有人員均可立即投入開發(fā)工作。 3.33.3 時(shí)間、設(shè)備可能性時(shí)間、設(shè)備可能性 系統(tǒng)設(shè)計(jì)與開發(fā)工作預(yù)計(jì)耗時(shí)一個(gè)月,所有參與開發(fā)的人員均能夠保證按時(shí)完成任務(wù)。 實(shí)驗(yàn)設(shè)備如:計(jì)算機(jī)、打印機(jī)、掃描儀等不足,上機(jī)任務(wù)可以完成,打印機(jī)、掃描儀的實(shí) 驗(yàn)根據(jù)具體條件暫時(shí)延緩執(zhí)行。 3.43.4 系統(tǒng)工作量系統(tǒng)工作量 該系統(tǒng)的工作量相對(duì)于我們的開發(fā)小組來(lái)說(shuō)很大,必須保證按進(jìn)度完成任務(wù)。實(shí)際工 作量預(yù)計(jì)超過(guò)一個(gè)月(每天 4-

11、8 小時(shí)) 。如包含軟件維護(hù)及技術(shù)文檔的整理、制作,工作量 將更大。 3.53.5 代碼工作量代碼工作量 預(yù)計(jì)需 25 天左右。 3.63.6 文檔要求文檔要求 依據(jù)國(guó)家計(jì)算機(jī)軟件產(chǎn)品開發(fā)文件編制指南和現(xiàn)代軟件工程的理論與原則編 制標(biāo)準(zhǔn)的軟件技術(shù)文檔。 四、四、開發(fā)環(huán)境與項(xiàng)目規(guī)劃開發(fā)環(huán)境與項(xiàng)目規(guī)劃 4.14.1 開發(fā)環(huán)境開發(fā)環(huán)境 前臺(tái)開發(fā)環(huán)境:Microsoft Visual Basic 6.0 后臺(tái)數(shù)據(jù)庫(kù)環(huán)境:Microsoft Access 2000/2002 4.2 項(xiàng)目規(guī)劃與管理 4.2.1 開發(fā)人員安排 系統(tǒng)分析與設(shè)計(jì):胡孟杰 程序編制:胡孟杰 數(shù)據(jù)庫(kù)設(shè)計(jì):胡孟杰、蔡大臣 文檔整理與

12、制作:蔡大臣、張航 系統(tǒng)測(cè)試:胡孟杰、蔡大臣、張航、考試通書店(李明友) 等 4.2.2 開發(fā)進(jìn)度安排 3 月 1 日至 3 月 5 日:系統(tǒng)分析,進(jìn)行需求定義,定義系統(tǒng)概況 3 月 6 日至 3 月 7 日:數(shù)據(jù)庫(kù)分析與設(shè)計(jì) 3 月 8 日至 3 月 9 日:軟件體系結(jié)構(gòu)設(shè)計(jì) 3 月 10 日至 3 月 31 日:軟件編碼 4 月 1 日至 4 月 2 日:系統(tǒng)測(cè)試 五、軟件界面設(shè)計(jì)標(biāo)準(zhǔn)與規(guī)范五、軟件界面設(shè)計(jì)標(biāo)準(zhǔn)與規(guī)范 5.1 編寫目的 制定界面設(shè)計(jì)標(biāo)準(zhǔn)規(guī)范的目的是為了規(guī)范和統(tǒng)一軟件界面設(shè)計(jì)制定軟件界面設(shè)計(jì)標(biāo)準(zhǔn) 與規(guī)范。 5.2 界面設(shè)計(jì)思想 首先考慮標(biāo)準(zhǔn)化,在標(biāo)準(zhǔn)化的基礎(chǔ)上進(jìn)行界面的美工設(shè)

13、計(jì)。 5.3 界面設(shè)計(jì)原則 簡(jiǎn)單易用、簡(jiǎn)潔明了、兼容性好、標(biāo)準(zhǔn)、規(guī)范。 5.4 界面設(shè)計(jì)樣式 采用標(biāo)準(zhǔn) Windows 界面,自上至下依次為:標(biāo)題欄、菜單欄、工具條、工作區(qū)、狀態(tài) 欄等。如下圖示: 圖 1.系統(tǒng)界面 5.55.5 常見提示信息樣式常見提示信息樣式 提示信息按以下標(biāo)準(zhǔn)進(jìn)行:采用標(biāo)準(zhǔn) Windows 對(duì)話框樣式,添加信息圖標(biāo),后接提示 信息文本和相應(yīng)按鈕。 菜單欄 工具條 狀態(tài)欄工作區(qū) 如下圖示: 圖 2.常見提示信息樣式 5.65.6 常見錯(cuò)誤信息樣式常見錯(cuò)誤信息樣式 錯(cuò)誤信息依據(jù)提示信息樣式設(shè)計(jì),將信息圖標(biāo)更改為警告圖標(biāo)。 如下圖示: 圖 3.常見錯(cuò)誤信息樣式 5.75.7 其

14、他界面約定其他界面約定 除主界面外,所有子界面均采用模式窗體,即該窗體不消失,不可以在本程序內(nèi)將焦 點(diǎn)移出子窗體。 六、軟件編碼設(shè)計(jì)標(biāo)準(zhǔn)與規(guī)范六、軟件編碼設(shè)計(jì)標(biāo)準(zhǔn)與規(guī)范 6.16.1 對(duì)象命名約定對(duì)象命名約定 對(duì)象名對(duì)象類型命名約定(前綴碼) Form窗體Frm Command按鈕Cmd Label標(biāo)簽Lab TextBox文本框Txt ComboBox組合框ComB ListBox列表框LstB Adodb數(shù)據(jù)庫(kù)訪問對(duì)象Adodb DataGrid數(shù)據(jù)表格顯示組件DataGrid Frame框架Fam Option單選框Opt CheckBox復(fù)選框Chk PictureBox圖象顯示組件P

15、tB CommonDialog通用對(duì)話框組件ComDlg Timer時(shí)間組件Tim ToolBar工具欄TlBar Menu菜單Mnu SSTab頁(yè)框SSTab 信息圖標(biāo) 提示文本 按鈕 警告圖標(biāo) 提示文本 ImageList界面資源組件ImgLst 6.26.2 常量和變量命名約定常量和變量命名約定 變量名數(shù)據(jù)類型變量類型含義 UserShenFenString全局變量用戶身份標(biāo)志 LogOKBoolean全局變量登陸狀態(tài) UserNameString全局變量用戶名 GongYingShangIDString全局變量供應(yīng)商編號(hào) GongYingShangString全局變量供應(yīng)商名稱 TuS

16、huBianHaoString全局變量圖書編號(hào) DingJiaSingle全局變量圖書定價(jià) ShuMingString全局變量書名 HuiYuanKaHaoString全局變量會(huì)員卡號(hào) HYXingMingString全局變量會(huì)員姓名 HYDengJiString全局變量會(huì)員等級(jí) 6.36.3 結(jié)構(gòu)化編碼約定結(jié)構(gòu)化編碼約定 編碼應(yīng)清晰、可讀性好,運(yùn)用縮進(jìn)、空行,結(jié)合大小寫區(qū)別等方法保持程序結(jié)構(gòu)良好。 凡與數(shù)據(jù)庫(kù)操作相關(guān)的模塊一律加上容錯(cuò)代碼,涉及多表操作的模塊應(yīng)運(yùn)用“事務(wù)”處理, 以保持?jǐn)?shù)據(jù)完整性。 編碼風(fēng)格參照下例進(jìn)行: Public Sub CheckUser(userID As Stri

17、ng, passwd As String) Dim userDB As Database Dim userRD As Recordset Dim dbName As String Dim STRSQL As String Screen.MousePointer = 11 On Error GoTo errEnd dbName = App.Path If Right(dbName, 1) 、 Then dbName = dbName + 、 dbName = dbName + DataBase、WFSSDataBase.mdb STRSQL = select 用戶身份 from Admin wh

18、ere 用戶 ID= Data Source= Persist Security Info=False Adodc1.ConnectionString = connSTR Exit Sub errEnd: MsgBox 連接數(shù)據(jù)庫(kù)失敗!, vbOKOnly + vbExclamation, 打開數(shù)據(jù)庫(kù)出錯(cuò) End End Sub 模塊名:GetHYDaZhe 模塊原型:Public Function GetHYDaZhe(bianHao As String) As String 代碼: Public Function GetHYDaZhe(bianHao As String) As Strin

19、g On Error GoTo errEnd If bianHao = Then GetHYDaZhe = 1 Exit Function End If Adodc1.CommandType = adCmdText Adodc1.RecordSource = select 打折 from 會(huì)員政策 where 會(huì)員級(jí)別= & bianHao & Adodc1.Refresh If Adodc1.Recordset.RecordCount 0 Then Adodc1.Recordset.MoveFirst GetHYDaZhe = Adodc1.Recordset!打折 Else MsgBox

20、會(huì)員政策數(shù)據(jù)丟失,請(qǐng)與經(jīng)理聯(lián)系!, vbOKOnly + vbExclamation, 檢索錯(cuò)誤 GetHYDaZhe = 1 End If Exit Function errEnd: MsgBox 檢索數(shù)據(jù)庫(kù)出錯(cuò)!, vbOKOnly + vbExclamation, 檢索錯(cuò)誤 GetDingJia = 未知 End Function 模塊名:GetKuCun 模塊原型:Public Function GetKuCun(bianHao As String) As String 代碼: Public Function GetKuCun(bianHao As String) As String

21、On Error GoTo errEnd Adodc1.CommandType = adCmdText Adodc1.RecordSource = select 庫(kù)存量 from Book where 圖書編號(hào)= & bianHao & Adodc1.Refresh If Adodc1.Recordset.RecordCount 0 Then Adodc1.Recordset.MoveFirst GetKuCun = Adodc1.Recordset!庫(kù)存量 Else MsgBox 圖書資料數(shù)據(jù)丟失,請(qǐng)與經(jīng)理聯(lián)系!, vbOKOnly + vbExclamation, 檢索錯(cuò)誤 GetKuCu

22、n = 0 End If Exit Function errEnd: MsgBox 檢索數(shù)據(jù)庫(kù)出錯(cuò)!, vbOKOnly + vbExclamation, 檢索錯(cuò)誤 GetDingJia = 未知 End Function 模塊名:HYShengJi 模塊原型:Public Function HYShengJi(HYKaHao As String) As Boolean 代碼: Public Function HYShengJi(HYKaHao As String) As Boolean On Error GoTo errEnd Dim BiaoZhun As Integer Dim SUMB

23、ook As Integer If HYKaHao = Guest Then HYShengJi = False Exit Function End If BeginTrans Adodc1.CommandType = adCmdText Adodc1.RecordSource = select sum(實(shí)收金額) as 總金額 from 售書記錄 where 會(huì)員卡號(hào)= & HYKaHao & Adodc1.Refresh If Adodc1.Recordset.RecordCount 0 Then Adodc1.Recordset.MoveFirst SUMBook = CInt(Adod

24、c1.Recordset!總金額) Else SUMBook = 0 End If Adodc1.CommandType = adCmdText Adodc1.RecordSource = select 會(huì)員標(biāo)準(zhǔn) from 會(huì)員政策 where 會(huì)員級(jí)別= Adodc1.Refresh Adodc1.Recordset.MoveFirst BiaoZhun = CInt(Adodc1.Recordset!會(huì)員標(biāo)準(zhǔn)) If SUMBook = BiaoZhun Then Adodc1.CommandType = adCmdText Adodc1.RecordSource = select * f

25、rom 會(huì)員表 where 會(huì)員卡號(hào)= & HYKaHao & Adodc1.Refresh If Adodc1.Recordset.RecordCount 0 Then Adodc1.Recordset.MoveFirst Adodc1.Recordset!會(huì)員等級(jí) = Adodc1.Recordset.Update End If End If Adodc1.CommandType = adCmdText Adodc1.RecordSource = select 會(huì)員標(biāo)準(zhǔn) from 會(huì)員政策 where 會(huì)員級(jí)別= Adodc1.Refresh Adodc1.Recordset.MoveFi

26、rst BiaoZhun = CInt(Adodc1.Recordset!會(huì)員標(biāo)準(zhǔn)) If SUMBook = BiaoZhun Then Adodc1.CommandType = adCmdText Adodc1.RecordSource = select * from 會(huì)員表 where 會(huì)員卡號(hào)= & HYKaHao & Adodc1.Refresh If Adodc1.Recordset.RecordCount 0 Then Adodc1.Recordset.MoveFirst Adodc1.Recordset!會(huì)員等級(jí) = Adodc1.Recordset.Update End If

27、 End If Adodc1.CommandType = adCmdText Adodc1.RecordSource = select 會(huì)員標(biāo)準(zhǔn) from 會(huì)員政策 where 會(huì)員級(jí)別= Adodc1.Refresh Adodc1.Recordset.MoveFirst BiaoZhun = CInt(Adodc1.Recordset!會(huì)員標(biāo)準(zhǔn)) If SUMBook = BiaoZhun Then Adodc1.CommandType = adCmdText Adodc1.RecordSource = select * from 會(huì)員表 where 會(huì)員卡號(hào)= & HYKaHao & Ad

28、odc1.Refresh If Adodc1.Recordset.RecordCount 0 Then Adodc1.Recordset.MoveFirst Adodc1.Recordset!會(huì)員等級(jí) = Adodc1.Recordset.Update End If End If Adodc1.CommandType = adCmdText Adodc1.RecordSource = select 會(huì)員標(biāo)準(zhǔn) from 會(huì)員政策 where 會(huì)員級(jí)別= Adodc1.Refresh Adodc1.Recordset.MoveFirst BiaoZhun = CInt(Adodc1.Records

29、et!會(huì)員標(biāo)準(zhǔn)) If SUMBook = BiaoZhun Then Adodc1.CommandType = adCmdText Adodc1.RecordSource = select * from 會(huì)員表 where 會(huì)員卡號(hào)= & HYKaHao & Adodc1.Refresh If Adodc1.Recordset.RecordCount 0 Then Adodc1.Recordset.MoveFirst Adodc1.Recordset!會(huì)員等級(jí) = Adodc1.Recordset.Update End If End If Adodc1.CommandType = adCmd

30、Text Adodc1.RecordSource = select 會(huì)員標(biāo)準(zhǔn) from 會(huì)員政策 where 會(huì)員級(jí)別= Adodc1.Refresh Adodc1.Recordset.MoveFirst BiaoZhun = CInt(Adodc1.Recordset!會(huì)員標(biāo)準(zhǔn)) If SUMBook = BiaoZhun Then Adodc1.CommandType = adCmdText Adodc1.RecordSource = select * from 會(huì)員表 where 會(huì)員卡號(hào)= & HYKaHao & Adodc1.Refresh If Adodc1.Recordset.R

31、ecordCount 0 Then Adodc1.Recordset.MoveFirst Adodc1.Recordset!會(huì)員等級(jí) = Adodc1.Recordset.Update End If End If CommitTrans HYShengJi = False Exit Function errEnd: Rollback HYShengJi = True Screen.MousePointer = vbDefault MsgBox 檢查會(huì)員是否應(yīng)升級(jí)時(shí)操作失??!, vbOKOnly + vbExclamation, 圖書銷售 CmdOK.Enabled = True End Fun

32、ction 模塊名:CmdSellBook_Click 模塊原型:Private Sub CmdSellBook_Click() 代碼: Private Sub CmdSellBook_Click() On Error GoTo errEnd Dim QD As Integer CmdSellBook.Enabled = False If TxtShuLiang.Text = Then MsgBox 請(qǐng)輸入交易的數(shù)量!, vbOKOnly + vbExclamation, 填寫數(shù)量 TxtShuLiang.SetFocus CmdSellBook.Enabled = True Exit Sub

33、 End If If GetKuCun(TuShuBianHao) = 0 Or GetKuCun(TuShuBianHao) TxtShuLiang.Text Then MsgBox 該類圖書庫(kù)存量不足,請(qǐng)與倉(cāng)庫(kù)管理員聯(lián)系!, vbOKOnly + vbExclamation, 庫(kù)存不足 TxtShuLiang.SetFocus CmdSellBook.Enabled = True Exit Sub End If If TxtZheKou.Text = Then MsgBox 請(qǐng)輸入交易的實(shí)際折扣率!, vbOKOnly + vbExclamation, 填寫折扣 TxtZheKou.Set

34、Focus CmdSellBook.Enabled = True Exit Sub End If If TxtZheKou.Text 1 Then MsgBox 實(shí)際折扣率填寫錯(cuò)誤!請(qǐng)?jiān)?0 與 1 之間選擇., vbOKOnly + vbExclamation, 填寫折扣 TxtZheKou.SetFocus CmdSellBook.Enabled = True Exit Sub End If If TxtSJJinE.Text = Then MsgBox 請(qǐng)輸入交易的實(shí)際金額!, vbOKOnly + vbExclamation, 填寫金額 TxtSJJinE.SetFocus CmdSe

35、llBook.Enabled = True Exit Sub End If If TxtMemo.Text = Then TxtMemo.Text = 無(wú) QD = MsgBox(確定入帳嗎?, vbOKCancel + vbQuestion, 確認(rèn)入帳) If QD = vbCancel Then CmdSellBook.Enabled = True Exit Sub End If 售書入帳 Screen.MousePointer = 11 BeginTrans Adodc1.CommandType = adCmdTable Adodc1.RecordSource = 售書記錄 Adodc1

36、.Refresh Adodc1.Recordset.AddNew Adodc1.Recordset!圖書編號(hào) = TuShuBianHao Adodc1.Recordset!數(shù)量 = TxtShuLiang.Text Adodc1.Recordset!會(huì)員卡號(hào) = HuiYuanKaHao Adodc1.Recordset!實(shí)際打折 = TxtZheKou.Text Adodc1.Recordset!實(shí)收金額 = TxtSJJinE.Text Adodc1.Recordset!日期 = Year(Now) & - & Month(Now) & - & Day(Now) & . Adodc1.R

37、ecordset!備注 = TxtMemo.Text Adodc1.Recordset.Update Adodc1.CommandType = adCmdText Adodc1.RecordSource = select * from Book where 圖書編號(hào)= & TuShuBianHao & Adodc1.Refresh If Adodc1.Recordset.RecordCount 0 Then Adodc1.Recordset.MoveFirst Adodc1.Recordset!庫(kù)存量 = Adodc1.Recordset!庫(kù)存量 - TxtShuLiang.Text Adod

38、c1.Recordset.Update Else Rollback Screen.MousePointer = vbDefault MsgBox 圖書資料丟失,請(qǐng)與倉(cāng)庫(kù)管理員聯(lián)系!, vbOKOnly + vbExclamation, 交易失敗 CmdSellBook.Enabled = True Exit Sub End If If HYShengJi(HuiYuanKaHao) Then Rollback CommitTrans Screen.MousePointer = vbDefault MsgBox 恭喜您,交易成功!, vbOKOnly + vbInformation, 交易成功

39、Unload Me Exit Sub errEnd: Rollback Screen.MousePointer = vbDefault MsgBox Err.Description, vbOKOnly + vbExclamation, 操作數(shù)據(jù)庫(kù)出錯(cuò) 交易失敗 CmdSellBook.Enabled = True End Sub 8.5.3 系統(tǒng)模塊詳解 模塊名:checkGYSID 模塊原型:Public Function checkGYSID(UID As String) As Boolean 代碼: Public Function checkGYSID(UID As String) As

40、 Boolean Dim userDB As Database Dim userRD As Recordset Dim dbName As String Dim STRSQL As String Screen.MousePointer = 11 On Error GoTo errEnd dbName = App.Path If Right(dbName, 1) Then dbName = dbName + dbName = dbName + DataBaseWFSSDataBase.mdb STRSQL = select 圖書分類 from 圖書分類 where 圖書分類號(hào)= & UID &

41、打開數(shù)據(jù)庫(kù) Set userDB = DBEngine.Workspaces(0).OpenDatabase(dbName, False, True) 檢索用戶,驗(yàn)證密碼 Set userRD = userDB.OpenRecordset(STRSQL, dbOpenSnapshot) If userRD.RecordCount 0 Then 關(guān)閉數(shù)據(jù)庫(kù) userRD.Close Set userRD = Nothing userDB.Close Set userDB = Nothing checkGYSID = True Screen.MousePointer = vbDefault Els

42、e 關(guān)閉數(shù)據(jù)庫(kù) userRD.Close Set userRD = Nothing userDB.Close Set userDB = Nothing Screen.MousePointer = vbDefault checkGYSID = False End If Exit Function errEnd: Screen.MousePointer = vbDefault MsgBox Err.Description, vbOKOnly + vbExclamation, 創(chuàng)建類別 Err.Clear 關(guān)閉數(shù)據(jù)庫(kù) userRD.Close Set userRD = Nothing userDB.

43、Close Set userDB = Nothing End Function 模塊名:checkFenLei 模塊原型:Public Function checkFenLei(UID As String) As Boolean 代碼: Public Function checkFenLei(UID As String) As Boolean Dim userDB As Database Dim userRD As Recordset Dim dbName As String Dim STRSQL As String Screen.MousePointer = 11 On Error GoTo

44、 errEnd dbName = App.Path If Right(dbName, 1) Then dbName = dbName + dbName = dbName + DataBaseWFSSDataBase.mdb STRSQL = select 圖書分類 from 圖書分類 where 圖書分類= & UID & 打開數(shù)據(jù)庫(kù) Set userDB = DBEngine.Workspaces(0).OpenDatabase(dbName, False, True) 檢索用戶,驗(yàn)證密碼 Set userRD = userDB.OpenRecordset(STRSQL, dbOpenSna

45、pshot) If userRD.RecordCount 0 Then 關(guān)閉數(shù)據(jù)庫(kù) userRD.Close Set userRD = Nothing userDB.Close Set userDB = Nothing checkFenLei = True Screen.MousePointer = vbDefault Else 關(guān)閉數(shù)據(jù)庫(kù) userRD.Close Set userRD = Nothing userDB.Close Set userDB = Nothing Screen.MousePointer = vbDefault checkFenLei = False End If E

46、xit Function errEnd: Screen.MousePointer = vbDefault MsgBox Err.Description, vbOKOnly + vbExclamation, 創(chuàng)建類別 Err.Clear 關(guān)閉數(shù)據(jù)庫(kù) userRD.Close Set userRD = Nothing userDB.Close Set userDB = Nothing End Function 模塊名:CmdNewFenLei_Click 模塊原型:Private Sub CmdNewFenLei_Click() 代碼: Private Sub CmdNewFenLei_Click

47、() On Error GoTo errEnd If TxtBianHao.Text = Then MsgBox 請(qǐng)?zhí)顚憟D書分類號(hào)!, vbOKOnly + vbExclamation, 創(chuàng)建分類 TxtBianHao.SetFocus Exit Sub End If If TxtLeiBie.Text = Then MsgBox 請(qǐng)?zhí)顚憟D書分類名稱!, vbOKOnly + vbExclamation, 創(chuàng)建分類 TxtLeiBie.SetFocus Exit Sub End If If checkFenLei(TxtLeiBie.Text) Then MsgBox 圖書分類名稱不唯一,請(qǐng)另

48、選一個(gè)!, vbOKOnly + vbExclamation, 創(chuàng)建分類 TxtLeiBie.SetFocus TxtLeiBie.SelStart = 0 TxtLeiBie.SelLength = Len(TxtLeiBie.Text) Exit Sub End If If ComboFuLei.Text And ComboFuLei.Text 選擇父類 Then If Not checkFenLei(ComboFuLei.Text) Then MsgBox 所選父類不存在!請(qǐng)重試!, vbOKOnly + vbExclamation, 選擇父類 ComboFuLei.SetFocus E

49、xit Sub End If Adodc1.CommandType = adCmdText Adodc1.RecordSource = select 圖書分類號(hào) from 圖書分類 where 圖書分類號(hào)=所屬父類編號(hào) and 圖書分類= & ComboFuLei.Text & Adodc1.Refresh Adodc1.Recordset.MoveFirst FuLeiBianHao = Adodc1.Recordset!圖書分類號(hào) End If If checkGYSID(TxtBianHao.Text) Then MsgBox 圖書分類編號(hào)不唯一,請(qǐng)另選一個(gè)!, vbOKOnly + v

50、bExclamation, 創(chuàng)建分類 TxtBianHao.SetFocus TxtBianHao.SelStart = 0 TxtBianHao.SelLength = Len(TxtBianHao.Text) Exit Sub End If If FuLeiBianHao = Then FuLeiBianHao = TxtBianHao.Text Adodc1.CommandType = adCmdTable Adodc1.RecordSource = 圖書分類 Adodc1.Refresh Adodc1.Recordset.AddNew Adodc1.Recordset!圖書分類號(hào) =

51、TxtBianHao.Text Adodc1.Recordset!圖書分類 = TxtLeiBie.Text Adodc1.Recordset!所屬父類編號(hào) = FuLeiBianHao Adodc1.Recordset.Update MsgBox 創(chuàng)建分類成功!, vbOKOnly + vbInformation, 創(chuàng)建分類 TxtBianHao.Text = TxtLeiBie.Text = ComboFuLei.Text = 選擇父類 FuLeiBianHao = TxtFuLei.Text = TxtBianHao.SetFocus Exit Sub errEnd: MsgBox 更新

52、數(shù)據(jù)庫(kù)失敗!, vbOKOnly + vbExclamation, 數(shù)據(jù)庫(kù)出錯(cuò) End Sub 模塊名:checkUserID 模塊原型:Public Function checkUserID(UID As String) As Boolean 代碼: Public Function checkUserID(UID As String) As Boolean Dim userDB As Database Dim userRD As Recordset Dim dbName As String Dim STRSQL As String Screen.MousePointer = 11 On Er

53、ror GoTo errEnd dbName = App.Path If Right(dbName, 1) Then dbName = dbName + dbName = dbName + DataBaseWFSSDataBase.mdb STRSQL = select 用戶身份 from Admin where 用戶 ID= & UID & 打開數(shù)據(jù)庫(kù) Set userDB = DBEngine.Workspaces(0).OpenDatabase(dbName, False, True) 檢索用戶,驗(yàn)證密碼 Set userRD = userDB.OpenRecordset(STRSQL,

54、 dbOpenSnapshot) If userRD.RecordCount 0 Then 關(guān)閉數(shù)據(jù)庫(kù) userRD.Close Set userRD = Nothing userDB.Close Set userDB = Nothing checkUserID = True Screen.MousePointer = vbDefault Else 關(guān)閉數(shù)據(jù)庫(kù) userRD.Close Set userRD = Nothing userDB.Close Set userDB = Nothing Screen.MousePointer = vbDefault checkUserID = Fals

55、e End If Exit Function errEnd: Screen.MousePointer = vbDefault MsgBox Err.Description, vbOKOnly + vbExclamation, 修改密碼 Err.Clear 關(guān)閉數(shù)據(jù)庫(kù) userRD.Close Set userRD = Nothing userDB.Close Set userDB = Nothing End Function 模塊名:CmdChgPass_Click 模塊原型:Private Sub CmdChgPass_Click() 代碼: Private Sub CmdChgPass_C

56、lick() On Error GoTo errEnd If TxtUserID.Text = Then MsgBox 請(qǐng)輸入你的帳號(hào)!, vbOKOnly + vbExclamation, 更改密碼 TxtUserID.SetFocus Exit Sub End If If TxtPasswd.Text = Then MsgBox 請(qǐng)輸入你的舊密碼!, vbOKOnly + vbExclamation, 更改密碼 TxtPasswd.SetFocus Exit Sub End If If TxtNewPasswd.Text = Then MsgBox 請(qǐng)輸入你的新密碼!, vbOKOnly

57、+ vbExclamation, 更改密碼 TxtNewPasswd.SetFocus Exit Sub End If If TxtNewPasswd.Text TxtNewPasswdC.Text Then MsgBox 密碼輸入不一致,請(qǐng)重試!, vbOKOnly + vbExclamation, 更改密碼 TxtPasswd.Text = TxtNewPasswd.Text = TxtNewPasswdC.Text = TxtPasswd.SetFocus Exit Sub End If If checkUserID(TxtUserID.Text) Then Adodc1.Command

58、Type = adCmdText Adodc1.RecordSource = select * from Admin where 用戶密碼= & TxtPasswd.Text & and 用 戶 ID= & TxtUserID.Text & Adodc1.Refresh If Adodc1.Recordset.RecordCount 0 Then Adodc1.Recordset.MoveFirst Adodc1.Recordset!用戶密碼 = TxtNewPasswd.Text Adodc1.Recordset.Update Else MsgBox 用戶密碼驗(yàn)證錯(cuò)誤!你無(wú)權(quán)修改密碼!, v

59、bOKOnly + vbExclamation, 密碼錯(cuò)誤 TxtPasswd.Text = TxtNewPasswd.Text = TxtNewPasswdC.Text = Exit Sub End If MsgBox 用戶密碼修改成功!請(qǐng)牢記!, vbOKOnly + vbInformation, 更改密碼 TxtPasswd.Text = TxtNewPasswd.Text = TxtNewPasswdC.Text = Else MsgBox 該用戶不存在!無(wú)法修改密碼!, vbOKOnly + vbExclamation, 更改密碼 TxtPasswd.Text = TxtNewPas

60、swd.Text = TxtNewPasswdC.Text = End If Exit Sub errEnd: MsgBox Err.Description & vbCrLf & 更改密碼失?。? vbOKOnly + vbExclamation, 操作數(shù)據(jù)庫(kù)出 錯(cuò) End Sub 模塊名:CmdRegMe_Click 模塊原型:Private Sub CmdRegMe_Click() 代碼: Private Sub CmdRegMe_Click() On Error GoTo errEnd If TxtCard.Text = Then MsgBox 請(qǐng)?zhí)顚憜T工帳號(hào)!, vbOKOnly +

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論