首页 VB课程设计实验报告-大学生日常支出管理系统

VB课程设计实验报告-大学生日常支出管理系统

举报
开通vip

VB课程设计实验报告-大学生日常支出管理系统VB课程设计实验报告-大学生日常支出管理系统 VB 实验题目:大学生日常支出管理系统 姓 名: 学 号: 09114115 指导老师: VB课程设计报告 大学生日常支出管理系统 一、 功能描述 大学生日常支出管理系统:实现对大学生在校期间的日常支出管理,包括日常收入与支出明细,及按月,按年的收入与支出汇总等。 本程序包含账目总览,记账,查询功能。 账目总览:总体查询本月平均开销,余额,及每天平均开销。 记账:记录每笔收入、支出,以及借贷情况。 查询功能:可以按开销方式查询花费金额,和收入方...

VB课程设计实验报告-大学生日常支出管理系统
VB课程 设计 领导形象设计圆作业设计ao工艺污水处理厂设计附属工程施工组织设计清扫机器人结构设计 实验报告-大学生日常支出管理系统 VB 实验题目:大学生日常支出管理系统 姓 名: 学 号: 09114115 指导老师: VB课程设计报告 大学生日常支出管理系统 一、 功能描述 大学生日常支出管理系统:实现对大学生在校期间的日常支出管理,包括日常收入与支出明细,及按月,按年的收入与支出汇总等。 本程序包含账目总览,记账,查询功能。 账目总览:总体查询本月平均开销,余额,及每天平均开销。 记账: 记录 混凝土 养护记录下载土方回填监理旁站记录免费下载集备记录下载集备记录下载集备记录下载 每笔收入、支出,以及借贷情况。 查询功能:可以按开销方式查询花费金额,和收入方式查询收入状况。 二、 详细设计 构成模块: 1、 登录界面 输入密码,判断是否正确,并判断是否允许登录 2、 账目总览 总览本月开销情况。 3、 记账本 记录具体账目信息,借贷款情况。 4、 查询账目 分类查询本月开销及借贷情况。 5、 用户设置 设置用户登录密码,确保账户管理的保密性。 设计思想: 实现财务管理系统主要是数据库的操作。 本系统数据用数据库存储,在程序中用Data和Adodc控件实现对数据的读取。 在数据的输出上,采用DataGrid输出总体数据,用Label和Text控件输出单条记录。 用户登录界面,在用户正确输入密码之前,Toolbar控件设为不可用,用户无法操作。当密码正确时Toolbar控件Enable属性为True,用户可操作,同时密码框和登录按钮消失,仅留下背景界面。 为保证用户使用时的隐私性,在用户设置中可以自由修改密码。修改时先由数据库中读取旧密码,与用户输入的密码对比,不相同则禁止用户修改。当密码正确时,再判断两次输入的新密码是否相同,不相同则禁止修改。 主窗体采用MDI窗体,但每次只允许一个窗体打开。 为了保证效果,在每个窗体的Form_Resize()过程中写入语句“Me.WindowState = 2”,以保证每次打开都是最大化显示。 当用户单击Toolbar上的按钮触发打开相应窗口时,都会先关闭其他窗口,使MDI窗体中始终都只有一个窗体处于打开状态,使得程序窗口不至混乱。 在借贷功能上,为防止用户误输入,在还款日期的输入上,先检测日期是否大于当前日期,如不大于,则提示用户重新输入。 - 1 - 09114115 孟凡超 VB课程设计报告 大学生日常支出管理系统 具体设计 登录窗口 Private Sub Command1_Click() Data1.Refresh If txt_pass = Data1.Recordset.Fields(0).Value Then '判断密码是否正确 MsgBox "欢迎回来,", vbOKOnly, "登陆成功," mdi_main.Toolbar.Enabled = True '工具栏可用 txt_pass.Visible = False '隐藏登录按钮 Command1.Visible = False Else MsgBox "密码错误,,", vbOKOnly, "错误" End If End Sub 账目总览: Dim str_jd As String Dim str_sz As String Private Sub sz() '定义显示收支的过程 Dim int_count As Integer Dim int_income As Integer Dim int_pay As Integer Dim int_charge As Integer Dim int_ave As Integer Dim int_avew As Integer Dim dat_dateF As Date Dim dat_dateL As Date datearry = Split(Date, "-") '把日期拆分成年月日 dat_dateF = CDate(datearry(0) & "-" & datearry(1) & "-" & "1") '设定本月第一天的日期 dat_dateL = CDate(datearry(0) & "-" & datearry(1) + 1 & "-" & "1") - 1 '设定本月最后一天的日期 If Data_come.Recordset.RecordCount = 0 Then '如果记录数为0则收入为0 int_come = 0 Else For int_count = 0 To Data_come.Recordset.RecordCount - 1 '做循环读入数据 int_income = int_income + Data_come.Recordset.Fields(0) Data_come.Recordset.MoveNext Next int_count Data_come.Recordset.MoveFirst End If If Data_pay.Recordset.RecordCount = 0 Then '如果记录是为0则支出为0 int_pay = 0 Else For int_count = 0 To Data_pay.Recordset.RecordCount - 1 '循环读入数据 int_pay = int_pay + Data_pay.Recordset.Fields(0) Data_pay.Recordset.MoveNext Next int_count Data_pay.Recordset.MoveFirst End If int_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 & "本月已过" & Date - dat_dateF & "天" & vbCrLf & "平均每天消费" & int_ave & vbCrLf & vbCrLf & "本月还剩" & dat_dateL - Date & "天" str_sz = str_sz & vbCrLf & "预计每天可消费" & int_avew & "元" End Sub Private Sub jd() Dim int_count As Integer Dim int_lend As Integer Dim int_borrow As Integer Dim dat_dateF As Date Dim dat_dateL As Date datearry = Split(Date, "-") - 2 - 09114115 孟凡超 VB课程设计报告 大学生日常支出管理系统 dat_dateF = CDate(datearry(0) & "-" & datearry(1) & "-" & "1") dat_dateL = CDate(datearry(0) & "-" & datearry(1) + 1 & "-" & "1") - 1 If Data_lend.Recordset.RecordCount = 0 Then int_lend = 0 Else 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.MoveFirst End If If Data_borrow.Recordset.RecordCount = 0 Then int_borrow = 0 Else 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.MoveFirst End If str_jd = "今天是" & Date & vbCrLf & vbCrLf & "本月借入" & int_lend & "元" + vbCrLf & "本月贷出" & int_borrow & "元" End Sub Private Sub cmd_jd_Click() lbl_title.Caption = "本月基本借贷情况如下" txt_show = str_jd '输出数据 End Sub Private Sub cmd_sz_Click() lbl_title.Caption = "本月基本收支情况如下" txt_show = str_sz '输出数据 End Sub Private Sub Form_Resize() Me.WindowState = 2 sz '加载过程 jd End Sub 记账本: Private Sub cmd_adddc_Click() Dim str_date As String str_date = txt_Byear & "-" & txt_Bmonth & "-" & txt_Bday If txt_Bmoney = "" Or txt_Bpeople = "" Or str_date < lbl_date.Caption Or Val(txt_Bmoney) = 0 Then '判断数据的合理性 MsgBox "请正确输入信息~" Else Data_borrow.Refresh Data_borrow.Recordset.AddNew Data_borrow.Recordset.Fields(0) = Val(txt_Bmoney) '更新数据 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 If End Sub Private Sub cmd_addjr_Click() Dim str_date As String str_date = txt_year & "-" & txt_month & "-" & txt_day If txt_money = "" Or txt_people = "" Or str_date < lbl_date.Caption Or Val(txt_money) = 0 Then '判断数据的合理性 MsgBox "请正确输入信息~" 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 = "" - 3 - 09114115 孟凡超 VB课程设计报告 大学生日常支出管理系统 txt_day = "" End If Data_lend.Recordset.MoveLast End Sub Private Sub cmd_addsr_Click() If txt_income = "" Or Combo_come.Text = "" Or Val(txt_income) = 0 Then '判断数据的合理性 MsgBox "请检查数据的完整性~" Else Data_come.Refresh Data_come.Recordset.AddNew '更新数据 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.Update txt_income = "" '清空文本框 Data_come.Recordset.MoveLast End If End Sub Private Sub cmd_addzc_Click() If txt_pay = "" Or Combo_pay.Text = "" Or Val(txt_pay) = 0 Then '判断数据的合理性 MsgBox "请检查数据的完整性~" Else Data_pay.Refresh Data_pay.Recordset.AddNew '更新数据 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.MoveLast End If End Sub Private Sub cmd_delborrow_Click() If Data_borrow.Recordset.RecordCount <> 0 Then '判断记录数是否为0 Data_borrow.Recordset.Delete '删除数据 Data_borrow.Refresh Else MsgBox "无记录~" End If End Sub Private Sub cmd_delincome_Click() If Data_come.Recordset.RecordCount <> 0 Then '判断记录数是否为0 Data_come.Recordset.Delete '删除数据 Data_come.Refresh Else MsgBox "无记录~" End If End Sub Private Sub cmd_dellend_Click() If Data_lend.Recordset.RecordCount <> 0 Then Data_lend.Recordset.Delete Data_lend.Refresh Else MsgBox "无记录~" End If End Sub Private Sub cmd_delpay_Click() If Data_pay.Recordset.RecordCount <> 0 Then Data_pay.Recordset.Delete Data_pay.Refresh Else MsgBox "无记录~" End If End Sub Private Sub Form_Load() lbl_date.Caption = Date End Sub - 4 - 09114115 孟凡超 VB课程设计报告 大学生日常支出管理系统 账目查询: Private Sub Command1_Click() Dim int_comeall As Integer Dim int_count As Integer Dim str_dateF As String Dim str_dateL As String datearry = Split(Date, "-") '分割日期 dat_dateF = datearry(0) & "-" & datearry(1) & "-" & "1" '计算本月第一天 dat_dateL = datearry(0) & "-" & datearry(1) + 1 & "-" & "1" '计算本月最后一天 condition = "收入.来源='" + Combo_come.Text + "'and 收入.日期 >='" + dat_dateF + "'and 收入.日期<'" + dat_dateL + "'" '设定搜索条件 Adodc_income.RecordSource = "select * from 收入 where " + condition Adodc_income.Refresh For int_count = 0 To Adodc_income.Recordset.RecordCount - 1 int_comeall = int_comeall + Adodc_income.Recordset.Fields(0) '计算收入总和 Next int_count Label_showcome.Caption = int_comeall End Sub Private Sub Command2_Click() Dim int_payall As Integer Dim int_count As Integer Dim str_dateF As String Dim str_dateL As String datearry = Split(Date, "-") dat_dateF = datearry(0) & "-" & datearry(1) & "-" & "1" dat_dateL = datearry(0) & "-" & datearry(1) + 1 & "-" & "1" condition = "支出.用途='" + Combo_pay.Text + "'and 支出.日期 >='" + dat_dateF + "'and 支出.日期<'" + dat_dateL + "'" '设定搜索条件 Adodc_pay.RecordSource = "select * from 支出 where " + condition Adodc_pay.Refresh For int_count = 0 To Adodc_pay.Recordset.RecordCount - 1 int_payall = int_payall + Adodc_pay.Recordset.Fields(0) '计算收入总和 Next int_count lbl_showpay.Caption = int_payall End Sub Private Sub Command3_Click() Dim int_count As Integer Dim int_lend As Integer For int_count = 0 To Adodc_lend.Recordset.RecordCount - 1 '计算借入总额 int_lend = int_lend + Adodc_lend.Recordset.Fields(0) Next int_count Label5.Caption = "总借入" & int_lend & "元" End Sub Private Sub Command4_Click() Dim int_count As Integer Dim int_borrow As Integer For int_count = 0 To Adodc_borrow.Recordset.RecordCount - 1 int_borrow = int_borrow + Adodc_borrow.Recordset.Fields(0) '计算贷出总额 Next int_count Label6.Caption = "总贷出" & int_borrow & "元" End Sub 用户设置: Private Sub cmd_ok_Click() Data1.Refresh If txt_oldpass = Data1.Recordset.Fields(0).Value Then If Text2 = Text3 Then Data1.Recordset.Edit Data1.Recordset.Fields(0).Value = Text2.Text Data1.Recordset.Update MsgBox "更改成功~", vbOKOnly, "密码修改" txt_oldpass.Text = "" Text2.Text = "" Text3.Text = "" Else MsgBox "两次密码不相同~" End If Else MsgBox "旧密码错误~", vbOKOnly, "密码错误" End If End Sub - 5 - 09114115 孟凡超 VB课程设计报告 大学生日常支出管理系统 三、 效果及存在问题 1、 程序运行效果 登录界面: 账目总览: - 6 - 09114115 孟凡超 VB课程设计报告 大学生日常支出管理系统 记账本: 收支界面 借贷界面 - 7 - 09114115 孟凡超 VB课程设计报告 大学生日常支出管理系统 用户设置: 2、 程序设计出现的问题 在最初设计时,没有考虑到多窗口切换的问题,使用多个独立窗口,增加了程序的复杂程度,出现了很多重复代码。使用MDI窗体可以解决这个问题 在最初使用Data和 ADO控件时,发现无法更新数据。后用Refresh语句解决了这一问题。 在对于日期的判断上,因为不能预先在代码中设计每月天数,用Split函数把日期分割成年月日,再进行比较和计算。 在使用Label和Text控件读取数据库信息时,直接用SourceField读取,可以节省代码。 四、 心得 1、 通过本次课程设计,对面向对象的编程机制有了更深的了解。 2、 初步掌握了Data 和Adodc控件的使用方法。 3、 熟悉其他控件的使用方法。 4、 熟悉了数据库的建立和使用,对连接数据库有了更深的认识。 对SQL语句的运用的熟练。 5、 掌握了VB的三种结构的程序设计的思想。 - 8 - 09114115 孟凡超 VB课程设计报告 大学生日常支出管理系统 6、 - 9 - 09114115 孟凡超
本文档为【VB课程设计实验报告-大学生日常支出管理系统】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
is_842972
暂无简介~
格式:doc
大小:118KB
软件:Word
页数:0
分类:生活休闲
上传时间:2018-01-13
浏览量:8