版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
某某某某大學(xué)畢業(yè)論文畢業(yè)論文個(gè)人理財(cái)分析系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)PersonalWealthManagementSystemDesignandImplementation某某某某大學(xué)畢業(yè)論文摘要PAGEI摘要本文設(shè)計(jì)的個(gè)人理財(cái)軟件是一款通過對個(gè)人(家庭)收支、資產(chǎn)及負(fù)債信息進(jìn)行管理,提供財(cái)務(wù)分析報(bào)表的數(shù)據(jù)庫訪問軟件。設(shè)計(jì)按照“面向?qū)ο筌浖こ獭钡囊筮M(jìn)行,采用PowerDesigner對系統(tǒng)進(jìn)行分析和設(shè)計(jì),用Visualbasic進(jìn)行系統(tǒng)實(shí)現(xiàn)。使用FlexCell、DTPicker、Listbar等高級控件。創(chuàng)建通用數(shù)據(jù)訪問模塊OperatDataBase.bas。此模塊規(guī)范ADO數(shù)據(jù)訪問流程,只需修改連接字符串即可實(shí)現(xiàn)對多種不同數(shù)據(jù)庫系統(tǒng)的訪問。通過對計(jì)算賬戶余額算法的研究,我掌握了利用SQL語句進(jìn)行數(shù)據(jù)庫訪問的技巧。本論文實(shí)現(xiàn)的個(gè)人理財(cái)軟件可完成收支記賬管理、資產(chǎn)、負(fù)債管理、數(shù)據(jù)導(dǎo)出、多賬簿多用戶操作及各種財(cái)務(wù)報(bào)表的自動生成。在各種常用Windows操作系統(tǒng)下都可以正常工作,達(dá)到了預(yù)期的設(shè)計(jì)目標(biāo)。關(guān)鍵字:數(shù)據(jù)庫,ADO,VisualBasic,理財(cái)某某某某大學(xué)畢業(yè)論文AbstractPersonalWealthManagementSystemDesignandImplementationAbstractThisdesignisapersonalwealthmanagementsoftwarethroughmanagetheinformationofafamily’sincomeandexpenditure,assetsandliabilitiestoprovidefinancialanalysisstatementsanddatabaseaccesssoftware.Designedinaccordancewiththe"object-orientedsoftwareengineering"requirements,usesPowerDesignertocarryontheanalysisandthedesignthesystem,thesystemExecutionisthroughVisualbasic.UseFlexCell,DTPicker,ListbarandotherHigh-levelcontrolssoftware.Thenfoundsthegeneraldataaccessingmodule:OperatDataBase.bas.ThismoduleStandardtheProcessofADOdataaccess,onlyamodificationoftheconnectioncharacterstringthentorealizeavisitofmanykindsofdifferentdatabasessystem.Bycalculatingaccountbalancesalgorithmresearch,IhavegraspedtheskillofusingtheSQLsentencetovisitdatabase.Inthispaper,personalwealthmanagementsoftwaretoachievecompleterevenueexpenditureaccountmanagement,asset-liabilitymanagement,dataderived,andmulti-accountsbooksofoperationandtheautomaticgenerationoffinancialstatements.ItcanworkcommonlyundereachkindofWindowsoperatingsystemsoitcanachievetheanticipateddesign.Keyword:Database,ADO,VisualBasic,Personalfinancing某某某某大學(xué)畢業(yè)論文目錄目錄TOC\o"1-3"\u摘要 IAbstract II目錄 III第一章緒論 11.1什么是個(gè)人(家庭)理財(cái) 11.2個(gè)人理財(cái)分析中最重要的四份財(cái)務(wù)報(bào)表 11.3常見個(gè)人理財(cái)軟件分析 2第二章系統(tǒng)功能介紹 32.1系統(tǒng)簡介 32.2系統(tǒng)主要功能 32.3系統(tǒng)特點(diǎn) 42.4系統(tǒng)運(yùn)行界面 4第三章系統(tǒng)設(shè)計(jì) 73.1系統(tǒng)需求分析 73.2系統(tǒng)性能要求 73.3硬件配置要求 73.4軟件開發(fā)所需軟件配置要求 83.5系統(tǒng)結(jié)構(gòu)設(shè)計(jì)圖 93.6數(shù)據(jù)庫分析設(shè)計(jì) 93.6.1系統(tǒng)E-R圖 113.6.2數(shù)據(jù)字典 123.6.3創(chuàng)建表關(guān)系 143.6.4創(chuàng)建查詢 15第四章系統(tǒng)實(shí)現(xiàn) 184.1系統(tǒng)主界面 184.1.1創(chuàng)建工程項(xiàng)目 184.1.2創(chuàng)建系統(tǒng)主窗體 194.1.3主窗口菜單 214.2公用模塊 234.2.1OperatDataBase.bas 234.2.2PublicVar.bas 234.3ADO數(shù)據(jù)訪問技術(shù) 244.3.1從MicrosoftVisualBasic引用ADO的步驟 244.3.2在VisualBasic中創(chuàng)建ADO對象 254.4FlexCell表格控件 254.5賬套管理 284.5.1選用賬套 294.5.2新建賬套 294.5.3刪除賬套 304.6日常收支流水賬 314.6.1信息流覽頁面 314.6.2收支記錄管理界面 334.7年度收支統(tǒng)計(jì)表 354.8對計(jì)算賬戶余額算法的研究 364.8.1用數(shù)據(jù)指針對數(shù)據(jù)集進(jìn)行處理 364.8.2用SQL函數(shù)對數(shù)據(jù)集進(jìn)行處理 374.8.3算法比較 384.9對程序錯(cuò)誤的處理 404.9.1使用OnErrorResumeNext錯(cuò)誤處理程序 404.9.2使用OnErrorGoTo錯(cuò)誤處理程序 414.9.3創(chuàng)建統(tǒng)一的錯(cuò)誤處理程序塊 41第五章系統(tǒng)發(fā)布 43總結(jié) 47致謝 48參考文獻(xiàn) 49某某某某大學(xué)畢業(yè)論文第一章緒論第49頁共49頁第一章緒論1.1什么是個(gè)人(家庭)理財(cái)人的衣、食、住、行離不開錢,我們每天都在自覺或不自覺地運(yùn)用和處理著錢財(cái),這就是個(gè)人(家庭)理財(cái)。如果,對個(gè)人理財(cái)下個(gè)確切的定義:個(gè)人理財(cái)就是對個(gè)人(家庭)的財(cái)務(wù)進(jìn)行科學(xué)的、有計(jì)劃的、系統(tǒng)的全方位管理,以實(shí)現(xiàn)個(gè)人財(cái)產(chǎn)的合理安排、消費(fèi)和使用,有效地增值和保值。簡單地講個(gè)人理財(cái)就是管理好自己的錢財(cái)。有人說:花一分時(shí)間去賺錢,但要花兩分時(shí)間去理財(cái)。其實(shí)這句話中無非包含兩層意思:第一,理財(cái)重要;第二,理財(cái)困難。而我設(shè)計(jì)這個(gè)個(gè)人理財(cái)分析軟件的目標(biāo)也就是要幫助我們把這件重要的事做好。1.2個(gè)人理財(cái)分析中最重要的四份財(cái)務(wù)報(bào)表現(xiàn)代人的投資面越來越廣,收入也五花八門。通過制作家庭財(cái)務(wù)報(bào)表可以對自己的財(cái)務(wù)狀況一目了然,也對我們普通家庭合理安排收支非常有幫助。我們?nèi)粘I钪凶顬橛^注的主要有以下幾方面的報(bào)表:1.年度收支統(tǒng)計(jì)表:以年為單位按月統(tǒng)計(jì)日常普通收支項(xiàng)目的收支金額及其他活動的收、支詳情,以便我們從微觀到宏觀地了解資金來源和支出在各時(shí)期的分布情況。2.資金流量表:按賬戶或收支項(xiàng)目統(tǒng)計(jì)指定時(shí)間范圍內(nèi)的現(xiàn)金流入、流出等各類消費(fèi)收支的詳細(xì)情況。3.資產(chǎn)負(fù)債表:用于計(jì)算用戶所擁有的總資產(chǎn)、債務(wù)及凈資產(chǎn)額,了解家庭真實(shí)情況。通過這些報(bào)表我們可以了解到:日常的收支情況,現(xiàn)在總體的資產(chǎn)、債務(wù)情況,讓我們對自己的財(cái)務(wù)狀況做到心中有數(shù);凈資產(chǎn)的統(tǒng)計(jì),可知道我們是否邁上了正常的理財(cái)之路。1.3常見個(gè)人理財(cái)軟件分析目前常見的個(gè)人理財(cái)軟件從功能上可以分為兩類:1.功能單一型軟件:此類軟件功能較少,一般為記生活收支流水賬軟件。軟件設(shè)計(jì)的根本目的是利用計(jì)算機(jī)記賬方式代替原始手工記賬方式。它的優(yōu)點(diǎn)是操作簡單,容易上手。主要缺點(diǎn)是此類軟件無法提供真正意義上的理財(cái)分析報(bào)表,只能算是記賬軟件算不上理財(cái)分析軟件。2.功能復(fù)雜型軟件:此類軟件為了全面、完整地解決個(gè)人理財(cái)分析問題,便利功能繁多、操作復(fù)雜。它的優(yōu)點(diǎn)是能夠提供完整的理財(cái)分析報(bào)表。缺點(diǎn)是由于操作界面專業(yè)導(dǎo)致用戶不易上手使用,感覺操作復(fù)雜繁瑣,且往往此類軟件本身就價(jià)格不菲。一款既操作簡單,又能夠提供準(zhǔn)確、實(shí)用家庭財(cái)務(wù)分析報(bào)表的軟件必將受到廣大個(gè)人(家庭)理財(cái)者的青睞。某某某某大學(xué)畢業(yè)論文第二章系統(tǒng)功能介紹第二章系統(tǒng)功能介紹2.1系統(tǒng)簡介個(gè)人理財(cái)分析軟件是一套即操作簡單又能夠提供專業(yè)理財(cái)報(bào)表的個(gè)人(家庭)理財(cái)分析工具軟件,適合中國現(xiàn)代家庭。它能全面管理所有資產(chǎn)與負(fù)債,跟蹤家庭經(jīng)濟(jì)狀況的變化,為用戶合理配置家庭資產(chǎn)、達(dá)到保值增值的目的、以及最終實(shí)現(xiàn)財(cái)富的最大化提供幫助。2.2系統(tǒng)主要功能1.多賬套多用戶:可管理多套賬簿。每套賬簿是一個(gè)獨(dú)立的數(shù)據(jù)庫文件,賬簿之間互不影響;軟件可供多用戶使用而互不干擾,適應(yīng)家庭中的每個(gè)成員的不同需求。2.收支記賬:收支記賬是把日常收入、支出等所有與財(cái)務(wù)活動相關(guān)的事件準(zhǔn)確、及時(shí)地記入賬簿。收支記賬是整個(gè)軟件中最常用的功能,也是最重要的功能,它是家庭理財(cái)分析軟件的基礎(chǔ)。3.資產(chǎn)管理:資產(chǎn)管理界面可以顯示家庭貴重物品詳細(xì)資料,同時(shí)提供資產(chǎn)現(xiàn)目前的現(xiàn)值情況。4.債務(wù)管理:債務(wù)管理界面顯示了所有債務(wù)信息,包括債務(wù)的詳細(xì)資料以及對債務(wù)進(jìn)行新建、刪除、修改等。5.導(dǎo)出:將賬簿中的財(cái)務(wù)數(shù)據(jù)導(dǎo)出成MicrosoftOfficeExcel格式文件。6.理財(cái)寶典:理財(cái)寶典是家庭/個(gè)人理財(cái)?shù)闹R讀本。講述了投資理財(cái)?shù)幕靖拍?、原則、步驟,介紹了現(xiàn)行國內(nèi)主要的投資理財(cái)品種,如儲蓄、貸款、保險(xiǎn)、股票、基金、外匯、債券、房地產(chǎn)、收藏等項(xiàng)目。通過此理財(cái)寶典的學(xué)習(xí),可充分掌握投資理財(cái)?shù)幕靖拍钆c技能,為您家庭財(cái)富保值、增值等提供寶貴的知識。2.3系統(tǒng)特點(diǎn)1.讓用戶開支井井有條,心中一本明白賬。2.債務(wù)借貸功能,誰欠你,你欠誰,一目了然,保障用戶具有良好的信用。3.注意高消費(fèi)項(xiàng)目:可以輕松發(fā)現(xiàn)高消費(fèi)項(xiàng)目。適當(dāng)控制它們,將是我們減少開支的重要手段。4.頻繁消費(fèi)項(xiàng)目:也許這些項(xiàng)目每次消費(fèi)金額不算高,但考慮其頻繁的消費(fèi)次數(shù)后,其累計(jì)金額也是較為可觀的,發(fā)現(xiàn)這類項(xiàng)目用戶應(yīng)放在力爭減少每次消費(fèi)額,日積月累就能為用戶節(jié)省一大筆開銷。5.通過軟件生成的多種統(tǒng)計(jì)報(bào)表,讓用戶清楚的了解自已賬戶余額、資產(chǎn)、債務(wù)項(xiàng)目,收支情況,當(dāng)我們聚積了財(cái)富的時(shí)候,用戶可以通過這些統(tǒng)計(jì)報(bào)表享受成功感。2.4系統(tǒng)運(yùn)行界面圖2-1歡迎界面圖2-2收支流水賬圖2-3資產(chǎn)負(fù)債表圖2-4關(guān)于界面某某某某大學(xué)畢業(yè)論文第三章系統(tǒng)設(shè)計(jì)某某某某大學(xué)畢業(yè)論文第三章系統(tǒng)設(shè)計(jì)第三章系統(tǒng)設(shè)計(jì)3.1系統(tǒng)需求分析需求分析要弄清用戶對開發(fā)的應(yīng)用系統(tǒng)的確切要求。要設(shè)計(jì)一個(gè)有效的管理信息系統(tǒng),必須用系統(tǒng)工程的觀點(diǎn)來考慮問題。在系統(tǒng)分析階段,設(shè)計(jì)者要收集和分析數(shù)據(jù)管理中信息的內(nèi)容和用戶對處理的要求。能夠記錄日常生活流水賬。能夠?qū)κ罩ы?xiàng)目及賬戶進(jìn)行編輯管理。實(shí)現(xiàn)負(fù)債、資產(chǎn)管理。對表格中的數(shù)據(jù)可以按多種條件進(jìn)行排序。可以根據(jù)數(shù)據(jù)庫中相關(guān)記錄生成各種統(tǒng)計(jì)報(bào)表支持多賬套。可以將數(shù)據(jù)導(dǎo)出到其它通用軟件中。3.2系統(tǒng)性能要求系統(tǒng)安全、可靠;功能齊全;操作方便、界面友好;易于維護(hù)和擴(kuò)充。3.3硬件配置要求奔Ш以上的CPU主頻500以上128MB以上的內(nèi)存彩色顯示器(800*600)8M以上顯存10G以上硬盤空間鼠標(biāo)器3.4軟件開發(fā)所需軟件配置要求WINDOWSXPSP2操作系統(tǒng)MicrosoftVisualBasic6.0(SP6)簡體中文版FlexCell表格控件(版本:5.6.3)MicrosoftOfficeAccess20033.5系統(tǒng)結(jié)構(gòu)設(shè)計(jì)圖圖3-13.6數(shù)據(jù)庫分析設(shè)計(jì)Access是微軟公司推出的基于Windows的桌面關(guān)系數(shù)據(jù)庫管理系統(tǒng)(RDBMS),是Office系列應(yīng)用軟件之一。它提供了表、查詢、窗體、報(bào)表、頁、宏、模塊7種用來建立數(shù)據(jù)庫系統(tǒng)的對象;提供了多種向?qū)?、生成器、模板,把?shù)據(jù)存儲、數(shù)據(jù)查詢、界面設(shè)計(jì)、報(bào)表生成等操作規(guī)范化;為建立功能完善的數(shù)據(jù)庫管理系統(tǒng)提供了方便,也使得普通用戶不必編寫代碼,就可以完成大部分?jǐn)?shù)據(jù)管理的任務(wù)。Access是一種關(guān)系型數(shù)據(jù)庫管理系統(tǒng)。圖3-2根據(jù)系統(tǒng)需要分析,系統(tǒng)需要建立6個(gè)表,其用途說明如表3-1所示:表3-1數(shù)據(jù)表及其用途ID數(shù)據(jù)表名稱數(shù)據(jù)表用途1流水賬保存日常生活流水賬信息2收支項(xiàng)目保存收支項(xiàng)目信息3賬戶保存賬戶信息4負(fù)債保存負(fù)債項(xiàng)目信息5還債流水賬保存還債記錄信息6資產(chǎn)保存資產(chǎn)購入價(jià)格及現(xiàn)值信息3.6.1系統(tǒng)E-R圖系統(tǒng)E-R圖是一種信息模型圖,體現(xiàn)了系統(tǒng)實(shí)體之間的關(guān)系。通過系統(tǒng)需要分析,得到了系統(tǒng)的分解功能以及數(shù)據(jù)流程。根據(jù)這些實(shí)體和實(shí)體之間的關(guān)系,可以得到系統(tǒng)E-R圖,如圖3-3所示.圖3-3系統(tǒng)E-R圖3.6.2數(shù)據(jù)字典表3-2到表3-7給出了6個(gè)數(shù)據(jù)表(流水賬、收支項(xiàng)目、賬戶、負(fù)債、還債流水賬、資產(chǎn))的具體描述,包括字段名稱、數(shù)據(jù)類型和主鍵/外鍵設(shè)置信息。主鍵(PrimaryKey)也稱為主關(guān)鍵字,是表中惟一能標(biāo)識一條記錄的字段,可以是一個(gè)字段或多個(gè)字段的組合。定義主鍵時(shí),先要指定作為主鍵的一個(gè)或多個(gè)字段,如果只選擇一個(gè)字段,可單擊字段所在行的選定按鈕,若需要選擇多個(gè)字段作為主鍵,可先按下Ctrl鍵,再依次單擊這些字段所有行的選定按鈕。指定字段后,可在鼠標(biāo)右鍵菜單中選擇“主鍵”命令,或直接單擊工具欄上的“主鍵”按鈕,即可把該字段設(shè)為表的主鍵。如果主鍵在設(shè)置后發(fā)現(xiàn)不適用或不正確,可以通過“主鍵”按鈕取消原有的主鍵。數(shù)據(jù)表之間的關(guān)聯(lián)是由鍵值匹配來確定的。如果表中的一個(gè)字段是另一個(gè)表的主鍵字段,那么這個(gè)字段在本表中被稱為外鍵(ForeignKey)。1流水賬表3-2流水賬編號字段名稱數(shù)據(jù)類型主鍵/外鍵1編號COUNTERPK2賬戶編號INTEGERFK3項(xiàng)目編號INTEGERFK4交易日期DATETIME5資金CURRENCY6說明VARCHAR(100)2收支項(xiàng)目表3-3收支項(xiàng)目編號字段名稱數(shù)據(jù)類型主鍵/外鍵1項(xiàng)目編號COUNTERPK2項(xiàng)目名稱VARCHAR(20)3類型BOOLEAN4說明VARCHAR(50)3賬戶表3-4賬戶編號字段名稱數(shù)據(jù)類型主鍵/外鍵1賬戶編號COUNTERPK2賬戶名稱VARCHAR(100)3開戶金額CURRENCY4賬戶余額CURRENCY5說明VARCHAR(100)4負(fù)債表3-5負(fù)債編號字段名稱數(shù)據(jù)類型主鍵/外鍵1負(fù)債編號COUNTERPK2負(fù)債名稱VARCHAR(100)3負(fù)債日期DATETIME4賬戶編號INTEGERFK5債務(wù)金額CURRENCY6嘗還金額CURRENCY7嘗還余額CURRENCY8說明VARCHAR(100)5還債流水賬表3-6還債流水賬編號字段名稱數(shù)據(jù)類型主鍵/外鍵1編號COUNTERPK2負(fù)債編號INTEGERFK3賬戶編號INTEGERFK4還債日期DATETIME5還債金額CURRENCY6說明VARCHAR(100)6資產(chǎn)表3-7資產(chǎn)編號字段名稱數(shù)據(jù)類型主鍵/外鍵1資產(chǎn)編號COUNTERPK2資產(chǎn)名稱VARCHAR(100)3購入價(jià)值CURRENCY4現(xiàn)值CURRENCY5說明VARCHAR(100)3.6.3創(chuàng)建表關(guān)系所謂的關(guān)系,指的是兩個(gè)表中都有一個(gè)相同的數(shù)據(jù)類型、大小的字段,利用這個(gè)字段建立兩個(gè)表之間的關(guān)系。通過這種表之間的關(guān)聯(lián)性,可以將數(shù)據(jù)庫中的多個(gè)表聯(lián)結(jié)成一個(gè)有機(jī)的整體。關(guān)系的主要作用是使多個(gè)表中的字段協(xié)調(diào)一致,以便快速地提取信息。如果兩個(gè)表使用了共同的字段,就應(yīng)該為這兩個(gè)表建立一個(gè)關(guān)系,通過表間關(guān)系就可以指出一個(gè)表中的數(shù)據(jù)與另一個(gè)表中數(shù)據(jù)的相關(guān)方式。常見表關(guān)系類型如下:一對一:一個(gè)表中的每個(gè)記錄只與第二個(gè)表中的一個(gè)記錄匹配。一對多:一個(gè)表中的每個(gè)記錄與第二個(gè)表中的一個(gè)或多個(gè)記錄匹配,但第二個(gè)表中的每個(gè)記錄只能與第一個(gè)表中的一個(gè)記錄匹配。多對一:一個(gè)表的多個(gè)記錄與第二個(gè)表中的一個(gè)記錄匹配。多對多:一個(gè)表中的每個(gè)記錄與第二個(gè)表中的多個(gè)記錄匹配,反之亦然。通過MicrosoftOfficeAccess可以得到數(shù)據(jù)庫表關(guān)系圖,如圖3-4所示。所有主表和外鍵表之間的關(guān)系具有如下特征:對Insert和Update具有強(qiáng)制性。級聯(lián)刪除相關(guān)的記錄。圖3-4數(shù)據(jù)庫表關(guān)系3.6.4創(chuàng)建查詢使用查詢可以按照不同的方式查看、更改和分析數(shù)據(jù)。也可以用查詢作為窗體、報(bào)表和數(shù)據(jù)訪問頁的記錄源。使用SQL語句創(chuàng)建的查詢??梢杂媒Y(jié)構(gòu)化查詢語言(SQL)來查詢、更新和管理Access這樣的關(guān)系數(shù)據(jù)庫。在查詢“設(shè)計(jì)”視圖中創(chuàng)建查詢時(shí),Access將在后臺構(gòu)造等效的SQL語句。實(shí)際上,在查詢“設(shè)計(jì)”視圖的屬性表中,大多數(shù)查詢屬性在SQL視圖中都有等效的可用子句和選項(xiàng)。如果需要,可以在SQL視圖中查看和編輯SQL語句。但是,在對SQL視圖中的查詢做更改之后,查詢可能無法以以前在“設(shè)計(jì)”視圖中所顯示的方式進(jìn)行顯示。有一些SQL查詢,稱為“SQL特定查詢”,無法在設(shè)計(jì)網(wǎng)格中進(jìn)行創(chuàng)建。對于傳遞查詢、數(shù)據(jù)定義查詢和聯(lián)合查詢,必須直接在SQL視圖中創(chuàng)建SQL語句。對于子查詢,可以在查詢設(shè)計(jì)網(wǎng)格的“字段”行或“條件”行輸入SQL語句。1負(fù)債查詢?nèi)玈ELECT負(fù)債.負(fù)債編號,負(fù)債.負(fù)債名稱,負(fù)債.賬戶編號,負(fù)債.債務(wù)金額,負(fù)債.嘗還金額,負(fù)債.嘗還余額,負(fù)債.說明,賬戶.賬戶名稱,負(fù)債.負(fù)債日期FROM賬戶INNERJOIN負(fù)債ON賬戶.賬戶編號=負(fù)債.賬戶編號;2還債流水賬查詢?nèi)玈ELECT還債流水賬.負(fù)債編號,還債流水賬.賬戶編號,還債流水賬.還債日期,還債流水賬.還債金額,還債流水賬.說明,賬戶.賬戶名稱,負(fù)債.負(fù)債名稱,還債流水賬.編號,賬戶.開戶金額,負(fù)債.負(fù)債日期,負(fù)債.債務(wù)金額,負(fù)債.嘗還金額FROM賬戶INNERJOIN(負(fù)債INNERJOIN還債流水賬ON負(fù)債.負(fù)債編號=還債流水賬.負(fù)債編號)ON賬戶.賬戶編號=還債流水賬.賬戶編號;3流水賬查詢?nèi)玈ELECT流水賬.編號,流水賬.交易日期,流水賬.賬戶編號,流水賬.項(xiàng)目編號,流水賬.資金,流水賬.說明,收支項(xiàng)目.項(xiàng)目名稱,收支項(xiàng)目.類型,賬戶.賬戶名稱FROM賬戶INNERJOIN(收支項(xiàng)目INNERJOIN流水賬ON收支項(xiàng)目.項(xiàng)目編號=流水賬.項(xiàng)目編號)ON賬戶.賬戶編號=流水賬.賬戶編號;某某某某大學(xué)畢業(yè)論文第四章系統(tǒng)實(shí)現(xiàn)第四章系統(tǒng)實(shí)現(xiàn)4.1系統(tǒng)主界面通過數(shù)據(jù)庫分析設(shè)計(jì),已經(jīng)完成了所有的后臺工作,現(xiàn)在需要通過VisualBasic來編寫程序。VisualBasic是一種可視化的、面向?qū)ο蠛筒捎檬录?qū)動方式的結(jié)構(gòu)化高級程序設(shè)計(jì)語言,可用于開發(fā)Windows環(huán)境下的各類應(yīng)用程序。Visual意即可視的、可見的,指的是開發(fā)像windows操作系統(tǒng)的圖形用戶界面(GraphicUserInterface,GUI)的方法,它不需要編寫大量代碼去描述界面元素的外觀和位置,只要把預(yù)先建立好的對象拖放到屏幕上相應(yīng)的位置即可。Basic指的是Beginnersallpurposesymbolicinstructioncode初始者通用符號指令代碼語言。VisualBasic簡單易學(xué)、效率高,且功能強(qiáng)大可以與Windowsr專業(yè)開發(fā)工具SDK相媲美。在VisualBasic環(huán)境下,利用事件驅(qū)動的編程機(jī)制、新穎易用的可視化設(shè)計(jì)工具,使用Windows內(nèi)部的廣泛應(yīng)用程序接口(API)函數(shù),以用動態(tài)鏈接庫(DLL)、對象的鏈接與世隔嵌入(OLE)、開放式數(shù)據(jù)連接(ODBC)等技術(shù),可以高效、快速地開發(fā)Windows環(huán)境下功能強(qiáng)大、圖形界面豐富的應(yīng)用軟件系統(tǒng)。隨著版本的提高,VisualBasic的功能也越來越強(qiáng)。5.0版以后,VisualBasic推出了中文版,與前個(gè)版本相比,其功能有了很大提升。4.1.1創(chuàng)建工程項(xiàng)目為了實(shí)現(xiàn)應(yīng)用程序,首先要建立一個(gè)工程。工程是用來構(gòu)建應(yīng)用程序的文件的集合,通常包含如下文件:工程文件(.vbp)窗體文體(.frm)窗體的二進(jìn)制數(shù)據(jù)文件(.frx)類模塊文件(.cls)標(biāo)準(zhǔn)模塊文件(.bas)一個(gè)或多個(gè)包含ActiveX控件的文件(.ocx)單個(gè)資源文件(.res)啟動VisualBasic6.0后,單擊[文件]→[新建工程]命令,在如圖4-1所示對話框中選擇[VB企業(yè)版控件]選項(xiàng),然后單擊[確定]按鈕。VisualBasic將自動創(chuàng)建一個(gè)“工程1”工程項(xiàng)目,包含一個(gè)窗體文件夾和一個(gè)Form1窗體。在項(xiàng)目的[屬性]面板中將工程的“Name”屬性改為“MMM”,將Form1的“Caption”屬性改為“ManageMoneyMattersV1.0”圖4-1VB[新建工程]對話框4.1.2創(chuàng)建系統(tǒng)主窗體在創(chuàng)建工程項(xiàng)目,已經(jīng)創(chuàng)建了一個(gè)“Form1”窗體文件,將它直接作為主窗體文件。系統(tǒng)主窗體的界面如圖4-2所示。在窗體上添加一個(gè)WB_listbar控件,用于調(diào)用系統(tǒng)各個(gè)功能模塊。其主要控件的屬性如表4-1所示。圖4-2系統(tǒng)主界面表4-1主窗體屬性設(shè)置控件屬性屬性值Form1(Form)BorderStyleCaptionMaxButtonMinButtonStartUpPosition1'FixedSingleManageMoneyMatters0'False0'False2'屏幕中心WB_listbar1(WB_listbar)MenuCaption1MenuItemCaption11MenuItemCaption12MenuItemCaption13MenuItemCaption14MenuItemCaption15MenuItemCaption16MenuCaption2MenuItemCaption21MenuItemCaption22MenuItemCaption23MenuItemCaption24MenuCaption3MenuItemCaption31MenuCaption4MenuCaption5MenuItemCaption51MenuCaption6MenuItemCaption61MenuItemCaption62MenuItemCaption63"理財(cái)信息管理""收支流水賬""賬戶一覽""收支項(xiàng)目""資產(chǎn)""負(fù)債""還債流水賬""統(tǒng)計(jì)報(bào)表""年度收支統(tǒng)計(jì)表""按賬戶現(xiàn)金流量表""按項(xiàng)目現(xiàn)金流量表""資產(chǎn)負(fù)債表""理財(cái)知識""訪問理財(cái)知道網(wǎng)""備用功能""系統(tǒng)設(shè)置""賬套管理""關(guān)于""訪問作者主頁""關(guān)于""退出系統(tǒng)"StatusBar1(StatusBar)AlignSimpleTextTabIndex2'AlignBottom"個(gè)人理財(cái)軟件"14.1.3主窗口菜單右擊WB_listbar1控件,選擇彈出式菜單中的[屬性]命令,將出現(xiàn)如圖4-3所示的菜單編輯對話框。圖4-3菜單編輯對話框?qū)Σ藛雾?xiàng)操作的代碼如程序4-1所示PrivateSubWB_listbar1_MenuItemClick(MenuNumberAsLong,MenuItemAsLong)SelectCaseMenuNumberCase1SelectCaseMenuItemCase1F11load'調(diào)用出支流水賬管理模塊 ……Case6 ……Case3UnloadMe'結(jié)束程序運(yùn)行EndSub程序4-1菜單控制代碼4.2公用模塊在VisualBasic中,可以使用公用模塊來存放整個(gè)項(xiàng)目所需要的公用函數(shù)和全局變量等。通過公用函數(shù)和變量可以極大地提高代碼的利用率。在項(xiàng)目資源管理器中為項(xiàng)目添加一個(gè)模塊,并將其保存為OperatDataBase.bas。4.2.1OperatDataBase.basOperatDataBase.bas公用模塊主要是用來對數(shù)據(jù)庫進(jìn)行ADO操作的,包括以下5個(gè)函數(shù):GetConnStr()AsString函數(shù),返回連接字符串,用來設(shè)置數(shù)據(jù)庫連接字符串。OpenConn(ByRefConnAsADODB.Connection)AsBoolean函數(shù),返回布爾值,用來打開數(shù)據(jù)庫連接。ExecuteSQL(ByValSQLAsString,ByRefmsgAsString)函數(shù),用來執(zhí)行SQL語句。SelectSQL(ByValSQLAsString,ByRefmsgAsString)AsADODB.Recordset函數(shù),返回Recordset,用來執(zhí)行查詢語句。BatchSelectSQL(ByValSQLAsString,ByRefmsgAsString)AsADODB.Recordset函數(shù),返回Recordset,用來執(zhí)行批處理操作。4.2.2PublicVar.bas為了實(shí)現(xiàn)全局變量,別外創(chuàng)建一個(gè)全局變量模塊PublicVar.bas,主要有如下內(nèi)容:ConnectionString 用來保存數(shù)據(jù)庫連接字符串temP 用來保存暫時(shí)傳值變量temp1 用來保存全局臨時(shí)變量1temp2 用來保存全局臨時(shí)變量2t編號 用來保存流水賬編號4.3ADO數(shù)據(jù)訪問技術(shù)ADO(ActiveXDataObjects,ActiveX數(shù)據(jù)對象)是一個(gè)用于存取數(shù)據(jù)源的COM組件。它提供了編程語言和統(tǒng)一數(shù)據(jù)訪問方式OLEDB的一個(gè)中間層。允許開發(fā)人員編寫訪問數(shù)據(jù)的代碼而不用關(guān)心數(shù)據(jù)庫是如何實(shí)現(xiàn)的,而只用關(guān)心到數(shù)據(jù)庫的連接。是一個(gè)用于存取數(shù)據(jù)源的COM組件。它提供了編程語言和統(tǒng)一數(shù)據(jù)訪問方式OLEDB的一個(gè)中間層。允許開發(fā)人員編寫訪問數(shù)據(jù)的代碼而不用關(guān)心數(shù)據(jù)庫是如何實(shí)現(xiàn)的,而只用關(guān)心到數(shù)據(jù)庫的連接。ADO被設(shè)計(jì)來繼承微軟早期的數(shù)據(jù)訪問對象層,包括RDO(RemoteDataObjects)和DAO(DataAccessObjects)。圖4-4ADO類模型4.3.1從MicrosoftVisualBasic引用ADO的步驟在VisualBasic中,從“工程”菜單中選擇“引用”。從列表中選擇“MicrosoftActiveXDataObjectsx.xLibrary”。請驗(yàn)證至少還選擇了下列庫:VisualBasicforApplicationsVisualBasicruntimeobjectsandproceduresVisualBasicobjectsandproceduresOLEAutomation單擊“確定”。圖4-54.3.2在VisualBasic中創(chuàng)建ADO對象在Dim中使用New關(guān)鍵字,可以只用一個(gè)步驟就完成ADO對象的聲明和實(shí)例化:DimconnAsNewADODB.Connection或者,也可用兩個(gè)步驟來完成Dim語句聲明和對象實(shí)例化:DimconnAsADODB.ConnectionSetconn=NewADODB.Connection4.4FlexCell表格控件FlexCell是一款靈活、易用的表格和報(bào)表控件,因本系統(tǒng)中多處應(yīng)用此控件,在此對其功能進(jìn)行簡單介紹。FlexCell提供了6種單元格類型和6種圖表類型,提供了合并單元格、虛表、打印和打印預(yù)覽等功能,支持剪貼板操作、XML文件的導(dǎo)入和導(dǎo)出,不需要Excel運(yùn)行庫支持就可以導(dǎo)出為ExcelWorkBook。軟件包中附帶報(bào)表設(shè)計(jì)器,只需很少的代碼就可以制作出圖文并茂的報(bào)表和程序界面。圖4-6圖4-7主要特點(diǎn):功能全面:FlexCell提供了非常全面的功能,例如:打開/保存文件、不需要Excel運(yùn)行庫的支持直接導(dǎo)出Excel、導(dǎo)出CSV、導(dǎo)出HTML、導(dǎo)出/導(dǎo)入XML、打印、打印預(yù)覽、凍結(jié)行列、排序、添加Chart、合并單元格、虛表模式、OwnerDraw模式。表格設(shè)計(jì)器:FlexCell表格設(shè)計(jì)器是一個(gè)獨(dú)立的工具,開發(fā)人員可以使用它來制作表格模板,然后將表格保存為.cel文件,也可以導(dǎo)出成XML文件,然后可以在程序運(yùn)行時(shí)使用OpenFile方法或LoadFromXML方法加載表格模板。這樣做可以極大地減少編程人員的工作量,使用少量代碼即可設(shè)計(jì)出復(fù)雜的表格。打印方便:FlexCell提供了方便的打印和預(yù)覽功能,您可以通過PageSetup對象修改頁面設(shè)置,例如:紙張大小、紙張方向、設(shè)置打印范圍、單色打印、頁邊距、頁眉和頁腳、可以在每一頁都重復(fù)打印的標(biāo)題行和標(biāo)題列。您還可以添加不會顯示在Grid中的分頁符和報(bào)表標(biāo)題。對象模型:精心設(shè)計(jì)的對象模型,可以使程序的條理更加清晰。FlexCell提供了10個(gè)類:Cell、Chart、Column、ComboBox、Image、PageBreak、PageSetup、Range、ReportTitle、Selection。單元格類型:FlexCell提供了6種單元格類型:TextBox、ComboBox、CheckBox、Calendar、Button、HyperLink。單元格屬性:FlexCell提供了豐富的單元格屬性,例如:Alignment、BackColor、Border、CellType、Font、ForeColor、Locked、Mask、Printable、Tag、Text、WrapText。單元格Mask:FlexCell提供了多種Mask,如Letter、Upper、Lower、Numeric、Value等,能夠自動控制用戶輸入,減少輸入錯(cuò)誤。內(nèi)置Chart:FlexCell提供了6種類型的圖表:柱狀圖、折線圖、餅圖、3D柱狀圖、3D折線圖、3D餅圖。合并單元格:FlexCell提供了靈活方便的合并單元格功能,操作方式和Excel很相似。支持剪貼板操作:FlexCell支持剪貼板操作,可以自由復(fù)制、剪切、粘貼單元格內(nèi)容和格式,可以和Excel、Notepad等軟件互相復(fù)制、粘貼文本。4.5賬套管理用于新建賬套或打開、刪除已存在的賬套文件。單擊菜單“系統(tǒng)設(shè)置賬套管理”進(jìn)入,如圖4-8所示:圖4-8賬套管理界面表4-2控件屬性設(shè)置控件屬性屬性值ListView1(ListView)AllowColumnreorderCheckboxesArrangeFalseFalse1'lvwAutoLeftImageList1(ImageList)ImageHeightImageWidthUseMaskColor3232TrueFile1(FileListBox)ArchiveCausesValidationPatternReadOnlyTrueTrue*.mdbTrue4.5.1選用賬套位于個(gè)人理財(cái)分析助手軟件安裝目錄文件夾中的所有賬套均會在賬套管理界面中顯示出來,選擇要使用的賬套后點(diǎn)擊[選用賬套]即可打開使用。程序序代碼如程序4-2所示:'選用賬套PrivateSubCommand26_Click()IfFile1.ListCount<>0Then'如果已從賬套列表中選擇了一個(gè)賬套則將賬套信息寫入注冊表''將賬套信息寫入注冊表中SaveSettingApp.EXEName,"SETUP","ConnectionString",ListView1.SelectedItemMsgBox"已啟用"&ListView1.SelectedItem&"賬套"UnvisibleEndIfEndSub程序4-2選用賬套程序代碼4.5.2新建賬套一個(gè)賬套就是一個(gè)獨(dú)立的數(shù)據(jù)庫文件,根據(jù)不同用戶的需求,建立一個(gè)或多個(gè)賬套。在“新建賬套”后的輸入框里自定義一個(gè)名稱,如:溫馨小家2007,按“確定”按鈕后系統(tǒng)自動進(jìn)入該賬套。新建賬簿存放的路徑為軟件安裝目錄文件夾中,文件名為“溫馨小家2004.mdb”。程序序代碼如程序4-3所示:'新建賬套PrivateSubCommand24_Click()DimaAsStringOnErrorGoToErrorHandler'輸入一個(gè)賬套名稱a=InputBox("請輸入新賬套名稱:","新建賬套")IfTrim(a)=""OrIsNull(a)Then'如果賬套名稱不為空則創(chuàng)建此賬套MsgBox"新建賬套未成功!"Else'通過文件復(fù)制,用賬套模版創(chuàng)建新賬套FileCopyApp.Path&"\mmm.emp",App.Path&"\"&a&".mdb"MsgBox"新建賬套成功!"F51load'選用剛新建的賬套為當(dāng)前使用賬套Command26_ClickEndIfExitSubErrorHandler:'如出現(xiàn)錯(cuò)誤,顯示錯(cuò)誤信息Screen.MousePointer=0MsgBoxErr.Description,vbExclamation,"Error"Err.ClearEndSub程序4-3新建賬套程序代碼4.5.3刪除賬套本界面上會列出軟件安裝目錄文件夾中的所有賬套,點(diǎn)擊要刪除的賬套,按[刪除]按鈕并確認(rèn)即可。當(dāng)刪除成功后系統(tǒng)自動選用賬套列表中第一個(gè)賬套為當(dāng)前使用賬套。程序序代碼如程序4-4所示:'刪除賬套PrivateSubCommand25_Click()DimN1AsIntegerOnErrorGoToErrorHandlerIfListView1.ListItems.Count>0Then'如果賬套列表中不為空則可進(jìn)行賬套刪除處理N1=MsgBox("確認(rèn)是否真的要刪除"&ListView1.SelectedItem&"賬套?",vbOKCancel,"刪除確認(rèn)")IfN1=1Then'物理刪除軟件安裝目錄下的賬套文件KillApp.Path&"\"&ListView1.SelectedItemMsgBox"賬套刪除成功!"'涮新賬套列表F51load'選用賬套列表中第一個(gè)賬套為當(dāng)前使用賬套Command26_ClickElseMsgBox"賬套刪除操作已經(jīng)取消!"EndIfElseMsgBox"無法刪除賬套!"EndIf'涮新賬套列表F51loadEndSub程序4-4刪除賬套程序代碼4.6日常收支流水賬收支流水賬是對現(xiàn)金、活期存款、信用卡等賬戶的記賬,把日常收支記錄下來。在[理財(cái)信息管理]菜單下,點(diǎn)擊[收支流水賬]即可進(jìn)入。4.6.1信息流覽頁面顯示每天的收支記錄信息,可實(shí)現(xiàn)按任異字段排序。支持收支流水賬記錄導(dǎo)出。界面所圖4-9所示圖4-9收支流水賬界面代碼見程序4-5:'顯示收支流水賬FunctionF11load()Frame1.Visible=TrueGrid1.OpenFile(App.Path&"\收支流水賬表.CEL")Grid1.SelectionMode=cellSelectionByRow'按行選擇'從數(shù)據(jù)庫中讀取數(shù)據(jù)并顯示到Grid中CallReadData("SELECT交易日期,賬戶名稱,項(xiàng)目名稱,編號ASID,資金,類型,說明FROM流水賬查詢?nèi)玂RDERBY交易日期,編號",Grid1)'計(jì)算收/支總額IfGrid1.Rows>2ThenFori=1ToGrid1.Rows-1a=a+Grid1.Cell(i,5).TextNexti'將收入總款信息顯示在狀態(tài)欄中Label6.Caption=aa=0Fori=1ToGrid1.Rows-1a=a+Grid1.Cell(i,4).TextNexti'將支出總款信息顯示在狀態(tài)欄中Label7.Caption=a'將收支節(jié)余信息顯示在狀態(tài)欄中Label8.Caption=Label6.Caption--(Label7.Caption)EndIfEndFunction程序4-5顯示收支流水賬代碼4.6.2收支記錄管理界面用來對收支信息進(jìn)行新增、修改、刪除處理。點(diǎn)擊[新添收支]或在流覽界面上點(diǎn)擊收支記錄,即可進(jìn)入收支記錄管理界面。界面所圖4-10所示:圖4-10收支記錄管理界面表4-3控件屬性設(shè)置控件屬性屬性值DTPicker1(DTPicker)MaxDateMinDateFormat9999-12-311601-01-011dtpShortDateGrid1(Grid)AllowUserResizingAllowUserSortFixedRowColStyTrueFalse1Fixed3DText1(Text)AlignmentMaxLengthMultiLine1RightJustify0False核心代碼見程序4-6:PrivateSubForm_Load()'設(shè)置Grid的各種屬性,設(shè)置各個(gè)列的格式Ift編號=0Then '數(shù)據(jù)單元清空初始化Else'從數(shù)據(jù)庫中讀取數(shù)據(jù)'從記錄集中取得數(shù)據(jù),并填充Setrs=NothingEndIfEndSub''函數(shù):ReadData()'返回值:True--操作成功'False--失敗'PrivateFunctionReadData(ByValstrsqlAsString,ByRefgGridAsGrid)AsBooleanEndFunction''函數(shù):SaveData()'返回值:True--操作成功'False--失敗'PublicFunctionSaveData()AsBooleanEndFunction程序4-6收支記錄管理模塊核心代碼4.7年度收支統(tǒng)計(jì)表按月統(tǒng)計(jì)日常收支項(xiàng)目的收入、支出詳情,以便我們從微觀到宏觀地了解資金來源和支出在各時(shí)期的分布情況。點(diǎn)擊菜單[統(tǒng)計(jì)報(bào)表][年度收支統(tǒng)計(jì)表]進(jìn)入。界面所圖4-11所示:圖4-11年度收支統(tǒng)計(jì)表算法見程序4-7:'///////年度統(tǒng)計(jì)Grid3.OpenFile(App.Path&"\年度收支統(tǒng)計(jì)表.CEL")i支出=0strsql="SELECT項(xiàng)目編號,項(xiàng)目名稱FROM收支項(xiàng)目WHERE類型=TRUEORDERBY項(xiàng)目編號"Setrs項(xiàng)目=SelectSQL(strsql,msg)Screen.MousePointer=11'處理收入''計(jì)算收入全年''''處理借代收入''''計(jì)算借代收入的全年值'''計(jì)算收入小計(jì)'''處理支出''計(jì)算支出全年''處理還債支出''計(jì)算還債支出全年值''計(jì)算支出小計(jì)''計(jì)算合計(jì)EndSub程序4-7年度收支統(tǒng)計(jì)表描述算法4.8對計(jì)算賬戶余額算法的研究算法(Algorithm)是解題的步驟,可以把算法定義成解一確定類問題的任意一種特殊的方法。在計(jì)算機(jī)科學(xué)中,算法要用計(jì)算機(jī)算法語言描述,算法代表用計(jì)算機(jī)解一類問題的精確、有效的方法。算法+數(shù)據(jù)結(jié)構(gòu)=程序,求解一個(gè)給定的可計(jì)算或可解的問題,不同的人可以編寫出不同的程序,來解決同一個(gè)問題,這里存在兩個(gè)問題:一是與計(jì)算方法密切相關(guān)的算法問題;二是程序設(shè)計(jì)的技術(shù)問題。算法和程序之間存在密切的關(guān)系。本程序通過對收支流水賬、負(fù)債及還債流水賬記錄信息的計(jì)算可以求得賬戶余額。使用不通的算法雖然可以得到相同的結(jié)果,但是處理速度及對數(shù)據(jù)庫的訪問次數(shù)上卻有很大區(qū)別。我在開發(fā)過程中嘗試了兩種不同的計(jì)算方法。4.8.1用數(shù)據(jù)指針對數(shù)據(jù)集進(jìn)行處理應(yīng)用數(shù)據(jù)指針rs.MoveNext對數(shù)據(jù)集中的記錄逐一進(jìn)行求和處理。源程序如圖4-12所示:圖4-12處理賬戶余額(算法1)4.8.2用SQL函數(shù)對數(shù)據(jù)集進(jìn)行處理常見的SQL數(shù)值函數(shù)有COUNT(計(jì)數(shù))、MIN(求最小值)、MAX(求最大值)、AVG(求平均值)和SUM(求總和)。本軟件中應(yīng)用到SUM(求總和)函數(shù)對收支流水賬、負(fù)債及還債流水賬記錄信息進(jìn)行計(jì)算求得賬戶余額。代碼見圖4-13所示:圖4-13處理賬戶余額(算法2)4.8.3算法比較將兩種算法分別在Pentium4(P4)和Pentium3(P3)計(jì)算機(jī)上進(jìn)行了算法測試。在每臺計(jì)算機(jī)上分別訪問空數(shù)據(jù)庫,1千條記錄數(shù)據(jù)庫和1萬條記錄數(shù)據(jù)庫,求得訪問時(shí)間平均值。結(jié)果見表4-4及圖4-14表4-4算法測試結(jié)果空數(shù)據(jù)庫1千條記錄1萬條記錄P42.4GHzP3633MHzP42.4GHzP3633MHzP42.4GHzP3633MHz算法10.22s0.28s7.33s45.50s59.6s372.39s算法20.05s0.07s0.28s1.33s0.30s1.42s圖4-14算法執(zhí)行時(shí)間比較算法1執(zhí)行時(shí)間隨數(shù)據(jù)量增加而成線性增加。算法2執(zhí)行時(shí)間受數(shù)據(jù)量大小影響很小。算法1執(zhí)行時(shí)間受計(jì)算機(jī)CPU處理速度限制,CPU數(shù)據(jù)處理速度快,算法1執(zhí)行速度相對較快。算法2執(zhí)行時(shí)間受CPU處理速度影響很小。算法1訪問數(shù)據(jù)庫次數(shù)=數(shù)據(jù)庫記錄條件;算法2訪問數(shù)據(jù)庫次數(shù)=4所以,用SQL函數(shù)對數(shù)據(jù)集進(jìn)行處理(算法2)計(jì)算方法具有處理速度快,對計(jì)算機(jī)配置要求低,訪問數(shù)據(jù)庫次數(shù)固定等特點(diǎn)。具有很高的實(shí)際應(yīng)用價(jià)值。4.9對程序錯(cuò)誤的處理計(jì)劃工作做得再周密,也無法避免代碼出現(xiàn)錯(cuò)誤。應(yīng)該盡量避免錯(cuò)誤。實(shí)際上可能出現(xiàn)的程序錯(cuò)誤數(shù)量是很大的,但是它們基本上可能分為兩種類型:一種是編譯錯(cuò)誤,另一種是運(yùn)行期錯(cuò)誤。編譯錯(cuò)誤是指使用VisualBasic的編譯器無法對代碼進(jìn)行編譯的錯(cuò)誤。運(yùn)行期錯(cuò)誤是在程序運(yùn)行時(shí)產(chǎn)生的,通常是試圖對變量執(zhí)行無效操作而產(chǎn)生的結(jié)果。圖4-15錯(cuò)誤提示4.9.1使用OnErrorResumeNext錯(cuò)誤處理程序?qū)﹀e(cuò)誤進(jìn)行處理的最簡單的方法是使用OnErrorResumeNext語句。OnErrorResumeNext語句規(guī)定,代碼中的錯(cuò)誤將完全被忽略,存在錯(cuò)誤的代碼行被跳過,然后繼續(xù)執(zhí)行下一個(gè)語句。使用OnErrorResumeNext語句捕獲預(yù)料之中的錯(cuò)誤。4.9.2使用OnErrorGoTo錯(cuò)誤處理程序當(dāng)一個(gè)過程中出現(xiàn)了意料之外的錯(cuò)誤時(shí),該過程就會產(chǎn)生許多問題。如果忽略該錯(cuò)誤,就會對用戶產(chǎn)生嚴(yán)重的影響,比如數(shù)據(jù)沒有保存或者保存不正確。許多情況下,當(dāng)出現(xiàn)代碼錯(cuò)誤時(shí),必須執(zhí)行某些操作,將代碼的執(zhí)行轉(zhuǎn)移到OnErrorGoTo語句中指定的錯(cuò)誤處理程序。使用OnErrorGoTo語句捕獲意料之外的錯(cuò)誤。4.9.3創(chuàng)建統(tǒng)一的錯(cuò)誤處理程序塊高質(zhì)量的錯(cuò)誤處理程序塊可以提高程序的安全、穩(wěn)定性,并且可以提高對軟件的開發(fā)效率。使用錯(cuò)誤處理程序時(shí),很重要的一個(gè)問題是要使用統(tǒng)一的錯(cuò)誤處理程序塊。本程序中基本錯(cuò)誤處理程序塊如程序5.7.3-1所示:OnErrorGoToErrorHandler…….ExitSubErrorHandler:'如出現(xiàn)錯(cuò)誤,顯示錯(cuò)誤信息Screen.MousePointer=0MsgBoxErr.Description,vbExclamation,"Error"Err.ClearEndSub程序4-8基本錯(cuò)誤處理程序塊帶數(shù)據(jù)庫操作的錯(cuò)誤處理程序塊如程序5.7.3-2所示:OnErrorGoToErrorHandler…….ExitSubFinally_Exit:'程序結(jié)束的時(shí)候進(jìn)行數(shù)據(jù)庫對象銷毀工作…….ExitFunctionErrorHandle:'如果SQL語句執(zhí)行出錯(cuò),則提示出錯(cuò)信息并轉(zhuǎn)到Finally_Exitmsgstring="查詢錯(cuò)誤:"&_Err.DescriptionMsgBoxmsgstringResumeFinally_ExitEndFunction程序4-9帶數(shù)據(jù)庫操作的錯(cuò)誤處理程序塊某某某某大學(xué)畢業(yè)論文第五章系統(tǒng)發(fā)布第五章系統(tǒng)發(fā)布使用[應(yīng)用程序安裝向?qū)進(jìn)行打包和發(fā)布。[應(yīng)用程序安裝向?qū)又叫做[打包和展開向?qū),是隨VB一起發(fā)布的一個(gè)實(shí)用工具軟件。它主要完成以下幾方面的任務(wù):自動搜索指定工程所依賴的所有文件。允許用戶添加工程中附加的文件。自動壓縮所有需要安裝的文件。為用戶建立一個(gè)安裝程序和一個(gè)用戶卸載的程序。提供程序發(fā)布功能。在“開始”菜單中選擇“程序>Vis
溫馨提示
- 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2022年大學(xué)輕工紡織食品專業(yè)大學(xué)物理下冊期末考試試題A卷-含答案
- 石河子大學(xué)《中學(xué)歷史課程標(biāo)準(zhǔn)與教材分析》2022-2023學(xué)年第一學(xué)期期末試卷
- 石河子大學(xué)《遙感數(shù)字圖像處理》2023-2024學(xué)年第一學(xué)期期末試卷
- 一抹紅的詩句
- 石河子大學(xué)《習(xí)近平總書記關(guān)于教育的重要論述研究》2023-2024學(xué)年第一學(xué)期期末試卷
- 石河子大學(xué)《生藥學(xué)實(shí)驗(yàn)》2021-2022學(xué)年第一學(xué)期期末試卷
- 石河子大學(xué)《基礎(chǔ)素描》2023-2024學(xué)年第一學(xué)期期末試卷
- 沈陽理工大學(xué)《專業(yè)創(chuàng)新課程-嵌入式計(jì)算機(jī)產(chǎn)品案例》2023-2024學(xué)年期末試卷
- 沈陽理工大學(xué)《信號與系統(tǒng)》2021-2022學(xué)年第一學(xué)期期末試卷
- 沈陽理工大學(xué)《人工智能實(shí)例與應(yīng)用》2023-2024學(xué)年期末試卷
- 一年級體質(zhì)健康數(shù)據(jù)
- 八年級物理(上)期中考試分析與教學(xué)反思
- 國家開放大學(xué)《財(cái)政與金融(農(nóng))》形考任務(wù)1-4參考答案
- 2023銀行網(wǎng)點(diǎn)年度工作總結(jié)
- 工廠反騷擾虐待強(qiáng)迫歧視政策
- 計(jì)算機(jī)教室(微機(jī)室)學(xué)生上機(jī)使用記錄
- Photoshop(PS)教學(xué)課件:第6章調(diào)色
- FAI首件檢驗(yàn)報(bào)告
- 生活滿意度量表(SWLS)
- 冪函數(shù)評課稿
- 能你也能:IPD產(chǎn)品管理實(shí)踐
評論
0/150
提交評論