版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、Good is good, but better carries it.精益求精,善益求善。個(gè)人理財(cái)分析系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)本科畢業(yè)個(gè)人理財(cái)分析系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)本科畢業(yè)畢業(yè)論文個(gè)人理財(cái)分析系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)Personal Wealth Management System Design and Implementation0摘要本文設(shè)計(jì)的個(gè)人理財(cái)軟件是一款通過對(duì)個(gè)人(家庭)收支、資產(chǎn)及負(fù)債信息進(jìn)行管理,提供財(cái)務(wù)分析報(bào)表的數(shù)據(jù)庫訪問軟件。設(shè)計(jì)按照“面向?qū)ο筌浖こ獭钡囊筮M(jìn)行,采用PowerDesigner對(duì)系統(tǒng)進(jìn)行分析和設(shè)計(jì),用Visualbasic進(jìn)行系統(tǒng)實(shí)現(xiàn)。使用FlexCell、DTPicker、L
2、istbar等高級(jí)控件。創(chuàng)建通用數(shù)據(jù)訪問模塊OperatDataBase.bas。此模塊規(guī)范ADO數(shù)據(jù)訪問流程,只需修改連接字符串即可實(shí)現(xiàn)對(duì)多種不同數(shù)據(jù)庫系統(tǒng)的訪問。通過對(duì)計(jì)算賬戶余額算法的研究,我掌握了利用SQL語句進(jìn)行數(shù)據(jù)庫訪問的技巧。本論文實(shí)現(xiàn)的個(gè)人理財(cái)軟件可完成收支記賬管理、資產(chǎn)、負(fù)債管理、數(shù)據(jù)導(dǎo)出、多賬簿多用戶操作及各種財(cái)務(wù)報(bào)表的自動(dòng)生成。在各種常用Windows操作系統(tǒng)下都可以正常工作,達(dá)到了預(yù)期的設(shè)計(jì)目標(biāo)。關(guān)鍵字:數(shù)據(jù)庫,ADO, Visual Basic,理財(cái)IVPersonal Wealth Management System Design and Implementatio
3、nAbstractThis design is a personal wealth management software through manage the information of a familys income and expenditure, assets and liabilities to provide financial analysis statements and database access software. Designed in accordance with the object-oriented software engineering require
4、ments, uses PowerDesigner to carry on the analysis and the design the system, the system Execution is through Visualbasic. Use FlexCell, DTPicker, Listbar and other High-level controls software. Then founds the general data accessing module: OperatDataBase.bas. This module Standard the Process of AD
5、O data access, only a modification of the connection character string then to realize a visit of many kinds of different databases system. By calculating account balances algorithm research, I have grasped the skill of using the SQLsentence to visit database. In this paper, personal wealth managemen
6、t software to achieve complete revenue expenditure account management, asset-liability management, data derived, and multi-accounts books of operation and the automatic generation of financial statements. It can work commonly under each kind of Windows operating system so it can achieve the anticipa
7、ted design.Key word: Database,ADO, Visual Basic,Personal financing目錄摘要IABSTRACTII目錄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)簡(jiǎn)介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
8、數(shù)據(jù)字典123.6.3 創(chuàng)建表關(guān)系153.6.4 創(chuàng)建查詢16第四章 系統(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.1 OperatDataBase.bas234.2.2 PublicVar.bas234.3 ADO數(shù)據(jù)訪問技術(shù)244.3.1 從 Microsoft Visual Basic 引用 ADO 的步驟244.3.2 在 Visual Basic 中創(chuàng)建 ADO 對(duì)象254.4 FlexCell表格控件254.5 賬套管理284.5.1 選用賬套294.5.2 新建賬套294.5.3
9、刪除賬套304.6 日常收支流水賬314.6.1 信息流覽頁面314.6.2 收支記錄管理界面334.7 年度收支統(tǒng)計(jì)表354.8對(duì)計(jì)算賬戶余額算法的研究364.8.1 用數(shù)據(jù)指針對(duì)數(shù)據(jù)集進(jìn)行處理364.8.2 用SQL函數(shù)對(duì)數(shù)據(jù)集進(jìn)行處理374.8.3 算法比較384.9 對(duì)程序錯(cuò)誤的處理404.9.1 使用On Error Resume Next錯(cuò)誤處理程序404.9.2 使用On Error GoTo錯(cuò)誤處理程序414.9.3 創(chuàng)建統(tǒng)一的錯(cuò)誤處理程序塊41第五章 系統(tǒng)發(fā)布43總結(jié)47致謝48參考文獻(xiàn)49第一章 緒論1.1 什么是個(gè)人(家庭)理財(cái)人的衣、食、住、行離不開錢,我們每天都在自覺
10、或不自覺地運(yùn)用和處理著錢財(cái),這就是個(gè)人(家庭)理財(cái)。 如果,對(duì)個(gè)人理財(cái)下個(gè)確切的定義:個(gè)人理財(cái)就是對(duì)個(gè)人(家庭)的財(cái)務(wù)進(jìn)行科學(xué)的、有計(jì)劃的、系統(tǒng)的全方位管理,以實(shí)現(xiàn)個(gè)人財(cái)產(chǎn)的合理安排、消費(fèi)和使用,有效地增值和保值。簡(jiǎn)單地講個(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)表可以對(duì)自己的財(cái)務(wù)狀況一目了然,也對(duì)我們普通家庭合理安排收支非常有幫
11、助。我們?nèi)粘I钪凶顬橛^注的主要有以下幾方面的報(bào)表:1. 年度收支統(tǒng)計(jì)表:以年為單位按月統(tǒng)計(jì)日常普通收支項(xiàng)目的收支金額及其他活動(dò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ù)情況,讓我們對(duì)自己的財(cái)務(wù)狀況做到心中有數(shù);凈資產(chǎn)的統(tǒng)計(jì),可知道我們是否邁上了正常的理財(cái)之路。1.3 常見個(gè)人理財(cái)軟件分析目前常見的個(gè)人理財(cái)軟件從功能上可以分為兩
12、類:1. 功能單一型軟件:此類軟件功能較少,一般為記生活收支流水賬軟件。軟件設(shè)計(jì)的根本目的是利用計(jì)算機(jī)記賬方式代替原始手工記賬方式。它的優(yōu)點(diǎn)是操作簡(jiǎ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à)格不菲。一款既操作簡(jiǎn)單,又能夠提供準(zhǔn)確、實(shí)用家庭財(cái)務(wù)分析報(bào)表的軟件必將受到廣大個(gè)人(家庭)理財(cái)者的青睞。第56頁 共49頁第二章 系統(tǒng)功
13、能介紹2.1 系統(tǒng)簡(jiǎn)介個(gè)人理財(cái)分析軟件是一套即操作簡(jiǎn)單又能夠提供專業(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ù)活動(dòng)相關(guān)的事件準(zhǔn)確、及時(shí)地記入賬簿。收支記賬是整個(gè)軟件中最常用的功能,也是最重要的功能,它是家庭理財(cái)分析軟件的基礎(chǔ)。3資產(chǎn)管理:資
14、產(chǎn)管理界面可以顯示家庭貴重物品詳細(xì)資料,同時(shí)提供資產(chǎn)現(xiàn)目前的現(xiàn)值情況。4債務(wù)管理:債務(wù)管理界面顯示了所有債務(wù)信息,包括債務(wù)的詳細(xì)資料以及對(duì)債務(wù)進(jìn)行新建、刪除、修改等。5導(dǎo)出:將賬簿中的財(cái)務(wù)數(shù)據(jù)導(dǎo)出成Microsoft Office Excel格式文件。6理財(cái)寶典:理財(cái)寶典是家庭/個(gè)人理財(cái)?shù)闹R(shí)讀本。 講述了投資理財(cái)?shù)幕靖拍睢⒃瓌t、步驟,介紹了現(xiàn)行國內(nèi)主要的投資理財(cái)品種,如儲(chǔ)蓄、貸款、保險(xiǎn)、股票、基金、外匯、債券、房地產(chǎn)、收藏等項(xiàng)目。通過此理財(cái)寶典的學(xué)習(xí),可充分掌握投資理財(cái)?shù)幕靖拍钆c技能,為您家庭財(cái)富保值、增值等提供寶貴的知識(shí)。2.3 系統(tǒng)特點(diǎn)1讓用戶開支井井有條,心中一本明白賬。2債務(wù)借貸
15、功能,誰欠你,你欠誰,一目了然,保障用戶具有良好的信用。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)放在力爭(zhē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)于界面第三章 系統(tǒng)設(shè)計(jì)3.1 系統(tǒng)需求分析需求分
16、析要弄清用戶對(duì)開發(fā)的應(yīng)用系統(tǒng)的確切要求。要設(shè)計(jì)一個(gè)有效的管理信息系統(tǒng),必須用系統(tǒng)工程的觀點(diǎn)來考慮問題。在系統(tǒng)分析階段,設(shè)計(jì)者要收集和分析數(shù)據(jù)管理中信息的內(nèi)容和用戶對(duì)處理的要求。1. 能夠記錄日常生活流水賬。2. 能夠?qū)κ罩ы?xiàng)目及賬戶進(jìn)行編輯管理。3. 實(shí)現(xiàn)負(fù)債、資產(chǎn)管理。4. 對(duì)表格中的數(shù)據(jù)可以按多種條件進(jìn)行排序。5. 可以根據(jù)數(shù)據(jù)庫中相關(guān)記錄生成各種統(tǒng)計(jì)報(bào)表6. 支持多賬套。7. 可以將數(shù)據(jù)導(dǎo)出到其它通用軟件中。3.2 系統(tǒng)性能要求1. 系統(tǒng)安全 、可靠;2. 功能齊全;3. 操作方便、界面友好;4. 易于維護(hù)和擴(kuò)充。3.3 硬件配置要求1. 奔以上的CPU2. 主頻500以上3. 128M
17、B以上的內(nèi)存4. 彩色顯示器(800*600)5. 8M以上顯存6. 10G以上硬盤空間7. 鼠標(biāo)器3.4 軟件開發(fā)所需軟件配置要求1. WINDOWS XP SP2操作系統(tǒng)2. Microsoft Visual Basic 6.0(SP6) 簡(jiǎn)體中文版3. FlexCell 表格控件 (版本:5.6.3)4. Microsoft Office Access 20033.5 系統(tǒng)結(jié)構(gòu)設(shè)計(jì)圖圖3-1 3.6 數(shù)據(jù)庫分析設(shè)計(jì)Access 是微軟公司推出的基于Windows的桌面關(guān)系數(shù)據(jù)庫管理系統(tǒng)(RDBMS),是Office系列應(yīng)用軟件之一。它提供了表、查詢、窗體、報(bào)表、頁、宏、模塊7種用來建立數(shù)
18、據(jù)庫系統(tǒng)的對(duì)象;提供了多種向?qū)?、生成器、模板,把?shù)據(jù)存儲(chǔ)、數(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)系
19、。通過系統(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è)置信息。主鍵(Primary Key)也稱為主關(guān)鍵字,是表中惟一能標(biāo)識(shí)一條記錄的字段,可以是一個(gè)字段或多個(gè)字段的組合。定義主鍵時(shí),先要指定作為主鍵的一個(gè)或多個(gè)字段,如果只選擇一個(gè)字段,可單擊字段所在行的選定按鈕,若需要選擇多個(gè)字段作為主鍵,可先按下Ctrl鍵,再依次單擊這些字段所有行的選定按鈕。指定字段
20、后,可在鼠標(biāo)右鍵菜單中選擇“主鍵”命令,或直接單擊工具欄上的“主鍵”按鈕,即可把該字段設(shè)為表的主鍵。如果主鍵在設(shè)置后發(fā)現(xiàn)不適用或不正確,可以通過“主鍵”按鈕取消原有的主鍵。數(shù)據(jù)表之間的關(guān)聯(lián)是由鍵值匹配來確定的。如果表中的一個(gè)字段是另一個(gè)表的主鍵字段,那么這個(gè)字段在本表中被稱為外鍵(Foreign Key)。1 流水賬表3-2 流水賬編號(hào)字段名稱數(shù)據(jù)類型主鍵/外鍵1編號(hào)COUNTERPK2賬戶編號(hào)INTEGERFK3項(xiàng)目編號(hào)INTEGERFK4交易日期DATETIME5資金CURRENCY6說明VARCHAR(100)2 收支項(xiàng)目表3-3 收支項(xiàng)目編號(hào)字段名稱數(shù)據(jù)類型主鍵/外鍵1項(xiàng)目編號(hào)COUN
21、TERPK2項(xiàng)目名稱VARCHAR(20)3類型BOOLEAN4說明VARCHAR(50)3 賬戶表3-4 賬戶編號(hào)字段名稱數(shù)據(jù)類型主鍵/外鍵1賬戶編號(hào)COUNTERPK2賬戶名稱VARCHAR(100)3開戶金額CURRENCY4賬戶余額CURRENCY5說明VARCHAR(100)4 負(fù)債表3-5 負(fù)債編號(hào)字段名稱數(shù)據(jù)類型主鍵/外鍵1負(fù)債編號(hào)COUNTERPK2負(fù)債名稱VARCHAR(100)3負(fù)債日期DATETIME4賬戶編號(hào)INTEGERFK5債務(wù)金額CURRENCY6嘗還金額CURRENCY7嘗還余額CURRENCY8說明VARCHAR(100)5 還債流水賬表3-6 還債流水賬編號(hào)
22、字段名稱數(shù)據(jù)類型主鍵/外鍵1編號(hào)COUNTERPK2負(fù)債編號(hào)INTEGERFK3賬戶編號(hào)INTEGERFK4還債日期DATETIME5還債金額CURRENCY6說明VARCHAR(100)6 資產(chǎn)表3-7 資產(chǎn)編號(hào)字段名稱數(shù)據(jù)類型主鍵/外鍵1資產(chǎn)編號(hào)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é)
23、調(diào)一致,以便快速地提取信息。如果兩個(gè)表使用了共同的字段,就應(yīng)該為這兩個(gè)表建立一個(gè)關(guān)系,通過表間關(guān)系就可以指出一個(gè)表中的數(shù)據(jù)與另一個(gè)表中數(shù)據(jù)的相關(guān)方式。常見表關(guān)系類型如下:1. 一對(duì)一:一個(gè)表中的每個(gè)記錄只與第二個(gè)表中的一個(gè)記錄匹配。2. 一對(duì)多:一個(gè)表中的每個(gè)記錄與第二個(gè)表中的一個(gè)或多個(gè)記錄匹配,但第二個(gè)表中的每個(gè)記錄只能與第一個(gè)表中的一個(gè)記錄匹配。3. 多對(duì)一:一個(gè)表的多個(gè)記錄與第二個(gè)表中的一個(gè)記錄匹配。4. 多對(duì)多:一個(gè)表中的每個(gè)記錄與第二個(gè)表中的多個(gè)記錄匹配,反之亦然。通過Microsoft Office Access可以得到數(shù)據(jù)庫表關(guān)系圖,如圖3-4所示。所有主表和外鍵表之間的關(guān)系具有
24、如下特征:1. 對(duì)Insert和Update具有強(qiáng)制性。2. 級(jí)聯(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 將在后臺(tái)構(gòu)造等效的 SQL 語句。實(shí)際上,在查詢“設(shè)計(jì)”視圖的屬性表中,大多數(shù)查詢屬性在 SQL 視圖中都有等效的可用子句和選項(xiàng)。如果需要,可以在 SQL 視圖中查看和編輯 SQL 語句。但是,在對(duì) SQL 視圖中的查
25、詢做更改之后,查詢可能無法以以前在“設(shè)計(jì)”視圖中所顯示的方式進(jìn)行顯示。有一些 SQL 查詢,稱為“SQL 特定查詢”,無法在設(shè)計(jì)網(wǎng)格中進(jìn)行創(chuàng)建。對(duì)于傳遞查詢、數(shù)據(jù)定義查詢和聯(lián)合查詢,必須直接在 SQL 視圖中創(chuàng)建 SQL 語句。對(duì)于子查詢,可以在查詢?cè)O(shè)計(jì)網(wǎng)格的“字段”行或“條件”行輸入 SQL 語句。1 負(fù)債查詢?nèi)玈ELECT 負(fù)債.負(fù)債編號(hào), 負(fù)債.負(fù)債名稱, 負(fù)債.賬戶編號(hào), 負(fù)債.債務(wù)金額, 負(fù)債.嘗還金額, 負(fù)債.嘗還余額, 負(fù)債.說明, 賬戶.賬戶名稱, 負(fù)債.負(fù)債日期FROM 賬戶 INNER JOIN 負(fù)債 ON 賬戶.賬戶編號(hào) = 負(fù)債.賬戶編號(hào);2還債流水賬查詢?nèi)玈ELECT
26、 還債流水賬.負(fù)債編號(hào), 還債流水賬.賬戶編號(hào), 還債流水賬.還債日期, 還債流水賬.還債金額, 還債流水賬.說明, 賬戶.賬戶名稱, 負(fù)債.負(fù)債名稱, 還債流水賬.編號(hào), 賬戶.開戶金額, 負(fù)債.負(fù)債日期, 負(fù)債.債務(wù)金額, 負(fù)債.嘗還金額FROM 賬戶 INNER JOIN (負(fù)債 INNER JOIN 還債流水賬 ON 負(fù)債.負(fù)債編號(hào) = 還債流水賬.負(fù)債編號(hào)) ON 賬戶.賬戶編號(hào) = 還債流水賬.賬戶編號(hào);3流水賬查詢?nèi)玈ELECT 流水賬.編號(hào), 流水賬.交易日期, 流水賬.賬戶編號(hào), 流水賬.項(xiàng)目編號(hào), 流水賬.資金, 流水賬.說明, 收支項(xiàng)目.項(xiàng)目名稱, 收支項(xiàng)目.類型, 賬戶
27、.賬戶名稱FROM 賬戶 INNER JOIN (收支項(xiàng)目 INNER JOIN 流水賬 ON 收支項(xiàng)目.項(xiàng)目編號(hào) = 流水賬.項(xiàng)目編號(hào)) ON 賬戶.賬戶編號(hào) = 流水賬.賬戶編號(hào);第四章 系統(tǒng)實(shí)現(xiàn)4.1 系統(tǒng)主界面通過數(shù)據(jù)庫分析設(shè)計(jì),已經(jīng)完成了所有的后臺(tái)工作,現(xiàn)在需要通過Visual Basic來編寫程序。Visual Basic是一種可視化的、面向?qū)ο蠛筒捎檬录?qū)動(dòng)方式的結(jié)構(gòu)化高級(jí)程序設(shè)計(jì)語言,可用于開發(fā)Windows環(huán)境下的各類應(yīng)用程序。Visual 意即可視的、可見的,指的是開發(fā)像windows操作系統(tǒng)的圖形用戶界面(Graphic User Interface,GUI)的方法,它不
28、需要編寫大量代碼去描述界面元素的外觀和位置,只要把預(yù)先建立好的對(duì)象拖放到屏幕上相應(yīng)的位置即可。Basic指的是Beginners all purpose symbolic instruction code 初始者通用符號(hào)指令代碼語言。Visual Basic簡(jiǎn)單易學(xué)、效率高,且功能強(qiáng)大可以與Windowsr專業(yè)開發(fā)工具SDK相媲美。在Visual Basic環(huán)境下,利用事件驅(qū)動(dòng)的編程機(jī)制、新穎易用的可視化設(shè)計(jì)工具,使用Windows內(nèi)部的廣泛應(yīng)用程序接口(API)函數(shù),以用動(dòng)態(tài)鏈接庫(DLL)、對(duì)象的鏈接與世隔嵌入(OLE)、開放式數(shù)據(jù)連接(ODBC)等技術(shù),可以高效、快速地開發(fā)Windows
29、環(huán)境下功能強(qiáng)大、圖形界面豐富的應(yīng)用軟件系統(tǒng)。隨著版本的提高,Visual Basic的功能也越來越強(qiáng)。5.0版以后,Visual Basic推出了中文版,與前個(gè)版本相比,其功能有了很大提升。4.1.1 創(chuàng)建工程項(xiàng)目為了實(shí)現(xiàn)應(yīng)用程序,首先要建立一個(gè)工程。工程是用來構(gòu)建應(yīng)用程序的文件的集合,通常包含如下文件:1. 工程文件(.vbp)2. 窗體文體(.frm)3. 窗體的二進(jìn)制數(shù)據(jù)文件(.frx)4. 類模塊文件(.cls)5. 標(biāo)準(zhǔn)模塊文件(.bas)6. 一個(gè)或多個(gè)包含ActiveX控件的文件(.ocx)7. 單個(gè)資源文件(.res)啟動(dòng)Visual Basic 6.0后,單擊文件新建工程命令
30、,在如圖4-1所示對(duì)話框中選擇VB企業(yè)版控件選項(xiàng),然后單擊確定按鈕。Visual Basic將自動(dòng)創(chuàng)建一個(gè)“工程1”工程項(xiàng)目,包含一個(gè)窗體文件夾和一個(gè)Form1窗體。在項(xiàng)目的屬性面板中將工程的“Name”屬性改為“MMM”,將Form1的“Caption”屬性改為“Manage Money Matters V1.0”。圖4-1 VB新建工程對(duì)話框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)主
31、界面表4-1 主窗體屬性設(shè)置控件屬性屬性值Form1(Form)BorderStyleCaptionMaxButtonMinButtonStartUpPosition1 Fixed SingleManage Money Matters0 False0 False2 屏幕中心WB_listbar1(WB_listbar)MenuCaption1 MenuItemCaption11MenuItemCaption12MenuItemCaption13MenuItemCaption14MenuItemCaption15MenuItemCaption16MenuCaption2 MenuItemCapt
32、ion21MenuItemCaption22MenuItemCaption23MenuItemCaption24MenuCaption3 MenuItemCaption31MenuCaption4 MenuCaption5 MenuItemCaption51MenuCaption6 MenuItemCaption61MenuItemCaption62MenuItemCaption63理財(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)知識(shí)訪問理財(cái)知道網(wǎng)備用功能系統(tǒng)設(shè)置賬套管理關(guān)于訪問作者主頁關(guān)于退出系統(tǒng)StatusBar1
33、(StatusBar)AlignSimpleTextTabIndex2 Align Bottom個(gè)人理財(cái)軟件14.1.3 主窗口菜單右擊WB_listbar1控件,選擇彈出式菜單中的屬性命令,將出現(xiàn)如圖4-3所示的菜單編輯對(duì)話框。圖4-3 菜單編輯對(duì)話框?qū)Σ藛雾?xiàng)操作的代碼如程序4-1所示Private Sub WB_listbar1_MenuItemClick(MenuNumber As Long, MenuItem As Long)Select Case MenuNumber Case 1 Select Case MenuItem Case 1 F11load 調(diào)用出支流水賬管理模塊 Cas
34、e 6 Case 3 Unload Me 結(jié)束程序運(yùn)行End Sub程序4-1 菜單控制代碼4.2 公用模塊在Visual Basic中,可以使用公用模塊來存放整個(gè)項(xiàng)目所需要的公用函數(shù)和全局變量等。通過公用函數(shù)和變量可以極大地提高代碼的利用率。在項(xiàng)目資源管理器中為項(xiàng)目添加一個(gè)模塊,并將其保存為OperatDataBase.bas。4.2.1 OperatDataBase.basOperatDataBase.bas公用模塊主要是用來對(duì)數(shù)據(jù)庫進(jìn)行ADO操作的,包括以下5個(gè)函數(shù):1. GetConnStr() As String函數(shù),返回連接字符串,用來設(shè)置數(shù)據(jù)庫連接字符串。2. OpenConn(
35、ByRef Conn As ADODB.Connection) As Boolean函數(shù),返回布爾值,用來打開數(shù)據(jù)庫連接。3. ExecuteSQL(ByValSQL As String,ByRef msg As String)函數(shù),用來執(zhí)行SQL語句。4. SelectSQL(ByVal SQL As String,ByRef msg As String)As ADODB.Recordset函數(shù),返回Recordset,用來執(zhí)行查詢語句。5. BatchSelectSQL(ByVal SQL As String,ByRef msg As String) As ADODB.Recordset函
36、數(shù),返回Recordset,用來執(zhí)行批處理操作。4.2.2 PublicVar.bas為了實(shí)現(xiàn)全局變量,別外創(chuàng)建一個(gè)全局變量模塊PublicVar.bas,主要有如下內(nèi)容:ConnectionString用來保存數(shù)據(jù)庫連接字符串temP用來保存暫時(shí)傳值變量temp1用來保存全局臨時(shí)變量1temp2用來保存全局臨時(shí)變量2t編號(hào)用來保存流水賬編號(hào)4.3 ADO數(shù)據(jù)訪問技術(shù)ADO (ActiveX Data Objects,ActiveX數(shù)據(jù)對(duì)象)是一個(gè)用于存取數(shù)據(jù)源的COM組件。它提供了編程語言和統(tǒng)一數(shù)據(jù)訪問方式OLE DB的一個(gè)中間層。允許開發(fā)人員編寫訪問數(shù)據(jù)的代碼而不用關(guān)心數(shù)據(jù)庫是如何實(shí)現(xiàn)的,
37、而只用關(guān)心到數(shù)據(jù)庫的連接。是一個(gè)用于存取數(shù)據(jù)源的COM組件。它提供了編程語言和統(tǒng)一數(shù)據(jù)訪問方式OLE DB的一個(gè)中間層。允許開發(fā)人員編寫訪問數(shù)據(jù)的代碼而不用關(guān)心數(shù)據(jù)庫是如何實(shí)現(xiàn)的,而只用關(guān)心到數(shù)據(jù)庫的連接。ADO被設(shè)計(jì)來繼承微軟早期的數(shù)據(jù)訪問對(duì)象層,包括RDO (Remote Data Objects) 和DAO(Data Access Objects)。圖4-4 ADO類模型4.3.1 從 Microsoft Visual Basic 引用 ADO 的步驟 1. 在 Visual Basic 中,從“工程”菜單中選擇“引用”。2. 從列表中選擇“Microsoft ActiveX Data
38、Objects x.x Library”。3. 請(qǐng)驗(yàn)證至少還選擇了下列庫: Visual Basic for ApplicationsVisual Basic runtime objects and proceduresVisual Basic objects and proceduresOLE Automation 4. 單擊“確定”。 圖4-54.3.2 在 Visual Basic 中創(chuàng)建 ADO 對(duì)象在 Dim 中使用 New 關(guān)鍵字,可以只用一個(gè)步驟就完成 ADO 對(duì)象的聲明和實(shí)例化:Dim conn As New ADODB.Connection或者,也可用兩個(gè)步驟來完成 Dim
39、語句聲明和對(duì)象實(shí)例化:Dim conn As ADODB.ConnectionSet conn = New ADODB.Connection4.4 FlexCell表格控件FlexCell是一款靈活、易用的表格和報(bào)表控件,因本系統(tǒng)中多處應(yīng)用此控件,在此對(duì)其功能進(jìn)行簡(jiǎn)單介紹。FlexCell提供了6種單元格類型和6種圖表類型,提供了合并單元格、虛表、打印和打印預(yù)覽等功能,支持剪貼板操作、XML文件的導(dǎo)入和導(dǎo)出,不需要Excel運(yùn)行庫支持就可以導(dǎo)出為Excel WorkBook。軟件包中附帶報(bào)表設(shè)計(jì)器,只需很少的代碼就可以制作出圖文并茂的報(bào)表和程序界面。圖4-6圖4-7主要特點(diǎn):功能全面:Flex
40、Cell提供了非常全面的功能,例如:打開/保存文件、不需要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ù)覽功能,您可以
41、通過PageSetup對(duì)象修改頁面設(shè)置,例如:紙張大小、紙張方向、設(shè)置打印范圍、單色打印、頁邊距、頁眉和頁腳、可以在每一頁都重復(fù)打印的標(biāo)題行和標(biāo)題列。您還可以添加不會(huì)顯示在Grid中的分頁符和報(bào)表標(biāo)題。對(duì)象模型:精心設(shè)計(jì)的對(duì)象模型,可以使程序的條理更加清晰。FlexCell提供了10個(gè)類:Cell、Chart、Column、ComboBox、Image、PageBreak、PageSetup、Range、ReportTitle、Selection。單元格類型:FlexCell提供了6種單元格類型:TextBox、ComboBox、CheckBox、Calendar、Button、HyperLi
42、nk。單元格屬性:FlexCell提供了豐富的單元格屬性,例如:Alignment、BackColor、Border、CellType、Font、ForeColor、Locked、Mask、Printable、Tag、Text、WrapText。單元格Mask:FlexCell提供了多種Mask,如Letter、Upper、Lower、Numeric、Value等,能夠自動(dòng)控制用戶輸入,減少輸入錯(cuò)誤。 內(nèi)置Chart:FlexCell提供了6種類型的圖表:柱狀圖、折線圖、餅圖、3D柱狀圖、3D折線圖、3D餅圖。合并單元格:FlexCell提供了靈活方便的合并單元格功能,操作方式和Excel很相
43、似。支持剪貼板操作: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)ImageHeight ImageWidthUseMaskColor3232True
44、File1(FileListBox)ArchiveCausesValidationPatternReadOnlyTrueTrue*.mdbTrue4.5.1 選用賬套位于個(gè)人理財(cái)分析助手軟件安裝目錄文件夾中的所有賬套均會(huì)在賬套管理界面中顯示出來,選擇要使用的賬套后點(diǎn)擊選用賬套即可打開使用。程序序代碼如程序4-2所示:選用賬套Private Sub Command26_Click() If File1.ListCount 0 Then 如果已從賬套列表中選擇了一個(gè)賬套則將賬套信息寫入注冊(cè)表 將賬套信息寫入注冊(cè)表中 SaveSetting App.EXEName, SETUP, Connectio
45、nString, ListView1.SelectedItem MsgBox 已啟用 & ListView1.SelectedItem & 賬套 Unvisible End IfEnd Sub程序4-2 選用賬套程序代碼4.5.2 新建賬套一個(gè)賬套就是一個(gè)獨(dú)立的數(shù)據(jù)庫文件,根據(jù)不同用戶的需求,建立一個(gè)或多個(gè)賬套。在“新建賬套”后的輸入框里自定義一個(gè)名稱,如:溫馨小家2007,按“確定”按鈕后系統(tǒng)自動(dòng)進(jìn)入該賬套。新建賬簿存放的路徑為軟件安裝目錄文件夾中,文件名為“溫馨小家2004.mdb”。 程序序代碼如程序4-3所示:新建賬套Private Sub Command24_Click()Dim a
46、 As String On Error GoTo ErrorHandler 輸入一個(gè)賬套名稱 a = InputBox(請(qǐng)輸入新賬套名稱:, 新建賬套) If Trim(a) = Or IsNull(a) Then 如果賬套名稱不為空則創(chuàng)建此賬套 MsgBox 新建賬套未成功! Else 通過文件復(fù)制,用賬套模版創(chuàng)建新賬套 FileCopy App.Path & mmm.emp, App.Path & & a & .mdb MsgBox 新建賬套成功! F51load 選用剛新建的賬套為當(dāng)前使用賬套 Command26_Click End If Exit SubErrorHandler: 如出
47、現(xiàn)錯(cuò)誤,顯示錯(cuò)誤信息 Screen.MousePointer = 0 MsgBox Err.Description, vbExclamation, Error Err.ClearEnd Sub程序4-3新建賬套程序代碼4.5.3 刪除賬套本界面上會(huì)列出軟件安裝目錄文件夾中的所有賬套,點(diǎn)擊要?jiǎng)h除的賬套,按刪除按鈕并確認(rèn)即可。當(dāng)刪除成功后系統(tǒng)自動(dòng)選用賬套列表中第一個(gè)賬套為當(dāng)前使用賬套。程序序代碼如程序4-4所示:刪除賬套Private Sub Command25_Click()Dim N1 As Integer On Error GoTo ErrorHandler If ListView1.Lis
48、tItems.Count 0 Then 如果賬套列表中不為空則可進(jìn)行賬套刪除處理 N1 = MsgBox(確認(rèn)是否真的要?jiǎng)h除 & ListView1.SelectedItem & 賬套?, vbOKCancel, 刪除確認(rèn)) If N1 = 1 Then 物理刪除軟件安裝目錄下的賬套文件 Kill App.Path & & ListView1.SelectedItem MsgBox 賬套刪除成功! 涮新賬套列表 F51load 選用賬套列表中第一個(gè)賬套為當(dāng)前使用賬套 Command26_Click Else MsgBox 賬套刪除操作已經(jīng)取消! End If Else MsgBox 無法刪除賬
49、套! End If 涮新賬套列表 F51loadEnd Sub程序4-4刪除賬套程序代碼4.6 日常收支流水賬收支流水賬是對(duì)現(xiàn)金、活期存款、信用卡等賬戶的記賬,把日常收支記錄下來。在理財(cái)信息管理菜單下,點(diǎn)擊收支流水賬即可進(jìn)入。4.6.1 信息流覽頁面顯示每天的收支記錄信息,可實(shí)現(xiàn)按任異字段排序。支持收支流水賬記錄導(dǎo)出。界面所圖4-9所示圖4-9 收支流水賬界面代碼見程序4-5:顯示收支流水賬Function F11load() Frame1.Visible = True Grid1.OpenFile (App.Path & 收支流水賬表.CEL) Grid1.SelectionMode = c
50、ellSelectionByRow 按行選擇 從數(shù)據(jù)庫中讀取數(shù)據(jù)并顯示到Grid中 Call ReadData(SELECT 交易日期,賬戶名稱,項(xiàng)目名稱,編號(hào) AS ID,資金,類型,說明 FROM 流水賬查詢?nèi)?ORDER BY 交易日期,編號(hào) , Grid1) 計(jì)算收/支總額 If Grid1.Rows 2 Then For i = 1 To Grid1.Rows - 1 a = a + Grid1.Cell(i, 5).Text Next i 將收入總款信息顯示在狀態(tài)欄中 Label6.Caption = a a = 0 For i = 1 To Grid1.Rows - 1 a =
51、a + Grid1.Cell(i, 4).Text Next i 將支出總款信息顯示在狀態(tài)欄中 Label7.Caption = a 將收支節(jié)余信息顯示在狀態(tài)欄中 Label8.Caption = Label6.Caption - -(Label7.Caption) End IfEnd Function程序4-5顯示收支流水賬代碼4.6.2 收支記錄管理界面用來對(duì)收支信息進(jìn)行新增、修改、刪除處理。點(diǎn)擊新添收支或在流覽界面上點(diǎn)擊收支記錄,即可進(jìn)入收支記錄管理界面。界面所圖4-10所示:圖4-10收支記錄管理界面表4-3 控件屬性設(shè)置控件屬性屬性值DTPicker1(DTPicker)MaxDateMinD
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(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ǔ)空間,僅對(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年度汽車融資租賃委托擔(dān)保合同匯編3篇
- 鋼廠采購鎳礦合同范例
- 建筑人員安全合同范例
- 山莊合同范例
- 英國留學(xué)押金合同范例
- 日本房產(chǎn)證合同范例
- 陜西航空職業(yè)技術(shù)學(xué)院《人工智能營銷》2023-2024學(xué)年第一學(xué)期期末試卷
- 陜西國防工業(yè)職業(yè)技術(shù)學(xué)院《創(chuàng)作與草圖》2023-2024學(xué)年第一學(xué)期期末試卷
- 陜西工業(yè)職業(yè)技術(shù)學(xué)院《素描人物肖像》2023-2024學(xué)年第一學(xué)期期末試卷
- 多相電機(jī)出售合同范例
- 煤化工未來發(fā)展趨勢(shì)報(bào)告
- 【大單元教學(xué)】Unit 8 單元整體教學(xué)設(shè)計(jì)
- 建筑施工合同管理培訓(xùn)
- GJB9001C內(nèi)部審核檢查表
- 河北省安全生產(chǎn)風(fēng)險(xiǎn)管控與隱患治理規(guī)課件
- 氣管切開非機(jī)械通氣病人氣道護(hù)理課件
- 機(jī)關(guān)檔案管理工作培訓(xùn)課件
- 《衛(wèi)星通信系統(tǒng)》課件
- 電動(dòng)自行車火災(zāi)事故教訓(xùn)警示課件
- 江蘇小高考計(jì)算機(jī)考試題目及答案
- 上海市徐匯區(qū)2023-2024學(xué)年九年級(jí)上學(xué)期一?;瘜W(xué)試題
評(píng)論
0/150
提交評(píng)論