VB課程設(shè)計實驗報告大學生日常支出管理系統(tǒng)_第1頁
VB課程設(shè)計實驗報告大學生日常支出管理系統(tǒng)_第2頁
VB課程設(shè)計實驗報告大學生日常支出管理系統(tǒng)_第3頁
VB課程設(shè)計實驗報告大學生日常支出管理系統(tǒng)_第4頁
VB課程設(shè)計實驗報告大學生日常支出管理系統(tǒng)_第5頁
已閱讀5頁,還剩5頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、vb程序設(shè)計試驗報告實驗題目:大學生日常支出管理系統(tǒng)姓 名: 學 號: 09114115 指導老師: vb課程設(shè)計報告 大學生日常支出管理系統(tǒng)一、 功能描述大學生日常支出管理系統(tǒng):實現(xiàn)對大學生在校期間的日常支出管理,包括日常收入與支出明細,及按月,按年的收入與支出匯總等。本程序包含賬目總覽,記賬,查詢功能。賬目總覽:總體查詢本月平均開銷,余額,及每天平均開銷。記賬:記錄每筆收入、支出,以及借貸情況。查詢功能:可以按開銷方式查詢花費金額,和收入方式查詢收入狀況。二、 詳細設(shè)計構(gòu)成模塊:1、 登錄界面 輸入密碼,判斷是否正確,并判斷是否允許登錄2、 賬目總覽 總覽本月開銷情況。3、 記賬本 記錄具

2、體賬目信息,借貸款情況。4、 查詢賬目 分類查詢本月開銷及借貸情況。5、 用戶設(shè)置 設(shè)置用戶登錄密碼,確保賬戶管理的保密性。設(shè)計思想: 實現(xiàn)財務(wù)管理系統(tǒng)主要是數(shù)據(jù)庫的操作。本系統(tǒng)數(shù)據(jù)用數(shù)據(jù)庫存儲,在程序中用data和adodc控件實現(xiàn)對數(shù)據(jù)的讀取。在數(shù)據(jù)的輸出上,采用datagrid輸出總體數(shù)據(jù),用label和text控件輸出單條記錄。用戶登錄界面,在用戶正確輸入密碼之前,toolbar控件設(shè)為不可用,用戶無法操作。當密碼正確時toolbar控件enable屬性為true,用戶可操作,同時密碼框和登錄按鈕消失,僅留下背景界面。為保證用戶使用時的隱私性,在用戶設(shè)置中可以自由修改密碼。修改時先由數(shù)

3、據(jù)庫中讀取舊密碼,與用戶輸入的密碼對比,不相同則禁止用戶修改。當密碼正確時,再判斷兩次輸入的新密碼是否相同,不相同則禁止修改。主窗體采用mdi窗體,但每次只允許一個窗體打開。為了保證效果,在每個窗體的form_resize()過程中寫入語句“me.windowstate = 2”,以保證每次打開都是最大化顯示。當用戶單擊toolbar上的按鈕觸發(fā)打開相應(yīng)窗口時,都會先關(guān)閉其他窗口,使mdi窗體中始終都只有一個窗體處于打開狀態(tài),使得程序窗口不至混亂。在借貸功能上,為防止用戶誤輸入,在還款日期的輸入上,先檢測日期是否大于當前日期,如不大于,則提示用戶重新輸入。具體設(shè)計登錄窗口private sub

4、 command1_click()data1.refreshif txt_pass = data1.recordset.fields(0).value then 判斷密碼是否正確msgbox 歡迎回來!, vbokonly, 登陸成功!mdi_main.toolbar.enabled = true 工具欄可用txt_pass.visible = false 隱藏登錄按鈕command1.visible = falseelsemsgbox 密碼錯誤!, vbokonly, 錯誤end ifend sub賬目總覽:dim str_jd as stringdim str_sz as stringpr

5、ivate sub sz() 定義顯示收支的過程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è)

6、定本月第一天的日期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.

7、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.recor

8、dset.movefirstend ifint_charge = int_income - int_pay 計算余額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

9、& 本月已過 & date - dat_datef & 天 & vbcrlf & 平均每天消費 & int_ave & vbcrlf & vbcrlf & 本月還剩 & dat_datel - date & 天str_sz = str_sz & vbcrlf & 預計每天可消費 & 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

10、= 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.fiel

11、ds(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 ne

12、xt 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 =

13、 str_sz 輸出數(shù)據(jù)end subprivate sub form_resize()me.windowstate = 2sz 加載過程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 請正確輸入信息!e

14、lse 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

15、= 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 請正確輸入信息!else data_lend.refresh data_lend.recor

16、dset.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.records

17、et.movelastend subprivate sub cmd_addsr_click()if txt_income = or combo_come.text = or val(txt_income) = 0 then 判斷數(shù)據(jù)的合理性 msgbox 請檢查數(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.r

18、ecordset.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 請檢查數(shù)據(jù)的完整性!else data_pay.refresh data_pay.recordset.addnew 更新數(shù)據(jù) data_pay.re

19、cordset.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.r

20、ecordset.delete 刪除數(shù)據(jù) data_borrow.refreshelse msgbox 無記錄!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 無記錄! end ifend subprivate sub cmd_dellend_click()if data_lend.recordset.recordcount 0

21、 then data_lend.recordset.delete data_lend.refreshelse msgbox 無記錄! end ifend subprivate sub cmd_delpay_click()if data_pay.recordset.recordcount 0 then data_pay.recordset.delete data_pay.refreshelse msgbox 無記錄! end ifend subprivate sub form_load()lbl_date.caption = dateend sub賬目查詢:private sub command

22、1_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 計算本月第一天dat_datel = datearry(0) & - & datearry(1) + 1 & - & 1 計算本月最后一天condition = 收入.來源= + combo_come.text + and 收入.

23、日期 = + 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) 計算收入總和next int_countlbl_showpay.capti

24、on = int_payallend subprivate sub command3_click()dim int_count as integerdim int_lend as integerfor int_count = 0 to adodc_lend.recordset.recordcount - 1 計算借入總額 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) 計算貸出總額next int_countlabel6

溫馨提示

  • 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

提交評論