VB課程設(shè)計(jì)實(shí)驗(yàn)報(bào)告-大學(xué)生日常支出管理系統(tǒng).doc_第1頁(yè)
VB課程設(shè)計(jì)實(shí)驗(yàn)報(bào)告-大學(xué)生日常支出管理系統(tǒng).doc_第2頁(yè)
VB課程設(shè)計(jì)實(shí)驗(yàn)報(bào)告-大學(xué)生日常支出管理系統(tǒng).doc_第3頁(yè)
VB課程設(shè)計(jì)實(shí)驗(yàn)報(bào)告-大學(xué)生日常支出管理系統(tǒng).doc_第4頁(yè)
VB課程設(shè)計(jì)實(shí)驗(yàn)報(bào)告-大學(xué)生日常支出管理系統(tǒng).doc_第5頁(yè)
已閱讀5頁(yè),還剩5頁(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)介

VB程序設(shè)計(jì)試驗(yàn)報(bào)告實(shí)驗(yàn)題目:大學(xué)生日常支出管理系統(tǒng)姓 名: 孟凡超 學(xué) 號(hào): 09114115 指導(dǎo)老師: 王紅玲 VB課程設(shè)計(jì)報(bào)告 大學(xué)生日常支出管理系統(tǒng)一、 功能描述大學(xué)生日常支出管理系統(tǒng):實(shí)現(xiàn)對(duì)大學(xué)生在校期間的日常支出管理,包括日常收入與支出明細(xì),及按月,按年的收入與支出匯總等。本程序包含賬目總覽,記賬,查詢功能。賬目總覽:總體查詢本月平均開銷,余額,及每天平均開銷。記賬:記錄每筆收入、支出,以及借貸情況。查詢功能:可以按開銷方式查詢花費(fèi)金額,和收入方式查詢收入狀況。二、 詳細(xì)設(shè)計(jì)構(gòu)成模塊:1、 登錄界面 輸入密碼,判斷是否正確,并判斷是否允許登錄2、 賬目總覽 總覽本月開銷情況。3、 記賬本 記錄具體賬目信息,借貸款情況。4、 查詢賬目 分類查詢本月開銷及借貸情況。5、 用戶設(shè)置 設(shè)置用戶登錄密碼,確保賬戶管理的保密性。設(shè)計(jì)思想: 實(shí)現(xiàn)財(cái)務(wù)管理系統(tǒng)主要是數(shù)據(jù)庫(kù)的操作。本系統(tǒng)數(shù)據(jù)用數(shù)據(jù)庫(kù)存儲(chǔ),在程序中用Data和Adodc控件實(shí)現(xiàn)對(duì)數(shù)據(jù)的讀取。在數(shù)據(jù)的輸出上,采用DataGrid輸出總體數(shù)據(jù),用Label和Text控件輸出單條記錄。用戶登錄界面,在用戶正確輸入密碼之前,Toolbar控件設(shè)為不可用,用戶無(wú)法操作。當(dāng)密碼正確時(shí)Toolbar控件Enable屬性為True,用戶可操作,同時(shí)密碼框和登錄按鈕消失,僅留下背景界面。為保證用戶使用時(shí)的隱私性,在用戶設(shè)置中可以自由修改密碼。修改時(shí)先由數(shù)據(jù)庫(kù)中讀取舊密碼,與用戶輸入的密碼對(duì)比,不相同則禁止用戶修改。當(dāng)密碼正確時(shí),再判斷兩次輸入的新密碼是否相同,不相同則禁止修改。主窗體采用MDI窗體,但每次只允許一個(gè)窗體打開。為了保證效果,在每個(gè)窗體的Form_Resize()過(guò)程中寫入語(yǔ)句“Me.WindowState = 2”,以保證每次打開都是最大化顯示。當(dāng)用戶單擊Toolbar上的按鈕觸發(fā)打開相應(yīng)窗口時(shí),都會(huì)先關(guān)閉其他窗口,使MDI窗體中始終都只有一個(gè)窗體處于打開狀態(tài),使得程序窗口不至混亂。在借貸功能上,為防止用戶誤輸入,在還款日期的輸入上,先檢測(cè)日期是否大于當(dāng)前日期,如不大于,則提示用戶重新輸入。具體設(shè)計(jì)登錄窗口Private Sub Command1_Click()Data1.RefreshIf txt_pass = Data1.Recordset.Fields(0).Value Then 判斷密碼是否正確MsgBox 歡迎回來(lái)!, vbOKOnly, 登陸成功!mdi_main.Toolbar.Enabled = True 工具欄可用txt_pass.Visible = False 隱藏登錄按鈕Command1.Visible = FalseElseMsgBox 密碼錯(cuò)誤!, vbOKOnly, 錯(cuò)誤End IfEnd Sub賬目總覽:Dim str_jd As StringDim str_sz As StringPrivate Sub sz() 定義顯示收支的過(guò)程Dim int_count As IntegerDim int_income As IntegerDim int_pay As IntegerDim int_charge As IntegerDim int_ave As IntegerDim int_avew As IntegerDim dat_dateF As DateDim dat_dateL As Datedatearry = Split(Date, -) 把日期拆分成年月日dat_dateF = CDate(datearry(0) & - & datearry(1) & - & 1) 設(shè)定本月第一天的日期dat_dateL = CDate(datearry(0) & - & datearry(1) + 1 & - & 1) - 1 設(shè)定本月最后一天的日期If Data_come.Recordset.RecordCount = 0 Then 如果記錄數(shù)為0則收入為0 int_come = 0Else For int_count = 0 To Data_come.Recordset.RecordCount - 1 做循環(huán)讀入數(shù)據(jù) int_income = int_income + Data_come.Recordset.Fields(0) Data_come.Recordset.MoveNext Next int_count Data_come.Recordset.MoveFirstEnd IfIf Data_pay.Recordset.RecordCount = 0 Then 如果記錄是為0則支出為0 int_pay = 0Else For int_count = 0 To Data_pay.Recordset.RecordCount - 1 循環(huán)讀入數(shù)據(jù) int_pay = int_pay + Data_pay.Recordset.Fields(0) Data_pay.Recordset.MoveNext Next int_count Data_pay.Recordset.MoveFirstEnd Ifint_charge = int_income - int_pay 計(jì)算余額int_ave = int_pay / (Date - dat_dateF)int_avew = int_charge / (dat_dateL - Date)str_sz = 今天是 & Date & vbCrLf & vbCrLf & 本月總收入 & int_income & 元 + vbCrLf & 本月總支出 & int_pay & 元 & vbCrLf & 本月剩余資金 & int_charge & 元str_sz = str_sz & vbCrLf & vbCrLf & 本月已過(guò) & Date - dat_dateF & 天 & vbCrLf & 平均每天消費(fèi) & int_ave & vbCrLf & vbCrLf & 本月還剩 & dat_dateL - Date & 天str_sz = str_sz & vbCrLf & 預(yù)計(jì)每天可消費(fèi) & int_avew & 元End SubPrivate Sub jd()Dim int_count As IntegerDim int_lend As IntegerDim int_borrow As IntegerDim dat_dateF As DateDim dat_dateL As Datedatearry = Split(Date, -)dat_dateF = CDate(datearry(0) & - & datearry(1) & - & 1)dat_dateL = CDate(datearry(0) & - & datearry(1) + 1 & - & 1) - 1If Data_lend.Recordset.RecordCount = 0 Then int_lend = 0Else For int_count = 0 To Data_lend.Recordset.RecordCount - 1 int_lend = int_lend + Data_lend.Recordset.Fields(0) Data_lend.Recordset.MoveNext Next int_count Data_lend.Recordset.MoveFirstEnd IfIf Data_borrow.Recordset.RecordCount = 0 Then int_borrow = 0Else For int_count = 0 To Data_borrow.Recordset.RecordCount - 1 int_borrow = int_borrow + Data_borrow.Recordset.Fields(0) Data_borrow.Recordset.MoveNext Next int_count Data_borrow.Recordset.MoveFirstEnd Ifstr_jd = 今天是 & Date & vbCrLf & vbCrLf & 本月借入 & int_lend & 元 + vbCrLf & 本月貸出 & int_borrow & 元End SubPrivate Sub cmd_jd_Click()lbl_title.Caption = 本月基本借貸情況如下txt_show = str_jd 輸出數(shù)據(jù)End SubPrivate Sub cmd_sz_Click()lbl_title.Caption = 本月基本收支情況如下txt_show = str_sz 輸出數(shù)據(jù)End SubPrivate Sub Form_Resize()Me.WindowState = 2sz 加載過(guò)程jdEnd Sub記賬本:Private Sub cmd_adddc_Click()Dim str_date As Stringstr_date = txt_Byear & - & txt_Bmonth & - & txt_BdayIf txt_Bmoney = Or txt_Bpeople = Or str_date lbl_date.Caption Or Val(txt_Bmoney) = 0 Then 判斷數(shù)據(jù)的合理性 MsgBox 請(qǐng)正確輸入信息!Else Data_borrow.Refresh Data_borrow.Recordset.AddNew Data_borrow.Recordset.Fields(0) = Val(txt_Bmoney) 更新數(shù)據(jù) Data_borrow.Recordset.Fields(1) = txt_Bpeople Data_borrow.Recordset.Fields(2) = str_date Data_borrow.Recordset.Fields(3) = lbl_date Data_borrow.Recordset.Update txt_Bmoney = 清空文本框 txt_Bpeople = txt_Byear = txt_Bmonth = txt_Bday = End IfEnd SubPrivate Sub cmd_addjr_Click()Dim str_date As Stringstr_date = txt_year & - & txt_month & - & txt_dayIf txt_money = Or txt_people = Or str_date lbl_date.Caption Or Val(txt_money) = 0 Then 判斷數(shù)據(jù)的合理性 MsgBox 請(qǐng)正確輸入信息!Else Data_lend.Refresh Data_lend.Recordset.AddNew Data_lend.Recordset.Fields(0) = Val(txt_money) Data_lend.Recordset.Fields(1) = txt_people Data_lend.Recordset.Fields(2) = str_date Data_lend.Recordset.Fields(3) = lbl_date.Caption Data_lend.Recordset.Update txt_money = txt_people = txt_year = txt_month = txt_day = End IfData_lend.Recordset.MoveLastEnd SubPrivate Sub cmd_addsr_Click()If txt_income = Or Combo_come.Text = Or Val(txt_income) = 0 Then 判斷數(shù)據(jù)的合理性 MsgBox 請(qǐng)檢查數(shù)據(jù)的完整性!Else Data_come.Refresh Data_come.Recordset.AddNew 更新數(shù)據(jù) Data_come.Recordset.Fields(0) = Val(txt_income) Data_come.Recordset.Fields(1) = Combo_come.Text Data_come.Recordset.Fields(2) = lbl_date.Caption Data_come.Recordset.Updatetxt_income = 清空文本框Data_come.Recordset.MoveLastEnd IfEnd SubPrivate Sub cmd_addzc_Click()If txt_pay = Or Combo_pay.Text = Or Val(txt_pay) = 0 Then 判斷數(shù)據(jù)的合理性 MsgBox 請(qǐng)檢查數(shù)據(jù)的完整性!Else Data_pay.Refresh Data_pay.Recordset.AddNew 更新數(shù)據(jù) Data_pay.Recordset.Fields(0) = Val(txt_pay) Data_pay.Recordset.Fields(1) = Combo_pay.Text Data_pay.Recordset.Fields(2) = lbl_date Data_pay.Recordset.Update txt_pay = 清空文本框Data_pay.Recordset.MoveLastEnd IfEnd SubPrivate Sub cmd_delborrow_Click()If Data_borrow.Recordset.RecordCount 0 Then 判斷記錄數(shù)是否為0 Data_borrow.Recordset.Delete 刪除數(shù)據(jù) Data_borrow.RefreshElse MsgBox 無(wú)記錄!End IfEnd SubPrivate Sub cmd_delincome_Click()If Data_come.Recordset.RecordCount 0 Then 判斷記錄數(shù)是否為0 Data_come.Recordset.Delete 刪除數(shù)據(jù) Data_come.RefreshElse MsgBox 無(wú)記錄! End IfEnd SubPrivate Sub cmd_dellend_Click()If Data_lend.Recordset.RecordCount 0 Then Data_lend.Recordset.Delete Data_lend.RefreshElse MsgBox 無(wú)記錄! End IfEnd SubPrivate Sub cmd_delpay_Click()If Data_pay.Recordset.RecordCount 0 Then Data_pay.Recordset.Delete Data_pay.RefreshElse MsgBox 無(wú)記錄! End IfEnd SubPrivate Sub Form_Load()lbl_date.Caption = DateEnd Sub賬目查詢:Private Sub Command1_Click()Dim int_comeall As IntegerDim int_count As IntegerDim str_dateF As StringDim str_dateL As Stringdatearry = Split(Date, -) 分割日期dat_dateF = datearry(0) & - & datearry(1) & - & 1 計(jì)算本月第一天dat_dateL = datearry(0) & - & datearry(1) + 1 & - & 1 計(jì)算本月最后一天condition = 收入.來(lái)源= + Combo_come.Text + and 收入.日期 = + dat_dateF + and 收入.日期= + dat_dateF + and 支出.日期 + dat_dateL + 設(shè)定搜索條件Adodc_pay.RecordSource = select * from 支出 where + conditionAdodc_pay.RefreshFor int_count = 0 To Adodc_pay.Recordset.RecordCount - 1 int_payall = int_payall + Adodc_pay.Recordset.Fields(0) 計(jì)算收入總和Next int_countlbl_showpay.Caption = int_payallEnd SubPrivate Sub Command3_Click()Dim int_count As IntegerDim int_lend As IntegerFor int_count = 0 To Adodc_lend.Recordset.RecordCount - 1 計(jì)算借入總額 int_lend = int_lend + Adodc_lend.Recordset.Fields(0)Next int_countLabel5.Caption = 總借入 & int_lend & 元End SubPrivate Sub Command4_Click()Dim int_count As IntegerDim int_borrow As IntegerFor int_count = 0 To Adodc_borrow.Recordset.RecordCount - 1 int_borrow = int_borrow + Adodc_borrow.Recordset.Fields(0) 計(jì)算貸出總額Next int_countLabel

溫馨提示

  • 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)論