畢業(yè)設(shè)計-家庭理財管理系統(tǒng)—論文.doc_第1頁
畢業(yè)設(shè)計-家庭理財管理系統(tǒng)—論文.doc_第2頁
畢業(yè)設(shè)計-家庭理財管理系統(tǒng)—論文.doc_第3頁
畢業(yè)設(shè)計-家庭理財管理系統(tǒng)—論文.doc_第4頁
畢業(yè)設(shè)計-家庭理財管理系統(tǒng)—論文.doc_第5頁
已閱讀5頁,還剩66頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

家庭理財管理系統(tǒng)目錄摘要1關(guān)鍵詞1引言 21、系統(tǒng)規(guī)劃 31.1 系統(tǒng)設(shè)計思想 31.2 系統(tǒng)設(shè)計目標 31.3 系統(tǒng)總體方案 32、系統(tǒng)分析 32.1 業(yè)務(wù)需求分析 32.2 業(yè)務(wù)流程圖 53、系統(tǒng)設(shè)計 53.1 系統(tǒng)軟件功能結(jié)構(gòu) 53.2 系統(tǒng)主程序流程 63.3 系統(tǒng)軟硬件配置 73.4 系統(tǒng)數(shù)據(jù)庫設(shè)計 73.5 系統(tǒng)輸出設(shè)計 113.6 系統(tǒng)輸入設(shè)計 114、系統(tǒng)實施 124.1 登錄窗體和系統(tǒng)主界面 134.2 基本信息管理模塊 164.3 理財信息管理模塊 224.4 數(shù)據(jù)統(tǒng)計管理模塊 314.5 用戶管理模塊 354.6 系統(tǒng)測試 405、結(jié)束語 40參考文獻 41【摘要】家庭理財系統(tǒng)可以有效地記錄和管理家庭的收支情況,合理規(guī)劃和支配家庭資金,是家庭理財?shù)暮脦褪帧?后臺數(shù)據(jù)庫使用Access,前臺開發(fā)工具使用Visual Basic。本系統(tǒng)采用目前比較流行的ADO數(shù)據(jù)訪問技術(shù),并將每個數(shù)據(jù)庫表的字段和操作封裝到類中,從而成功地將面向?qū)ο蟮某绦蛟O(shè)計思想應(yīng)用到數(shù)據(jù)庫應(yīng)用程序設(shè)計中。【關(guān)鍵詞】家庭理財;Access數(shù)據(jù);Visual Basic開發(fā)語言;管理信息系統(tǒng) 引言:當今時代是飛速發(fā)展的信息時代,在各行各業(yè)中離不開信息處理,這正是計算機被廣泛應(yīng)用于信息管理系統(tǒng)的環(huán)境。計算機的最大好處在于利用它能夠進行信息管理。使用計算機進行信息控制,不僅提高了工作效率,而且大大的提高了其安全性。尤其對于復(fù)雜的信息管理,計算機能夠充分發(fā)揮它的優(yōu)越性。家庭理財管理系統(tǒng)是每個家庭管理收入和支出不可缺少的一個管理信息系統(tǒng),對于家庭的管理者來說是至關(guān)重要的。家庭理財管理系統(tǒng)應(yīng)該能夠為每個家庭的管理者提供充足的信息和快捷的查詢手段,大大的方便家庭的管理者的合理理財。作為計算機應(yīng)用的一部分,使用計算機對家庭理財進行管理,具有著手工管理所無法比擬的優(yōu)點,如:檢索迅速、查找方便、可靠性高、存儲量大、保密性好、壽命長、成本低等。這些優(yōu)點能夠極大地提高家庭財務(wù)管理的效率,也是家庭理財?shù)目茖W(xué)化、正規(guī)化管理,與先進科學(xué)技術(shù)接軌的重要條件?,F(xiàn)在我國的家庭理財管理水平還停留在紙介質(zhì)的基礎(chǔ)上,這樣的機制已經(jīng)不能適應(yīng)時代的發(fā)展,因為它浪費了許多人力和物力,在信息時代這種傳統(tǒng)的管理方法必然被計算機為基礎(chǔ)的信息管理所取代。開發(fā)這一系統(tǒng)的好處主要有以下幾點:第一、可以存儲家庭日常理財信息;第二、只需了解操作系統(tǒng),就能實現(xiàn)方便快捷的家庭理財管理,節(jié)省人力;第三、可以迅速查看家庭理財歷史信息,做到收入、支出心中有數(shù)。目前市場的數(shù)據(jù)庫系統(tǒng)非常多,如Oracle、FoxPro、Access等,各有所長,可以滿足不同的用戶需求。由于本系統(tǒng)功能較單一,業(yè)務(wù)量不大,擬采用Access2000作為數(shù)據(jù)庫。本系統(tǒng)采用VB6.0,對家庭理財管理系統(tǒng)的開發(fā)過程的系統(tǒng)規(guī)劃、系統(tǒng)分析、系統(tǒng)設(shè)計、系統(tǒng)實施及系統(tǒng)測試等各個環(huán)節(jié),論述其數(shù)據(jù)庫系統(tǒng)的設(shè)計要點,實現(xiàn)過程中存在的難點問題的分析及其解決方案。 1、系統(tǒng)規(guī)劃1.1系統(tǒng)設(shè)計思想 系統(tǒng)是否合理、可靠、先進,可以從以下幾個方面來衡量: (1)完整的報表、數(shù)據(jù)分析系統(tǒng),能對數(shù)據(jù)流實施控制與動態(tài)分析; (2)有功能強大、資料齊全的查詢系統(tǒng); (3)方便用戶使用,操作界面友好,運行穩(wěn)定。1.2系統(tǒng)設(shè)計目標 本系統(tǒng)的設(shè)計目標是建立家庭對收入、支出的計算機管理系統(tǒng)。1.3系統(tǒng)總體方案 在家庭理財管理需求的基礎(chǔ)上提出整個家庭理財管理系統(tǒng)的總體結(jié)構(gòu)方案,確定系統(tǒng)開發(fā)設(shè)計的次序及時間安排??煞炙膫€步驟: (1)分析家庭理財?shù)刃畔⒐芾淼臉I(yè)務(wù)活動,搞清流程; (2)根據(jù)家庭理財管理的業(yè)務(wù)流程,確定屬于系統(tǒng)處理的范圍; (3)分析家庭理財管理業(yè)務(wù)流程所涉及的數(shù)據(jù);(4)提供系統(tǒng)詳細設(shè)計框架。2、系統(tǒng)分析 系統(tǒng)分析的最主要內(nèi)容有家庭理財管理系統(tǒng)的業(yè)務(wù)需求分析、業(yè)務(wù)流程圖、數(shù)據(jù)流程圖、數(shù)據(jù)庫概念設(shè)計(在數(shù)據(jù)庫設(shè)計中敘述)等四個部分。2.1 業(yè)務(wù)需求分析 (1)系統(tǒng)數(shù)據(jù)需求通過對家庭的理財管理業(yè)務(wù)流程的調(diào)查,總結(jié)系統(tǒng)對其數(shù)據(jù)的需求,主要有:收入信息;支出信息;收支分析信息。(2)系統(tǒng)功能需求所設(shè)計的系統(tǒng)在功能上應(yīng)做什么,即系統(tǒng)的主要需求。本系統(tǒng)可以有效地記錄和管理家庭的收支情況,合理規(guī)劃和支配家庭資金。冢庭理財管理系統(tǒng)包括基本信息管理、理財管理和數(shù)據(jù)統(tǒng)計等主要功能,具體功能如下: 基本信息的添加、修改、刪除和查詢?;拘畔ㄣy行信息、收入分類和支出分類等內(nèi)容。此功能為理財管理和數(shù)據(jù)統(tǒng)計模塊提供依據(jù)。理財信息的添加、修改、刪除和查詢。理財信息包括日常收支、銀行交易和銀行帳戶等內(nèi)容。數(shù)據(jù)統(tǒng)計模塊包括日常收支統(tǒng)計、銀行交易統(tǒng)計和家庭資產(chǎn)統(tǒng)計等功能。(3)系統(tǒng)性能需求 系統(tǒng)的性能指標包括存儲容量限制、運行時間限制、傳輸速度要求、安全保密性等幾個方面。 (4)系統(tǒng)運行環(huán)境需求 硬件方面:采用的機型、外部設(shè)備、數(shù)據(jù)通信接口; 軟件方面:支持系統(tǒng)運行的系統(tǒng)軟件、操作系統(tǒng)、數(shù)據(jù)庫管理系統(tǒng)。 (5)系統(tǒng)可靠性及安全保密需求 對系統(tǒng)、重要子系統(tǒng)在運行中的安全、可靠、保密方面的性能提出要求。2.2 業(yè)務(wù)流程圖從實際業(yè)務(wù)功能的角度將系統(tǒng)規(guī)劃中有關(guān)的該業(yè)務(wù)做進一步的分析,用一個完整的圖形來反映實際業(yè)務(wù)處理過程的“流水帳”。本系統(tǒng)的流程分析如圖所示:3、系統(tǒng)設(shè)計系統(tǒng)設(shè)計主要有以下幾項內(nèi)容:3.1系統(tǒng)軟件功能結(jié)構(gòu)家庭理財管理系統(tǒng)功能模塊結(jié)構(gòu)如下圖:3.2系統(tǒng)主程序流程添加操作修改操作刪除操作查詢操作添加記錄修改記錄刪除記錄查詢記錄退出程序開始顯示記錄YNYYYNNN3.3系統(tǒng)軟硬件配置(1)選擇依據(jù):主要依據(jù)是系統(tǒng)說明書、系統(tǒng)的總體結(jié)構(gòu)設(shè)計。(2)本系統(tǒng)采用單機單用戶操作方式,其軟、硬件最低配置為:硬件:處理器:300MHz;內(nèi)存:128M;硬盤:1.5G; VGA (800x600)的視頻適配器和監(jiān)視器;軟件:操作系統(tǒng):Windows2000/XP;應(yīng)用軟件:Microsoft Office 2000。3.4系統(tǒng)數(shù)據(jù)庫設(shè)計3.4.1數(shù)據(jù)庫設(shè)計要點(1)第一階段的設(shè)計任務(wù)是收集和分析用戶需求,完成數(shù)據(jù)庫的概念設(shè)計。(2) 第二階段的設(shè)計任務(wù)是數(shù)據(jù)庫的邏輯設(shè)計,完成E-R模型向邏輯模型轉(zhuǎn)換。(3)第三階段的設(shè)計任務(wù)是數(shù)據(jù)庫的物理設(shè)計,確定表的結(jié)構(gòu),建立數(shù)據(jù)庫模型。3.4.2數(shù)據(jù)庫應(yīng)用系統(tǒng)設(shè)計的重點和難點(1)建立數(shù)據(jù)庫,確定數(shù)據(jù)庫中表的數(shù)量及其每個表中各個字段的字段名稱、類型、寬度、小數(shù)及索引、排序。系統(tǒng)實施系統(tǒng)實施的主要工作就是程序設(shè)計,此外還包括了物理系統(tǒng)的實施、程序的調(diào)試。本系統(tǒng)的程序設(shè)計由各個相關(guān)類及其所包含的函數(shù)組成。包含三個工程模塊:(1)Const用來管理工程中的常量(2)DbFunc用來管理工程中與數(shù)據(jù)庫操作相關(guān)的聲明、變量和函數(shù)(3)Variable用來管理工程中的公共變量包含七個類模塊:(1)Types類用來管理表Types的數(shù)據(jù)庫操作(2)Banks類用來管理表Banks的數(shù)據(jù)庫操作(3)Members類用來管理表Members的數(shù)據(jù)庫操作(4)InOutList類用來管理表InOutList的數(shù)據(jù)庫操作(5)BankOper類用來管理表BankOper的數(shù)據(jù)庫操作(6)Amount類用來管理表Amount的數(shù)據(jù)庫操作(7)Users類用來管理表Users的數(shù)據(jù)庫操作包含四個系統(tǒng)模塊:(1)基本信息管理模塊(2)理財信息管理模塊(3)數(shù)據(jù)統(tǒng)計管理模塊(4)用戶管理模塊4.1登錄窗體和系統(tǒng)主界面4.1.1登錄窗體FrmLogin當系統(tǒng)運行時,首先打開登錄窗體,只有有權(quán)限的用戶才能進入系統(tǒng)。登錄成功后,將顯示系統(tǒng)主界面。登錄窗體的部分代碼:(1)變量聲明Public PasswordKey As StringPasswordKey保存密碼Public Try_times As IntegerTry_times記錄嘗試登錄的次數(shù)Public NameKey As StringNameKey保存用戶名(2)Cmd_Ok_Click過程當用戶單擊“確定”按鈕時觸發(fā)Cmd_Ok_Click事件,進行身份驗證,代碼如下:Private Sub Cmd_OK_Click() Dim j As Single數(shù)據(jù)有效性檢查 If txtUser = Then MsgBox 請輸入用戶名 txtUser.SetFocus Exit Sub End If If txtPwd = Then MsgBox 請輸入密碼 txtPwd.SetFocus Exit Sub End If NameKey = Trim(txtUser) PasswordKey = Trim(txtPwd) 判斷用戶是否存在 If MyUser.In_DB(NameKey) = False Then MsgBox 用戶名不存在 Try_times = Try_times + 1 If Try_times = 3 Then MsgBox 您已經(jīng)三次嘗試進入本系統(tǒng),均不成功,系統(tǒng)將關(guān)閉 DBapi_Disconnect End Else Exit Sub End If End If 判斷密碼是否正確 MyUser.GetInfo (NameKey) If MyUser.UserPwd PasswordKey Then MsgBox 密碼錯誤 Try_times = Try_times + 1 If Try_times = 3 Then MsgBox 您已經(jīng)三次嘗試進入本系統(tǒng),均不成功,系統(tǒng)將關(guān)閉 DBapi_Disconnect End Else Exit Sub End If End If 登錄成功,將當前用戶的信息保存在CurUser中 CurUser.GetInfo (MyUser.UserName)關(guān)閉自己 Unload MeEnd Sub4.1.2系統(tǒng)主界面當主窗體啟動時,將打開“登錄”對話框。代碼如下:Private Sub Form_Load() FrmLogin.Show 1End Sub當選擇“退出系統(tǒng)”菜單項時觸發(fā)mn_exit_Click事件,代碼如下:Private Sub mn_Exit_Click() DBapi_Disconnect自定義函數(shù),強制斷開與數(shù)據(jù)庫的連接 EndEnd Sub4.2基本信息管理模塊4.2.1銀行信息編輯窗體FrmBankEdit(1)公共變量定義Public OriBId As Long用來標記當前編輯的銀行編號Public Modify As BooleanModify用來標記當前的數(shù)據(jù)庫訪問狀態(tài),True表示修改已有的數(shù)據(jù),F(xiàn)alse表插入新的數(shù)據(jù)(2)Cmd_OK_Click過程當單擊“確定”按鈕時觸發(fā)Cmd_OK_Click過程,代碼如下:Private Sub Cmd_OK_Click() If Len(Trim(txtBName) = 0 Then MsgBox 請輸入銀行全稱 txtBName.SetFocus Exit Sub End If With MyBank .BankName = Trim(txtBName) .BShort = Trim(txtShort) .Place = Trim(txtPlace) If Modify = False Then .Insert MsgBox 添加成功 Else .Update (OriBId) MsgBox 修改成功 End If End With Unload MeEnd Sub4.2.2銀行信息管理窗體FrmBankMan使用DataGrid和Adodc控件來顯示銀行信息數(shù)據(jù)。窗體中的主要代碼:(1)DataRefresh過程是在Adodc控件的結(jié)果集發(fā)生改變時,刷新DataGrid控件中的數(shù)據(jù),對應(yīng)的代碼如下:Private Sub DataRefresh() Dim strSearch As String Dim TmpSource As String strSearch = If Len(Trim(txtBName) 0 Then strSearch = Where BankName Like % + Trim(txtBName) + %實現(xiàn)模糊查詢 End If TmpSource = Select BankId AS 銀行編號,BankName AS 銀行全稱,BShort AS 簡稱,Place AS 所在地址 _ + From Banks + strSearch + Order By BankId從表Banks中讀取銀行數(shù)據(jù) Adodc1.ConnectionString = Conn Adodc1.RecordSource = TmpSource Adodc1.Refresh Set DataGrid1.DataSource = Adodc1 DataGrid1.Columns(0).Width = 1000設(shè)置列寬度 End Sub(2)Cmd_Add_Click過程當用戶單擊“添加”按鈕時觸發(fā)Cmd_Add_Click事件,代碼如下:Private Sub Cmd_Add_Click() FrmBankEdit.Modify = False FrmBankEdit.Show 1 DataRefresh刷新數(shù)據(jù)End Sub(3)Cmd_Modi_Click過程當用戶單擊“修改”按鈕時觸發(fā)Cmd_Modi_Click事件,代碼如下:Private Sub Cmd_Modi_Click() If Adodc1.Recordset.BOF = True Then MsgBox 請選擇記錄 Exit Sub End If FrmBankEdit.Modify = True FrmBankEdit.OriBId = Adodc1.Recordset.Fields(0)從當前選擇的記錄中獲取數(shù)據(jù) FrmBankEdit.txtBName = Trim(Adodc1.Recordset.Fields(1) 將獲取的值賦到對應(yīng)窗體中 FrmBankEdit.txtShort = Trim(Adodc1.Recordset.Fields(2) FrmBankEdit.txtPlace = Trim(Adodc1.Recordset.Fields(3) FrmBankEdit.Show 1 DataRefresh刷新數(shù)據(jù)End Sub(4)Cmd_Del_Click過程當用戶單擊“刪除”按鈕時觸發(fā)Cmd_Del_Click事件,代碼如下:Private Sub Cmd_Del_Click() If Adodc1.Recordset.BOF = True Then MsgBox 請選擇記錄 Exit Sub End If 查找?guī)粜畔ccount表是否存在此銀行編號,如果存在則不允許刪除 If MyAcc.GetInfo(Adodc1.Recordset.Fields(0) Then MsgBox 帳戶信息中包含此銀行信息,不能刪除記錄 Exit Sub End If If MsgBox(是否確定要刪除銀行信息?, vbYesNo, 請確認) = vbNo Then確認刪除 Exit Sub End If MyBank.Delete (Adodc1.Recordset.Fields(0)刪除銀行信息 MsgBox 成功刪除 DataRefresh刷新數(shù)據(jù)End Sub4.2.3收入類型設(shè)置窗體FrmTypes(1)全局變量變量OriId用來標記當前選擇的記錄的編號,變量OriTypeName用在修改類型名稱時記錄原類型編號;變量nFlag保存當前編輯的信息類型,0表示收入類型信息,1表示支出類型信息。(2)Form_Load過程當裝入窗體FrmType時觸發(fā)Form_load事件,對應(yīng)的代碼如下:Private Sub Form_Load() DataRefresh刷新DataList1中的數(shù)據(jù)End Sub在此過程中將顯示所有的收入類型名稱。其中過程DataRefresh對應(yīng)的代碼如下:Private Sub DataRefresh() AdoType.ConnectionString = Conn設(shè)置連接字符串 AdoType.RecordSource = SELECT * FROM Types WHERE Flag= + Trim(nFlag) 讀取數(shù)據(jù) AdoType.Refresh Set DataList1.RowSource = AdoType設(shè)置數(shù)據(jù)源 DataList1.ListField = TypeName 設(shè)置列表中顯示字段 DataList1.BoundColumn = TypeId 設(shè)置列表綁定字段 DataList1.RefreshEnd Sub(3)Cmd_Add_Click過程在文本框中輸入新的類型名稱,單擊“添加”按鈕時觸發(fā)Cmd_Add_Click事件,代碼如下:Private Sub Cmd_Add_Click() If Len(Trim(txtName) = 0 Then添加類型名稱,先判斷域是否為空 MsgBox (請輸入類型名稱) txtName.SetFocus Exit Sub End If 判斷數(shù)據(jù)庫中是否已經(jīng)存在此類型名稱 If MyType.In_DB(Trim(txtName), nFlag) = True Then MsgBox (已經(jīng)存在此類型名稱) txtName.SetFocus Exit Sub End If 插入新記錄 With MyType .TypeName = Trim(txtName) .Flag = nFlag .Insert MsgBox 添加成功 End With DataRefreshEnd Sub(4)DataList_Click過程選擇數(shù)據(jù)列表中的記錄,在文本框中同時顯示此類型名稱,對應(yīng)的代碼如下:Private Sub DataList1_Click() 點擊列表記錄,將編號和名稱放入變量和txtName域 If Len(Trim(DataList1.BoundText) = 0 Then MsgBox (請選擇記錄) Exit Sub End If OriId = Val(DataList1.BoundText) 記錄編號 If MyType.GetInfo(OriId) = True Then 判斷是否存在此記錄信息 OriTypeName = Trim(MyType.TypeName) 將類型名稱保存到變量中 txtName = Trim(MyType.TypeName) 文本框中顯示類型名稱 End IfEnd Sub(5)Cmd_Modi_Click過程選擇類型名稱,在文本框中對其修改后,單擊“修改”按鈕觸發(fā)Cmd_Modi_Click事件,對應(yīng)的程序代碼如下:Private Sub Cmd_Modi_Click() 修改類型名稱 If Len(Trim(DataList1.BoundText) = 0 Then MsgBox (請選擇記錄) Exit Sub End If 判斷新的名稱是否和原來的相同 If Trim(txtName) = OriTypeName Then Exit Sub End If 判斷新的名稱是否已經(jīng)存在 If MyType.In_DB(Trim(txtName), nTypeId) = True Then MsgBox (已經(jīng)存在此類型名稱) txtName.SetFocus Exit Sub End If 更新名稱 MyType.TypeName = Trim(txtName) MyType.Update (OriId) MsgBox 修改成功 DataRefresh 刷新類型列表End Sub(6)Cmd_Del_Click過程選擇要刪除的類型名稱,用戶單擊“刪除”按鈕觸發(fā)Cmd_Del_Click事件,對應(yīng)的代碼如下:Private Sub Cmd_Del_Click() If Len(Trim(DataList1.BoundText) = 0 Then MsgBox (請選擇記錄) Exit Sub End If 確定刪除 If MsgBox(是否確定要刪除 , vbYesNo, 請確認) = vbNo Then Exit Sub End If 刪除類型 MyType.Delete (Val(DataList1.BoundText) MsgBox 刪除成功 DataRefresh 刷新DataList1End Sub4.2.4支出類型設(shè)置窗體FrmTypes支出類型設(shè)置窗體和收入類型設(shè)置窗體一樣,也是FrmTypes,只是公共變量nFlag的值為1。4.3理財信息管理模塊4.3.1日常收支信息編輯窗體FrmListEdit(1)Form_Load過程當裝入窗體時觸發(fā)Form_Load事件,代碼如下:Private Sub Form_Load() cob_Flag.AddItem 收入, 0 cob_Flag.AddItem 支出, 1 cob_Flag.ListIndex = 0 載入分類信息 Ado_Type.ConnectionString = Conn Ado_Type.RecordSource = Select * From Types Where Flag=0 Order By TypeId Ado_Type.Refresh Set dco_Type.RowSource = Ado_Type dco_Type.ListField = TypeName dco_Type.BoundColumn = TypeId 載入家庭成員信息 Ado_Mem.ConnectionString = Conn Ado_Mem.RecordSource = Select * From Members Order By MemId Ado_Mem.Refresh Set dco_Mem.RowSource = Ado_Mem dco_Mem.ListField = MemName dco_Mem.BoundColumn = MemId 載入帳戶信息 Ado_Acc.ConnectionString = Conn Ado_Acc.RecordSource = Select AccountNo From Account Order By AccountNo Ado_Acc.Refresh Set dco_Acc.RowSource = Ado_Acc dco_Acc.ListField = AccountNo dco_Acc.BoundColumn = AccountNoEnd Sub程序分別設(shè)置收支分類、收支帳戶和使用人等控件的數(shù)據(jù)源屬性。(2)cob_Flag_Click過程當用戶選擇不同的收支類型時觸發(fā)cob_Flag_Click事件,對應(yīng)的程序代碼如下:Private Sub cob_Flag_Click() 根據(jù)選擇的收支類型讀取對應(yīng)的類別信息 Ado_Type.ConnectionString = Conn Ado_Type.RecordSource = Select * From Types Where Flag= _ + Trim(cob_Flag.ListIndex) + Order By TypeId Ado_Type.Refresh Set dco_Type.RowSource = Ado_Type dco_Type.ListField = TypeName dco_Type.BoundColumn = TypeIdEnd Sub程序根據(jù)用戶選擇的收支類型數(shù)據(jù)設(shè)置SELECT語句,初始化收支分類控件。窗體中的其他代碼與銀行信息編輯窗體相似。4.3.2日常收支信息管理窗體FrmListMan(1)DataRefresh過程DataRefresh過程的功能是通過設(shè)置SELECT語句讀取表InOutList中的數(shù)據(jù),并顯示在表格控件中,代碼如下:Private Sub DataRefresh() Dim TmpSource As String Dim StrSch As String Dim StrDate As String 設(shè)置查詢條件 判斷是否選中“全部”,如果沒有則提取不同的查詢條件 If Check1.Value = 1 Then StrSch = Else If cob_Flag.ListIndex -1 Then StrSch = And l.Flag= + Trim(cob_Flag.ListIndex) End If If Len(Trim(dco_Type.Text() 0 Then StrSch = StrSch + And l.TypeId= + dco_Type.BoundText() End If If Len(Trim(cob_Date.Text) 0 Then StrDate = Format(cob_Date.Text, yyyy-mm-dd) StrSch = StrSch + And l.UseDate=# + Trim(StrDate) + # End If End If TmpSource = Select l.Id, IIF(l.Flag=0,收入,支出) AS 收支類型, _ + t.TypeName AS 分類名稱,l.ANo AS 賬號,l.UseDate AS 收支日期, _ + l.UseSum AS 收支金額,m.MemName AS 使用人,l.Memos AS 說明,l.Flag _ + From InOutList l,Types t,Members m _ + Where l.MemId=m.MemId And l.TypeId=t.TypeId + StrSch _ + Order By l.UseDate DescMsgBox TmpSource Adodc1.ConnectionString = Conn Adodc1.RecordSource = TmpSource Adodc1.Refresh Set DataGrid1.DataSource = Adodc1 DataGrid1.Columns(0).Width = 0 編號 DataGrid1.Columns(1).Width = 2100 收支類型 DataGrid1.Columns(2).Width = 1000 分類名稱 DataGrid1.Columns(3).Width = 1600 賬號 DataGrid1.Columns(4).Width = 1000 收支日期 DataGrid1.Columns(5).Width = 1200 收支金額 DataGrid1.Columns(6).Width = 1000 使用人 DataGrid1.Columns(7).Width = 1200 說明 DataGrid1.Columns(8).Width = 0 FlagEnd Sub窗體中其他代碼與銀行信息管理窗體相似。4.3.3銀行往來信息編輯窗體FrmOperEdit窗體代碼與日常收支信息編輯窗體相似。4.3.4銀行往來信息管理窗體FrmOperManDataRefresh過程的功能是根據(jù)查詢條件設(shè)置SELECT語句,從表BankOper中讀取銀行交易信息,并顯示在表格中,代碼如下:Private Sub DataRefresh() Dim TmpSource As String Dim StrSch As String 判斷是否選中“全部”,如果沒有則提取不同的查詢條件 If Check1.Value = 1 Then StrSch = Else If Len(Trim(dco_Bank.Text() 0 Then StrSch = And o.BId= + dco_Bank.BoundText() End If If Len(Trim(dco_Mem.Text() 0 Then StrSch = StrSch + And o.MemId= + dco_Mem.BoundText() End If If Len(Trim(dco_Acc.Text() 0 Then StrSch = StrSch + And o.ANo= + dco_Acc.BoundText() + End If End If TmpSource = Select o.Id, b.BankName AS 銀行名稱,m.MemName AS 交易人姓名,o.ANo AS 賬號, _ + o.OperDate AS 交易日期,o.OperSum AS 交易金額, _ + IIF(o.Flag=0,存款,IIF(o.Flag=1,取款,清戶) AS 交易類型, _ + o.Smonth AS 定期月份,o.Interest AS 實際利息,o.Memos AS 說明,o.Flag _ + From BankOper o,Banks b,Members m _ + Where o.BId=b.BankId And o.MemId=m.MemId + StrSch _ + Order By o.OperDate Desc Adodc1.ConnectionString = Conn Adodc1.RecordSource = TmpSource Adodc1.Refresh Set DataGrid1.DataSource = Adodc1 DataGrid1.Columns(0).Width = 0 編號 DataGrid1.Columns(1).Width = 2100 銀行名稱 DataGrid1.Columns(2).Width = 1000 交易人 DataGrid1.Columns(3).Width = 1600 賬號 DataGrid1.Columns(4).Width = 1000 交易日期 DataGrid1.Columns(5).Width = 1200 交易金額 DataGrid1.Columns(6).Width = 1000 交易類型 DataGrid1.Columns(7).Width = 1200 定期月份 DataGrid1.Columns(8).Width = 1000 實際利息 DataGrid1.Columns(9).Width = 1200 說明 DataGrid1.Columns(10).Width = 0 FlagEnd Sub窗體中的其他代碼與日常收支信息管理窗體相似。4.3.5銀行帳戶信息編輯窗體FrmAccountEdit窗體中的其他代碼與日常收支信息管理窗體相似。4.3.6銀行帳戶信息管理窗體FrmAccountManDataRefresh過程的功能是根據(jù)查詢條件設(shè)置SELECT語句,從表Account中讀取銀行帳戶信息,并顯示在表格中,代碼如下:Private Sub DataRefresh() Dim TmpSource As String Dim StrSch As String 判斷是否選中“全部”,如果沒有則提取不同的查詢條件 If Check1.Value = 1 Then StrSch = Else If Len(Trim(dco_Bank.Text() 0 Then StrSch = And a.BId= + dco_Bank.BoundText() End If If Len(Trim(dco_Mem.Text() 0 Then StrSch = StrSch + And a.MemId= + dco_Mem.BoundText() End If If Len(Trim(dco_Type.Text() 0 Then StrSch = StrSch + And a.AType= + dco_Type.BoundText() + End If End If TmpSource = Select a.AccountNo AS 賬號,b.BankName AS 銀行名稱,m.MemName AS 開戶人姓名, _ + a.AType AS 帳戶類別,a.OpenDate AS 開戶日期,a.ASum AS 帳戶金額, _ + IIF(a.Flag=0,活期,定期) AS 存款類型,a.Memos AS 說明,a.Flag _ + From Account a,Banks b,Members m _ + Where a.BId=b.BankId And a.MemId=m.MemId + StrSch _ + Order By a.AccountNo Adodc1.ConnectionString = Conn Adodc1.RecordSource = TmpSource Adodc1.Refresh Set DataGrid1.DataSource = Adodc1 DataGrid1.Columns(0).Width = 1600 賬號 DataGrid1.Columns(1).Width = 2100 銀行名稱 DataGrid1.Columns(2).Width = 1000 開戶人 DataGrid1.Columns(3).Width = 1000 帳戶種類 DataGrid1.Columns(4).Width = 1000 開戶日期 DataGrid1.Columns(5).Width = 1200 帳戶金額 DataGrid1.Columns(6).Width = 1000 存款類型 DataGrid1.Columns(7).Width = 1200 說明 DataGrid1.Columns(8).Width = 0End Sub窗體中的其他代碼與日常收支信息管理窗體相似。4.3.7銀行交易信息查看窗體FrmOperView在銀行帳戶信息管理窗體中,單擊“查看交易明細”按鈕,可以打開當前銀行帳戶對應(yīng)的銀行交易信息查看窗體,窗體中的公共變量TmpAccNo表示當前選擇的銀行帳戶。DataRefresh過程的功能是根據(jù)變量TmpAccNo設(shè)置SELECT語句,讀取指定銀行帳戶的交易明細信息,并顯示在表格中,代碼如下:Private Sub DataRefresh() Dim TmpSource As String TmpSource = Select o.Id, b.BankName AS 銀行名稱,m.MemName AS 交易人姓名, _ + o.OperDate AS 交易日期,o.OperSum AS 交易金額, _ + IIF(o.Flag=0,存款,IIF(o.Flag=1,取款,清戶) AS 交易類型, _ + o.Smonth AS 定期月份,o.Interest AS 實際利息,o.Memos AS 說明 _ + From BankOper o,Banks b,Members m _ + Where o.BId=b.BankId

溫馨提示

  • 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論