個人理財分析系統(tǒng)設(shè)計與實現(xiàn)本科畢業(yè)論文_第1頁
個人理財分析系統(tǒng)設(shè)計與實現(xiàn)本科畢業(yè)論文_第2頁
個人理財分析系統(tǒng)設(shè)計與實現(xiàn)本科畢業(yè)論文_第3頁
個人理財分析系統(tǒng)設(shè)計與實現(xiàn)本科畢業(yè)論文_第4頁
個人理財分析系統(tǒng)設(shè)計與實現(xiàn)本科畢業(yè)論文_第5頁
已閱讀5頁,還剩49頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、畢業(yè)論文畢業(yè)論文 個人理財分析系統(tǒng)設(shè)計與個人理財分析系統(tǒng)設(shè)計與實現(xiàn)實現(xiàn) personal wealth management system design and implementation 摘要摘要 本文設(shè)計的個人理財軟件是一款通過對個人(家庭)收支、資產(chǎn)及負債 信息進行管理,提供財務(wù)分析報表的數(shù)據(jù)庫訪問軟件。 設(shè)計按照“面向?qū)ο筌浖こ獭钡囊筮M行,采用 powerdesigner 對系 統(tǒng)進行分析和設(shè)計,用 visualbasic 進行系統(tǒng)實現(xiàn)。使用 flexcell、dtpicker、listbar 等高級控件。創(chuàng)建通用數(shù)據(jù)訪問模塊 operatdatabase.bas。此模塊規(guī)范 a

2、do 數(shù)據(jù)訪問流程,只需修改連接字符串 即可實現(xiàn)對多種不同數(shù)據(jù)庫系統(tǒng)的訪問。通過對計算賬戶余額算法的研究, 我掌握了利用 sql 語句進行數(shù)據(jù)庫訪問的技巧。 本論文實現(xiàn)的個人理財軟件可完成收支記賬管理、資產(chǎn)、負債管理、數(shù) 據(jù)導出、多賬簿多用戶操作及各種財務(wù)報表的自動生成。在各種常用 windows 操作系統(tǒng)下都可以正常工作,達到了預期的設(shè)計目標。 關(guān)鍵字:關(guān)鍵字:數(shù)據(jù)庫,ado, visual basic,理財 personal wealth management system design and implementation abstract this design is a person

3、al 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 requirements, uses powerdesigner to car

4、ry 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 ado data access, only a modificati

5、on 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 management software to achieve complete r

6、evenue 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 anticipated design. key word: database,a

7、do, visual basic,personal financing 目錄目錄 摘要摘要.i abstract.ii 目錄目錄.iii 第一章第一章 緒論緒論.1 1.1 什么是個人(家庭)理財.1 1.2 個人理財分析中最重要的四份財務(wù)報表.1 1.3 常見個人理財軟件分析.2 第二章第二章 系統(tǒng)功能介紹系統(tǒng)功能介紹.3 2.1 系統(tǒng)簡介.3 2.2 系統(tǒng)主要功能.3 2.3 系統(tǒng)特點.4 2.4 系統(tǒng)運行界面.4 第三章第三章 系統(tǒng)設(shè)計系統(tǒng)設(shè)計.7 3.1 系統(tǒng)需求分析.7 3.2 系統(tǒng)性能要求.7 3.3 硬件配置要求.7 3.4 軟件開發(fā)所需軟件配置要求.8 3.5 系統(tǒng)結(jié)構(gòu)設(shè)計圖.

8、9 3.6 數(shù)據(jù)庫分析設(shè)計.9 3.6.1 系統(tǒng) e-r 圖.11 3.6.2 數(shù)據(jù)字典.12 3.6.3 創(chuàng)建表關(guān)系.14 3.6.4 創(chuàng)建查詢.15 第四章第四章 系統(tǒng)實現(xiàn)系統(tǒng)實現(xiàn).18 4.1 系統(tǒng)主界面.18 4.1.1 創(chuàng)建工程項目.18 4.1.2 創(chuàng)建系統(tǒng)主窗體.19 4.1.3 主窗口菜單.21 4.2 公用模塊.23 4.2.1 operatdatabase.bas.23 4.2.2 publicvar.bas.23 4.3 ado 數(shù)據(jù)訪問技術(shù).24 4.3.1 從 microsoft visual basic 引用 ado 的步驟.24 4.3.2 在 visual ba

9、sic 中創(chuàng)建 ado 對象.25 4.4 flexcell表格控件.25 4.5 賬套管理.28 4.5.1 選用賬套.29 4.5.2 新建賬套.29 4.5.3 刪除賬套.30 4.6 日常收支流水賬.31 4.6.1 信息流覽頁面.31 4.6.2 收支記錄管理界面.33 4.7 年度收支統(tǒng)計表.35 4.8 對計算賬戶余額算法的研究.36 4.8.1 用數(shù)據(jù)指針對數(shù)據(jù)集進行處理.36 4.8.2 用 sql 函數(shù)對數(shù)據(jù)集進行處理.37 4.8.3 算法比較.38 4.9 對程序錯誤的處理.40 4.9.1 使用 on error resume next 錯誤處理程序.40 4.9.2

10、 使用 on error goto 錯誤處理程序.41 4.9.3 創(chuàng)建統(tǒng)一的錯誤處理程序塊.41 第五章第五章 系統(tǒng)發(fā)布系統(tǒng)發(fā)布.43 總結(jié)總結(jié).47 致謝致謝.48 參考文獻參考文獻.49 第一章第一章 緒論緒論 1.1 什么是個人什么是個人(家庭家庭)理財理財 人的衣、食、住、行離不開錢,我們每天都在自覺或不自覺地運用和處 理著錢財,這就是個人(家庭)理財。 如果,對個人理財下個確切的定義:個人理財就是對個人(家庭)的財 務(wù)進行科學的、有計劃的、系統(tǒng)的全方位管理,以實現(xiàn)個人財產(chǎn)的合理安排、 消費和使用,有效地增值和保值。簡單地講個人理財就是管理好自己的錢財。 有人說:花一分時間去賺錢,但

11、要花兩分時間去理財。其實這句話中無 非包含兩層意思:第一,理財重要;第二,理財困難。而我設(shè)計這個個人理 財分析軟件的目標也就是要幫助我們把這件重要的事做好。 1.2 個人理財分析中最重要的四份財務(wù)報表個人理財分析中最重要的四份財務(wù)報表 現(xiàn)代人的投資面越來越廣,收入也五花八門。通過制作家庭財務(wù)報表可 以對自己的財務(wù)狀況一目了然,也對我們普通家庭合理安排收支非常有幫助。 我們?nèi)粘I钪凶顬橛^注的主要有以下幾方面的報表: 1. 年度收支統(tǒng)計表:以年為單位按月統(tǒng)計日常普通收支項目的收支金額 及其他活動的收、支詳情,以便我們從微觀到宏觀地了解資金來源和支出在 各時期的分布情況。 2. 資金流量表:按賬戶

12、或收支項目統(tǒng)計指定時間范圍內(nèi)的現(xiàn)金流入、流 出等各類消費收支的詳細情況。 3. 資產(chǎn)負債表:用于計算用戶所擁有的總資產(chǎn)、債務(wù)及凈資產(chǎn)額,了解 家庭真實情況。 通過這些報表我們可以了解到:日常的收支情況,現(xiàn)在總體的資產(chǎn)、債 務(wù)情況,讓我們對自己的財務(wù)狀況做到心中有數(shù);凈資產(chǎn)的統(tǒng)計,可知道我 們是否邁上了正常的理財之路。 1.3 常見個人理財軟件分析常見個人理財軟件分析 目前常見的個人理財軟件從功能上可以分為兩類: 1. 功能單一型軟件:此類軟件功能較少,一般為記生活收支流水賬軟件。 軟件設(shè)計的根本目的是利用計算機記賬方式代替原始手工記賬方式。它的優(yōu) 點是操作簡單,容易上手。主要缺點是此類軟件無法

13、提供真正意義上的理財 分析報表,只能算是記賬軟件算不上理財分析軟件。 2. 功能復雜型軟件:此類軟件為了全面、完整地解決個人理財分析問題, 便利功能繁多、操作復雜。它的優(yōu)點是能夠提供完整的理財分析報表。缺點 是由于操作界面專業(yè)導致用戶不易上手使用,感覺操作復雜繁瑣,且往往此 類軟件本身就價格不菲。 一款既操作簡單,又能夠提供準確、實用家庭財務(wù)分析報表的軟件必將 受到廣大個人(家庭)理財者的青睞。 第二章第二章 系統(tǒng)功能介紹系統(tǒng)功能介紹 2.1 系統(tǒng)簡介系統(tǒng)簡介 個人理財分析軟件是一套即操作簡單又能夠提供專業(yè)理財報表的個人 (家庭)理財分析工具軟件,適合中國現(xiàn)代家庭。它能全面管理所有資產(chǎn)與 負債

14、,跟蹤家庭經(jīng)濟狀況的變化,為用戶合理配置家庭資產(chǎn)、達到保值增值 的目的、以及最終實現(xiàn)財富的最大化提供幫助。 2.2 系統(tǒng)主要功能系統(tǒng)主要功能 1多賬套多用戶:可管理多套賬簿。每套賬簿是一個獨立的數(shù)據(jù)庫文件, 賬簿之間互不影響;軟件可供多用戶使用而互不干擾,適應家庭中的每個成 員的不同需求。 2收支記賬:收支記賬是把日常收入、支出等所有與財務(wù)活動相關(guān)的事 件準確、及時地記入賬簿。收支記賬是整個軟件中最常用的功能,也是最重 要的功能,它是家庭理財分析軟件的基礎(chǔ)。 3資產(chǎn)管理:資產(chǎn)管理界面可以顯示家庭貴重物品詳細資料,同時提供 資產(chǎn)現(xiàn)目前的現(xiàn)值情況。 4債務(wù)管理:債務(wù)管理界面顯示了所有債務(wù)信息,包括

15、債務(wù)的詳細資料 以及對債務(wù)進行新建、刪除、修改等。 5導出:將賬簿中的財務(wù)數(shù)據(jù)導出成 microsoft office excel 格式文件。 6理財寶典:理財寶典是家庭/個人理財?shù)闹R讀本。 講述了投資理財 的基本概念、原則、步驟,介紹了現(xiàn)行國內(nèi)主要的投資理財品種,如儲蓄、 貸款、保險、股票、基金、外匯、債券、房地產(chǎn)、收藏等項目。通過此理財 寶典的學習,可充分掌握投資理財?shù)幕靖拍钆c技能,為您家庭財富保值、 增值等提供寶貴的知識。 2.3 系統(tǒng)特點系統(tǒng)特點 1讓用戶開支井井有條,心中一本明白賬。 2債務(wù)借貸功能,誰欠你,你欠誰,一目了然,保障用戶具有良好的信 用。 3注意高消費項目:可以輕松

16、發(fā)現(xiàn)高消費項目。適當控制它們,將是我 們減少開支的重要手段。 4頻繁消費項目:也許這些項目每次消費金額不算高,但考慮其頻繁的 消費次數(shù)后,其累計金額也是較為可觀的,發(fā)現(xiàn)這類項目用戶應放在力爭減 少每次消費額,日積月累就能為用戶節(jié)省一大筆開銷。 5通過軟件生成的多種統(tǒng)計報表,讓用戶清楚的了解自已賬戶余額、資 產(chǎn)、債務(wù)項目,收支情況,當我們聚積了財富的時候,用戶可以通過這些統(tǒng) 計報表享受成功感。 2.4 系統(tǒng)運行界面系統(tǒng)運行界面 圖 2-1 歡迎界面 圖 2-2 收支流水賬 圖 2-3 資產(chǎn)負債表 圖 2-4 關(guān)于界面 第三章第三章 系統(tǒng)設(shè)計系統(tǒng)設(shè)計 3.1 系統(tǒng)需求分析系統(tǒng)需求分析 需求分析要弄

17、清用戶對開發(fā)的應用系統(tǒng)的確切要求。要設(shè)計一個有效的 管理信息系統(tǒng),必須用系統(tǒng)工程的觀點來考慮問題。在系統(tǒng)分析階段,設(shè)計 者要收集和分析數(shù)據(jù)管理中信息的內(nèi)容和用戶對處理的要求。 1.能夠記錄日常生活流水賬。 2.能夠?qū)κ罩ы椖考百~戶進行編輯管理。 3.實現(xiàn)負債、資產(chǎn)管理。 4.對表格中的數(shù)據(jù)可以按多種條件進行排序。 5.可以根據(jù)數(shù)據(jù)庫中相關(guān)記錄生成各種統(tǒng)計報表 6.支持多賬套。 7.可以將數(shù)據(jù)導出到其它通用軟件中。 3.2 系統(tǒng)性能要求系統(tǒng)性能要求 1.系統(tǒng)安全 、可靠; 2.功能齊全; 3.操作方便、界面友好; 4.易于維護和擴充。 3.3 硬件配置要求硬件配置要求 1.奔 以上的 cpu 2

18、.主頻 500 以上 3.128mb 以上的內(nèi)存 4.彩色顯示器(800*600) 5.8m 以上顯存 6.10g 以上硬盤空間 7.鼠標器 3.4 軟件開發(fā)所需軟件配置要求軟件開發(fā)所需軟件配置要求 1.windows xp sp2 操作系統(tǒng) 2.microsoft visual basic 6.0(sp6) 簡體中文版 3.flexcell 表格控件 (版本:5.6.3) 4.microsoft office access 2003 3.5 系統(tǒng)結(jié)構(gòu)設(shè)計圖系統(tǒng)結(jié)構(gòu)設(shè)計圖 歡歡迎迎屏屏 個個人人理理財財 主主界界面面 理理財財信信息息管管理理 統(tǒng)統(tǒng)計計報報表表 理理財財知知識識 備備用用 系系

19、統(tǒng)統(tǒng)設(shè)設(shè)置置 關(guān)關(guān)于于 收收支支流流水水帳帳 帳帳戶戶一一覽覽 收收支支項項目目 資資產(chǎn)產(chǎn) 負負債債 負負債債流流水水帳帳 年年度度收收支支統(tǒng)統(tǒng)計計表表 按按帳帳戶戶現(xiàn)現(xiàn)金金流流量量表表 按按項項目目現(xiàn)現(xiàn)金金流流量量表表 資資產(chǎn)產(chǎn)負負債債表表 訪訪問問作作者者主主頁頁 關(guān)關(guān)于于軟軟件件說說明明 退退出出系系統(tǒng)統(tǒng) 理理財財寶寶典典在在線線書書 帳帳套套管管理理 添添加加、刪刪除除流流水水帳帳 添添加加、刪刪除除帳帳戶戶 添添加加、刪刪除除收收支支項項目目 添添加加、刪刪除除資資產(chǎn)產(chǎn) 添添加加、刪刪除除負負債債項項目目 添添加加、刪刪除除負負債債流流水水帳帳 年年度度收收支支統(tǒng)統(tǒng)計計表表打打印印預

20、預覽覽 按按帳帳戶戶現(xiàn)現(xiàn)金金流流量量表表打打印印預預覽覽 按按項項目目現(xiàn)現(xiàn)金金流流量量表表打打印印預預覽覽 資資產(chǎn)產(chǎn)負負債債表表打打印印預預覽覽 帳帳套套添添加加、刪刪除除、選選用用 圖 3-1 3.6 數(shù)據(jù)庫分析設(shè)計數(shù)據(jù)庫分析設(shè)計 access 是微軟公司推出的基于 windows 的桌面關(guān)系數(shù)據(jù)庫管理系統(tǒng) (rdbms) ,是 office 系列應用軟件之一。它提供了表、查詢、窗體、報表、 頁、宏、模塊 7 種用來建立數(shù)據(jù)庫系統(tǒng)的對象;提供了多種向?qū)А⑸善鳌?模板,把數(shù)據(jù)存儲、數(shù)據(jù)查詢、界面設(shè)計、報表生成等操作規(guī)范化;為建立 功能完善的數(shù)據(jù)庫管理系統(tǒng)提供了方便,也使得普通用戶不必編寫代碼

21、,就 可以完成大部分數(shù)據(jù)管理的任務(wù)。 access 是一種關(guān)系型數(shù)據(jù)庫管理系統(tǒng)。 圖 3-2 根據(jù)系統(tǒng)需要分析,系統(tǒng)需要建立 6 個表,其用途說明如表 3-1 所示: 表 3-1 數(shù)據(jù)表及其用途 id數(shù)據(jù)表名稱數(shù)據(jù)表名稱數(shù)據(jù)表用途數(shù)據(jù)表用途 1流水賬保存日常生活流水賬信息 2收支項目保存收支項目信息 3賬戶保存賬戶信息 4負債保存負債項目信息 5還債流水賬保存還債記錄信息 6資產(chǎn)保存資產(chǎn)購入價格及現(xiàn)值信息 3.6.1 系統(tǒng) e-r 圖 系統(tǒng) e-r 圖是一種信息模型圖,體現(xiàn)了系統(tǒng)實體之間的關(guān)系。通過系統(tǒng) 需要分析,得到了系統(tǒng)的分解功能以及數(shù)據(jù)流程。根據(jù)這些實體和實體之間 的關(guān)系,可以得到系統(tǒng)

22、e-r 圖,如圖 3-3 所示. 負債查詢?nèi)?負負債債編編號號 負債名稱 帳戶編號 債務(wù)金額 嘗還金額 嘗還余額 說明 帳戶名稱 負債日期 負債 pk負債編號 負債名稱 負負債債日日期期 fk1,i1帳帳戶戶編編號號 債債務(wù)務(wù)金金額額 嘗嘗還還金金額額 嘗嘗還還余余額額 說明 資產(chǎn) pk資產(chǎn)編號 資資產(chǎn)產(chǎn)名名稱稱 購購入入價價值值 現(xiàn)值 說明 還債流水帳查詢?nèi)?負債編號 帳戶編號 還債日期 還債金額 說明 帳戶名稱 負債名稱 編編號號 開戶金額 負債日期 債務(wù)金額 嘗還金額 還債流水帳 pk編號 fk1,i1負負債債編編號號 fk2,i2帳帳戶戶編編號號 還還債債日日期期 還還債債金金額額 說

23、明 流水帳 pk編號 fk2,i3,i1 帳帳戶戶編編號號 fk1,i2,i4 項項目目編編號號 交交易易日日期期 資資金金 說明 流水帳查詢?nèi)?編編號號 交易日期 帳戶編號 項目編號 資金 說明 項目名稱 類類型型 帳戶名稱 收支項目 pk項項目目編編號號 項目名稱 類類型型 說明 帳戶 pk帳帳戶戶編編號號 帳帳戶戶名名稱稱 開開戶戶金金額額 帳帳戶戶余余額額 說明 具有帳戶債務(wù) / 屬于 具有債務(wù)債務(wù)流水帳 / 屬于 具有帳戶債務(wù)流水帳 / 屬于 具有收支項目流水帳 / 屬于 具有帳戶流水帳 / 屬于 圖 3-3 系統(tǒng) e-r 圖 3.6.2 數(shù)據(jù)字典 表 3-2 到表 3-7 給出了

24、6 個數(shù)據(jù)表(流水賬、收支項目、賬戶、負債、 還債流水賬、資產(chǎn))的具體描述,包括字段名稱、數(shù)據(jù)類型和主鍵/外鍵設(shè)置 信息。 主鍵(primary key)也稱為主關(guān)鍵字,是表中惟一能標識一條記錄的字段, 可以是一個字段或多個字段的組合。 定義主鍵時,先要指定作為主鍵的一個或多個字段,如果只選擇一個字 段,可單擊字段所在行的選定按鈕,若需要選擇多個字段作為主鍵,可先按 下 ctrl 鍵,再依次單擊這些字段所有行的選定按鈕。指定字段后,可在鼠標 右鍵菜單中選擇“主鍵”命令,或直接單擊工具欄上的“主鍵”按鈕,即可 把該字段設(shè)為表的主鍵。如果主鍵在設(shè)置后發(fā)現(xiàn)不適用或不正確,可以通過 “主鍵”按鈕取消原

25、有的主鍵。 數(shù)據(jù)表之間的關(guān)聯(lián)是由鍵值匹配來確定的。如果表中的一個字段是另一 個表的主鍵字段,那么這個字段在本表中被稱為外鍵(foreign key) 。 1 流水賬 表 3-2 流水賬 編號編號字段名稱字段名稱數(shù)據(jù)類型數(shù)據(jù)類型主鍵主鍵/外鍵外鍵 1編號counterpk 2賬戶編號integerfk 3項目編號integerfk 4交易日期datetime 5資金currency 6說明varchar(100 ) 2 收支項目 表 3-3 收支項目 編號編號字段名稱字段名稱數(shù)據(jù)類型數(shù)據(jù)類型主鍵主鍵/外鍵外鍵 1項目編號counterpk 2項目名稱varchar(20 ) 3類型boolean

26、 4說明varchar(50 ) 3 賬戶 表 3-4 賬戶 編號編號字段名稱字段名稱數(shù)據(jù)類型數(shù)據(jù)類型主鍵主鍵/外鍵外鍵 1賬戶編號counterpk 2賬戶名稱varchar(100 ) 3開戶金額currency 4賬戶余額currency 5說明varchar(100 ) 4 負債 表 3-5 負債 編號編號字段名稱字段名稱數(shù)據(jù)類型數(shù)據(jù)類型主鍵主鍵/外鍵外鍵 1負債編號counterpk 2負債名稱varchar(100 ) 3負債日期datetime 4賬戶編號integerfk 5債務(wù)金額currency 6嘗還金額currency 7嘗還余額currency 8說明varchar(

27、100 ) 5 還債流水賬 表 3-6 還債流水賬 編號編號字段名稱字段名稱數(shù)據(jù)類型數(shù)據(jù)類型主鍵主鍵/外鍵外鍵 1編號counterpk 2負債編號integerfk 3賬戶編號integerfk 4還債日期datetime 5還債金額currency 6說明varchar(100 ) 6 資產(chǎn) 表 3-7 資產(chǎn) 編號編號字段名稱字段名稱數(shù)據(jù)類型數(shù)據(jù)類型主鍵主鍵/外鍵外鍵 1資產(chǎn)編號counterpk 2資產(chǎn)名稱varchar(100 ) 3購入價值currency 4現(xiàn)值currency 5說明varchar(100 ) 3.6.3 創(chuàng)建表關(guān)系 所謂的關(guān)系,指的是兩個表中都有一個相同的數(shù)據(jù)類

28、型、大小的字段, 利用這個字段建立兩個表之間的關(guān)系。通過這種表之間的關(guān)聯(lián)性,可以將數(shù) 據(jù)庫中的多個表聯(lián)結(jié)成一個有機的整體。關(guān)系的主要作用是使多個表中的字 段協(xié)調(diào)一致,以便快速地提取信息。 如果兩個表使用了共同的字段,就應該為這兩個表建立一個關(guān)系,通過 表間關(guān)系就可以指出一個表中的數(shù)據(jù)與另一個表中數(shù)據(jù)的相關(guān)方式。 常見表關(guān)系類型如下: 1.一對一:一個表中的每個記錄只與第二個表中的一個記錄匹配。 2.一對多:一個表中的每個記錄與第二個表中的一個或多個記錄匹配, 但第二個表中的每個記錄只能與第一個表中的一個記錄匹配。 3.多對一:一個表的多個記錄與第二個表中的一個記錄匹配。 4.多對多:一個表中的

29、每個記錄與第二個表中的多個記錄匹配,反之 亦然。 通過 microsoft office access 可以得到數(shù)據(jù)庫表關(guān)系圖,如圖 3-4 所示。 所有主表和外鍵表之間的關(guān)系具有如下特征: 1.對 insert 和 update 具有強制性。 2.級聯(lián)刪除相關(guān)的記錄。 圖 3-4 數(shù)據(jù)庫表關(guān)系 3.6.4 創(chuàng)建查詢 使用查詢可以按照不同的方式查看、更改和分析數(shù)據(jù)。也可以用查詢作 為窗體、報表和數(shù)據(jù)訪問頁的記錄源。 使用 sql 語句創(chuàng)建的查詢??梢杂媒Y(jié)構(gòu)化查詢語言 (sql) 來查詢、更 新和管理 access 這樣的關(guān)系數(shù)據(jù)庫。 在查詢“設(shè)計”視圖中創(chuàng)建查詢時,access 將在后臺構(gòu)造等

30、效的 sql 語 句。實際上,在查詢“設(shè)計”視圖的屬性表中,大多數(shù)查詢屬性在 sql 視圖 中都有等效的可用子句和選項。如果需要,可以在 sql 視圖中查看和編輯 sql 語句。但是,在對 sql 視圖中的查詢做更改之后,查詢可能無法以以 前在“設(shè)計”視圖中所顯示的方式進行顯示。 有一些 sql 查詢,稱為“sql 特定查詢”,無法在設(shè)計網(wǎng)格中進行創(chuàng)建。 對于傳遞查詢、數(shù)據(jù)定義查詢和聯(lián)合查詢,必須直接在 sql 視圖中創(chuàng)建 sql 語句。對于子查詢,可以在查詢設(shè)計網(wǎng)格的“字段”行或“條件”行輸入 sql 語句。 1 負債查詢?nèi)搨樵內(nèi)?select 負債.負債編號, 負債.負債名稱, 負債.

31、賬戶編號, 負債.債務(wù)金 額, 負債.嘗還金額, 負債.嘗還余額, 負債.說明, 賬戶.賬戶名稱, 負債.負債日 期 from 賬戶 inner join 負債 on 賬戶.賬戶編號 = 負債.賬戶編號; 2 還債流水賬查詢?nèi)€債流水賬查詢?nèi)?select 還債流水賬.負債編號, 還債流水賬.賬戶編號, 還債流水賬.還 債日期, 還債流水賬.還債金額, 還債流水賬.說明, 賬戶.賬戶名稱, 負債.負債 名稱, 還債流水賬.編號, 賬戶.開戶金額, 負債.負債日期, 負債.債務(wù)金額, 負 債.嘗還金額 from 賬戶 inner join (負債 inner join 還債流水賬 on 負債.

32、負債編號 = 還債流水賬.負債編號) on 賬戶.賬戶編號 = 還債流水賬.賬戶編 號; 3 流水賬查詢?nèi)魉~查詢?nèi)?select 流水賬.編號, 流水賬.交易日期, 流水賬.賬戶編號, 流水賬.項 目編號, 流水賬.資金, 流水賬.說明, 收支項目.項目名稱, 收支項目.類型, 賬 戶.賬戶名稱 from 賬戶 inner join (收支項目 inner join 流水賬 on 收支 項目.項目編號 = 流水賬.項目編號) on 賬戶.賬戶編號 = 流水賬.賬戶編號; 第四章第四章 系統(tǒng)實現(xiàn)系統(tǒng)實現(xiàn) 4.1 系統(tǒng)主界面系統(tǒng)主界面 通過數(shù)據(jù)庫分析設(shè)計,已經(jīng)完成了所有的后臺工作,現(xiàn)在需要通過

33、 visual basic 來編寫程序。 visual basic 是一種可視化的、面向?qū)ο蠛筒捎檬录?qū)動方式的結(jié)構(gòu)化高 級程序設(shè)計語言,可用于開發(fā) windows 環(huán)境下的各類應用程序。visual 意即 可視的、可見的,指的是開發(fā)像 windows 操作系統(tǒng)的圖形用戶界面(graphic user interface,gui)的方法,它不需要編寫大量代碼去描述界面元素的外觀 和位置,只要把預先建立好的對象拖放到屏幕上相應的位置即可。basic 指的 是 beginners all purpose symbolic instruction code 初始者通用符號指令代碼語 言。 visua

34、l basic 簡單易學、效率高,且功能強大可以與 windowsr 專業(yè)開發(fā) 工具 sdk 相媲美。在 visual basic 環(huán)境下,利用事件驅(qū)動的編程機制、新穎 易用的可視化設(shè)計工具,使用 windows 內(nèi)部的廣泛應用程序接口(api)函 數(shù),以用動態(tài)鏈接庫(dll) 、對象的鏈接與世隔嵌入(ole) 、開放式數(shù)據(jù) 連接(odbc)等技術(shù),可以高效、快速地開發(fā) windows 環(huán)境下功能強大、 圖形界面豐富的應用軟件系統(tǒng)。隨著版本的提高,visual basic 的功能也越來 越強。5.0 版以后,visual basic 推出了中文版,與前個版本相比,其功能有 了很大提升。 4.1

35、.1 創(chuàng)建工程項目 為了實現(xiàn)應用程序,首先要建立一個工程。工程是用來構(gòu)建應用程序的 文件的集合,通常包含如下文件: 1.工程文件(.vbp) 2.窗體文體(.frm) 3.窗體的二進制數(shù)據(jù)文件(.frx) 4.類模塊文件(.cls) 5.標準模塊文件(.bas) 6.一個或多個包含 activex 控件的文件(.ocx) 7.單個資源文件(.res) 啟動 visual basic 6.0 后,單擊文件新建工程命令,在如圖 4-1 所 示對話框中選擇vb 企業(yè)版控件選項,然后單擊確定按鈕。visual basic 將自動創(chuàng)建一個“工程 1”工程項目,包含一個窗體文件夾和一個 form1 窗 體

36、。在項目的屬性面板中將工程的“name”屬性改為“mmm” ,將 form1 的 “caption”屬性改為“manage money matters v1.0” 。 圖 4-1 vb新建工程對話框 4.1.2 創(chuàng)建系統(tǒng)主窗體 在創(chuàng)建工程項目,已經(jīng)創(chuàng)建了一個“form1”窗體文件,將它直接作為 主窗體文件。系統(tǒng)主窗體的界面如圖 4-2 所示。在窗體上添加一個 wb_listbar 控件,用于調(diào)用系統(tǒng)各個功能模塊。其主要控件的屬性如表 4-1 所示。 圖 4-2 系統(tǒng)主界面 表 4-1 主窗體屬性設(shè)置 控件控件屬性屬性屬性值屬性值 form1 (form) borderstyle caption

37、 maxbutton minbutton startupposition 1 fixed single manage money matters 0 false 0 false 2 屏幕中心 wb_listbar1 (wb_listbar) menucaption1 menuitemcaption11 menuitemcaption12 理財信息管理 收支流水賬 賬戶一覽 menuitemcaption13 menuitemcaption14 menuitemcaption15 menuitemcaption16 menucaption2 menuitemcaption21 menuitemc

38、aption22 menuitemcaption23 menuitemcaption24 menucaption3 menuitemcaption31 menucaption4 menucaption5 menuitemcaption51 menucaption6 menuitemcaption61 menuitemcaption62 menuitemcaption63 收支項目 資產(chǎn) 負債 還債流水賬 統(tǒng)計報表 年度收支統(tǒng)計表 按賬戶現(xiàn)金流量表 按項目現(xiàn)金流量表 資產(chǎn)負債表 理財知識 訪問理財知道網(wǎng) 備用功能 系統(tǒng)設(shè)置 賬套管理 關(guān)于 訪問作者主頁 關(guān)于 退出系統(tǒng) statusbar1 (s

39、tatusbar) align simpletext tabindex 2 align bottom 個人理財軟件 1 4.1.3 主窗口菜單 右擊 wb_listbar1 控件,選擇彈出式菜單中的屬性命令,將出現(xiàn)如圖 4- 3 所示的菜單編輯對話框。 圖 4-3 菜單編輯對話框 對菜單項操作的代碼如程序 4-1 所示 private sub wb_listbar1_menuitemclick(menunumber as long, menuitem as long) select case menunumber case 1 select case menuitem case 1 f11lo

40、ad 調(diào)用出支流水賬管理模塊 case 6 case 3 unload me 結(jié)束程序運行 end sub 程序 4-1 菜單控制代碼 4.2 公用模塊公用模塊 在 visual basic 中,可以使用公用模塊來存放整個項目所需要的公用函 數(shù)和全局變量等。通過公用函數(shù)和變量可以極大地提高代碼的利用率。在項 目資源管理器中為項目添加一個模塊,并將其保存為 operatdatabase.bas。 4.2.1 operatdatabase.bas operatdatabase.bas 公用模塊主要是用來對數(shù)據(jù)庫進行 ado 操作的,包 括以下 5 個函數(shù): 1.getconnstr() as st

41、ring 函數(shù),返回連接字符串,用來設(shè)置數(shù)據(jù)庫連接 字符串。 2.openconn(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 a

42、s string,byref msg as string) as adodb.recordset 函數(shù),返回 recordset,用來執(zhí)行批處理操作。 4.2.2 publicvar.bas 為了實現(xiàn)全局變量,別外創(chuàng)建一個全局變量模塊 publicvar.bas,主要有 如下內(nèi)容: connectionstring用來保存數(shù)據(jù)庫連接字符串 temp用來保存暫時傳值變量 temp1 用來保存全局臨時變量 1 temp2 用來保存全局臨時變量 2 t 編號 用來保存流水賬編號 4.3 ado 數(shù)據(jù)訪問技術(shù)數(shù)據(jù)訪問技術(shù) ado (activex data objects,activex 數(shù)據(jù)對象)是

43、一個用于存取數(shù)據(jù)源 的 com 組件。它提供了編程語言和統(tǒng)一數(shù)據(jù)訪問方式 ole db 的一個中間 層。允許開發(fā)人員編寫訪問數(shù)據(jù)的代碼而不用關(guān)心數(shù)據(jù)庫是如何實現(xiàn)的,而 只用關(guān)心到數(shù)據(jù)庫的連接。是一個用于存取數(shù)據(jù)源的 com 組件。它提供了 編程語言和統(tǒng)一數(shù)據(jù)訪問方式 ole db 的一個中間層。允許開發(fā)人員編寫訪 問數(shù)據(jù)的代碼而不用關(guān)心數(shù)據(jù)庫是如何實現(xiàn)的,而只用關(guān)心到數(shù)據(jù)庫的連接。 ado 被設(shè)計來繼承微軟早期的數(shù)據(jù)訪問對象層,包括 rdo (remote data objects) 和 dao(data access objects)。 圖 4-4 ado 類模型 4.3.1 從 micro

44、soft visual basic 引用 ado 的步驟 1.在 visual basic 中,從“工程”菜單中選擇“引用” 。 2.從列表中選擇“microsoft activex data objects x.x library” 。 3.請驗證至少還選擇了下列庫: visual basic for applications visual basic runtime objects and procedures visual basic objects and procedures ole automation 4.單擊“確定” 。 圖 4-5 4.3.2 在 visual basic 中

45、創(chuàng)建 ado 對象 在 dim 中使用 new 關(guān)鍵字,可以只用一個步驟就完成 ado 對象的 聲明和實例化: dim conn as new adodb.connection 或者,也可用兩個步驟來完成 dim 語句聲明和對象實例化: dim conn as adodb.connection set conn = new adodb.connection 4.4 flexcell 表格控件表格控件 flexcell 是一款靈活、易用的表格和報表控件,因本系統(tǒng)中多處應用此 控件,在此對其功能進行簡單介紹。 flexcell 提供了 6 種單元格類型和 6 種圖表類型,提供了合并單元格、 虛表、

46、打印和打印預覽等功能,支持剪貼板操作、xml 文件的導入和導出, 不需要 excel 運行庫支持就可以導出為 excel workbook。軟件包中附帶報表 設(shè)計器,只需很少的代碼就可以制作出圖文并茂的報表和程序界面。 圖 4-6 圖 4-7 主要特點:主要特點: 功能全面功能全面:flexcell 提供了非常全面的功能,例如:打開/保存文件、不需 要 excel 運行庫的支持直接導出 excel、導出 csv、導出 html、導出/導入 xml、打印、打印預覽、凍結(jié)行列、排序、添加 chart、合并單元格、虛表 模式、ownerdraw 模式。 表格設(shè)計器表格設(shè)計器:flexcell 表格設(shè)

47、計器是一個獨立的工具,開發(fā)人員可以使用 它來制作表格模板,然后將表格保存為.cel 文件,也可以導出成 xml 文件, 然后可以在程序運行時使用 openfile 方法或 loadfromxml 方法加載表格模 板。這樣做可以極大地減少編程人員的工作量,使用少量代碼即可設(shè)計出復 雜的表格。 打印方便打印方便:flexcell 提供了方便的打印和預覽功能,您可以通過 pagesetup 對象修改頁面設(shè)置,例如:紙張大小、紙張方向、設(shè)置打印范圍、單色打印、 頁邊距、頁眉和頁腳、可以在每一頁都重復打印的標題行和標題列。您還可 以添加不會顯示在 grid 中的分頁符和報表標題。 對象模型對象模型:精心

48、設(shè)計的對象模型,可以使程序的條理更加清晰。flexcell 提供了 10 個類: 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、lo

49、cked、mask 、printable、tag、text、wraptext。 單元格單元格 mask:flexcell 提供了多種 mask,如 letter、upper、lower、numeric、value 等,能夠自動控制用戶輸入,減少 輸入錯誤。 內(nèi)置內(nèi)置 chart:flexcell 提供了 6 種類型的圖表:柱狀圖、折線圖、餅圖、 3d 柱狀圖、3d 折線圖、3d 餅圖。 合并單元格合并單元格:flexcell 提供了靈活方便的合并單元格功能,操作方式和 excel 很相似。 支持剪貼板操作支持剪貼板操作:flexcell 支持剪貼板操作,可以自由復制、剪切、粘貼 單元格內(nèi)容和格

50、式,可以和 excel、notepad 等軟件互相復制、粘貼文本。 4.5 賬套管理賬套管理 用于新建賬套或打開、刪除已存在的賬套文件。單擊菜單“系統(tǒng)設(shè)置-賬 套管理”進入,如圖 4-8 所示: 圖 4-8 賬套管理界面 表 4-2 控件屬性設(shè)置 控件控件屬性屬性屬性值屬性值 listview1allowcolumnreorderfalse (listview)checkboxes arrange false 1 lvwautoleft imagelist1 (imagelist) imageheight imagewidth usemaskcolor 32 32 true file1 (fi

51、lelistbox) archive causesvalidation pattern readonly true true *.mdb true 4.5.1 選用賬套 位于個人理財分析助手軟件安裝目錄文件夾中的所有賬套均會在賬套管 理界面中顯示出來,選擇要使用的賬套后點擊選用賬套即可打開使用。程 序序代碼如程序 4-2 所示: 選用賬套 private sub command26_click() if file1.listcount 0 then 如果已從賬套列表中選擇了一個賬套則將賬套信息寫入注冊表 將賬套信息寫入注冊表中 savesetting app.exename, setup, c

52、onnectionstring, listview1.selecteditem msgbox 已啟用 & listview1.selecteditem & 賬套 unvisible end if end sub 程序 4-2 選用賬套程序代碼 4.5.2 新建賬套 一個賬套就是一個獨立的數(shù)據(jù)庫文件,根據(jù)不同用戶的需求,建立一個 或多個賬套。在“新建賬套”后的輸入框里自定義一個名稱,如:溫馨小家 2007,按“確定”按鈕后系統(tǒng)自動進入該賬套。新建賬簿存放的路徑為軟件安 裝目錄文件夾中,文件名為“溫馨小家 2004.mdb”。 程序序代碼如程序 4-3 所 示: 新建賬套 private sub

53、command24_click() dim a as string on error goto errorhandler 輸入一個賬套名稱 a = inputbox(請輸入新賬套名稱:, 新建賬套) if trim(a) = or isnull(a) then 如果賬套名稱不為空則創(chuàng)建此賬套 msgbox 新建賬套未成功! else 通過文件復制,用賬套模版創(chuàng)建新賬套 filecopy app.path & mmm.emp, app.path & & a & .mdb msgbox 新建賬套成功! f51load 選用剛新建的賬套為當前使用賬套 command26_click end if e

54、xit sub errorhandler: 如出現(xiàn)錯誤,顯示錯誤信息 screen.mousepointer = 0 msgbox err.description, vbexclamation, error err.clear end sub 程序 4-3 新建賬套程序代碼 4.5.3 刪除賬套 本界面上會列出軟件安裝目錄文件夾中的所有賬套,點擊要刪除的賬套, 按刪除按鈕并確認即可。當刪除成功后系統(tǒng)自動選用賬套列表中第一個賬 套為當前使用賬套。程序序代碼如程序 4-4 所示: 刪除賬套 private sub command25_click() dim n1 as integer on err

55、or goto errorhandler if listview1.listitems.count 0 then 如果賬套列表中不為空則可進行賬套刪除處理 n1 = msgbox(確認是否真的要刪除 & listview1.selecteditem & 賬套?, vbokcancel, 刪除確認) if n1 = 1 then 物理刪除軟件安裝目錄下的賬套文件 kill app.path & & listview1.selecteditem msgbox 賬套刪除成功! 涮新賬套列表 f51load 選用賬套列表中第一個賬套為當前使用賬套 command26_click else msgbox

56、 賬套刪除操作已經(jīng)取消! end if else msgbox 無法刪除賬套! end if 涮新賬套列表 f51load end sub 程序 4-4 刪除賬套程序代碼 4.6 日常收支流水賬日常收支流水賬 收支流水賬是對現(xiàn)金、活期存款、信用卡等賬戶的記賬,把日常收支記 錄下來。在理財信息管理菜單下,點擊收支流水賬即可進入。 4.6.1 信息流覽頁面 顯示每天的收支記錄信息,可實現(xiàn)按任異字段排序。支持收支流水賬記 錄導出。界面所圖 4-9 所示 圖 4-9 收支流水賬界面 代碼見程序 4-5: 顯示收支流水賬 function f11load() frame1.visible = true

57、grid1.openfile (app.path & 收支流水賬表.cel) grid1.selectionmode = cellselectionbyrow 按行選擇 從數(shù)據(jù)庫中讀取數(shù)據(jù)并顯示到 grid 中 call readdata(select 交易日期,賬戶名稱,項目名稱,編號 as id,資金,類型,說明 from 流水賬查詢?nèi)?order by 交易日期,編號 , grid1) 計算收/支總額 if grid1.rows 2 then for i = 1 to grid1.rows - 1 a = a + grid1.cell(i, 5).text next i 將收入總款信息顯

58、示在狀態(tài)欄中 label6.caption = a a = 0 for i = 1 to grid1.rows - 1 a = a + grid1.cell(i, 4).text next i 將支出總款信息顯示在狀態(tài)欄中 label7.caption = a 將收支節(jié)余信息顯示在狀態(tài)欄中 label8.caption = label6.caption - -(label7.caption) end if end function 程序 4-5 顯示收支流水賬代碼 4.6.2 收支記錄管理界面 用來對收支信息進行新增、修改、刪除處理。點擊新添收支或在流覽 界面上點擊收支記錄,即可進入收支記錄管

59、理界面。界面所圖 4-10 所示: 圖 4-10 收支記錄管理界面 表 4-3 控件屬性設(shè)置 控件控件屬性屬性屬性值屬性值 dtpicker1 (dtpicker) maxdate mindate format 9999-12-31 1601-01-01 1 dtpshortdate grid1 (grid) allowuserresizing allowusersort fixedrowcolsty true false 1 fixed3d text1 (text) alignment maxlength multiline 1 right justify 0 false 核心代碼見程序 4

60、-6: private sub form_load() 設(shè)置 grid 的各種屬性,設(shè)置各個列的格式 if t 編號 = 0 then 數(shù)據(jù)單元清空初始化 else 從數(shù)據(jù)庫中讀取數(shù)據(jù) 從記錄集中取得數(shù)據(jù),并填充 set rs = nothing end if end sub - 函 數(shù) : readdata() 返回值 : true - 操作成功 false - 失敗 - private function readdata(byval strsql as string, byref ggrid as grid) as boolean end function - 函 數(shù) : savedata

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論