资源描述
XX大学
毕业设计(论文)
个人收支管理系统
学 院 XXXXXXXXXXXXX
年级专业 XXXXXXXXXXX
学生姓名 XXX
指导教师 XXX
专业负责人
完成日期 XXXX年XX月
摘 要
个人收支记录是个人日常生活与工作中一项重要的业务,个人需要利用个人收支管理系统来记录各种帐务信息,以及对其进行必要的管理。本系统是专门针对个人日常需求而开发的一个具备几种常用功能的系统。
个人收支管理系统主要完成以下功能:
系统维护:收支类别管理,可以添加类别(包括类别名称,说明,收支选择),删除类别。收支名称管理:包括收支名称的增加与删除,通过点击不同的收支类型,可以查到相应的收支名称。银行卡管理:包括银行卡的增加,删除,通过点击不同类型的银行卡,可以查到相应的银行卡信息(卡号,开户日期等)。记账日志:分为现金记账,银行卡记账。查询和统计:包括支出情况统计,收支情况对比。
关键词:个人收支管理系统;Visual basic 6.0;数据库系统
目 录
摘 要 .I
目 录 II
第1章 绪论 1
1.1 开发背景 1
1.2 开发目的和意义 1
第2章 开发工具介绍 2
2.1 Visual basic 6.0简介 2
2.2 Visual Basic具有以下特点 2
2.2.1面向对象的可视化设计平台 2
2.2.2事件驱动的编程机制 3
2.2.3结构化的设计语言 3
2.2.4充分利用Windows资源 3
2.2.5开放的数据库功能与网络支持 3
2.3 Visual basic 6.0运行环境及配置 4
2.4 Access数据库介绍 4
第3章 需求分析 6
3.1系统需求分析 6
3.1.1 功能需求 6
3.1.2 性能需求 6
3.1.3 环境需求 6
3.1.4 未来需求 6
3.2 数据流程图 6
第4章 系统总体设计 8
4.1系统功能模块 8
4.2功能的实现 8
4.3系统功能模块图 8
第5章 系统详细设计 10
5.1系统结构设计 10
5.2 E-R图 11
5.2.1 收支类型E-R图 11
5.2.2 银行卡表E-R图 11
5.2.3 银行卡记录表E-R图 12
5.2.4 收支记录表E-R图 12
5.2.5 关系实体E-R图 12
5.3系统主要界面设计 14
5.4数据库设计 16
5.4.1 收支类别数据表 17
5.4.2 银行卡管理数据 17
5.4.3 银行卡管理数据表 17
5.4.4 现金记账数据表 18
第6章 系统主要界面说明和使用说明 19
系统使用说明 19
结 论 21
参考文献 22
附录:源程序代码 23
致 谢 31
第1章 绪论
1.1 开发背景
计算机应用已经渗透到日常工作的许多方面,无论是其自身还是其所发挥的作用。计算机都标志着一种高科技、高效率和高水平。信息作为生产力中最活跃的因素,很早就在人类经济生活中发挥着不可替代的作用,但把信息纳入企业经营管理系统中高效处理和应用是在计算机发明以后的50年代末。
目前人们所提到的管理信息系统,通常是指以计算机为工具,对管理信息进行收集、存贮、检索、加工和传递,使其应用于组织机构及企业管理领域的“人-机系统”,该系统是70年代初“后工业经济”时代的产物,在企业管理信息系统在其发展的初期,是单一的人—机系统,系统功能简单,效率低,对管理的作用有限。
为了企业创先进、争一流,为了企业的明天,许多企业的领导已经或正准备投入高额资金,建立大规模的计算机管理信息系统(MIS),所以越来越多的现代化计算机管理软件进入了社会应用的方方面面,个人收支管理领域也不例外。
个人收支管理信息系统是针对个人的收入和支出的自身特点,适合对钱财管理中的实际情况,涉及了收入和支出的每一个环节,为个人的财务管理提供了一个先进的系统平台和一个合理分配收支的环境,加快了信息反馈,从而更好的管理自己的财务。本系统的实现使用户从繁重的手工业务中解脱出来,提高了管理钱财的效率和质量。
个人收支并不是一个新鲜词,简单地说就是开源节流、管理好您的钱。是实现个人人生目标而制定、安排、实施和管理的一个各方面总体协调的财务规划的过程,或是对家庭资产的合理安排与管理。
1.2 开发目的和意义
通过数据库技术分析数据库中个人财产的基本信息,达到收支的目的:
1.建立数据库, 个人收支的基本资料就存放在其中。
2.把个人收支的全部资料输入数据库。
3.用VB开发出应用程序连接数据库。
4. 在应用程序中用查询和统计等手段对数据库的资料进行处理,得到有效的数据,分析出个人的财产情况,得出结论和措施,然后个人就可以通过措施达到收支的目的。
第2章 开发工具介绍
2.1 Visual basic 6.0简介
VB是一种可视化的编程语言,这种方法不需要编写大量的代码去描述截面外观和位置,而只需要把预先建立的控件,先使用“画图”之类的绘图程序那样“画”到屏幕上即可。它一共具有三个版本:标准版、企业版、专业版。它作为一种开发工具而言,不仅仅是一种语言 ,从数学计算、数据库管理、客户/服务器软件,通信软件,多媒体软件带Inter/Intranet软件,都可以用VB开饭完成。使用VB 不仅可以感受到Windows带来的新技术,新概念和新的开发方法,而且VB是目前众多Windows软件开发工具中效率最高的一个 。同时我们利用 VB6.0编制数据库操作应用程序。VB编程操作数据库的方法可分两层:第一层是通过数据操作对象访问数据库 ,这种方式需要将数据库操作组件库加入VB的工程项目的参考,然后在程序中构造这些数据库组件对象的实例连接,操作和管理数据库,如DAO对象编程,RDO对象编程和ADO对象编程等,还包括直接调用ODBC API接口编程,第二层是通过具有数据感知性的控件来访问数据库,包括VB自带控件和第三方开发的Activex控件。
这些组件是具有数据感知性,即内置了数据库访问的对象(或者DAO,或者ADO等),并提供给主程序访问的接口,供客户端程序调用。两种方法比较起来,第一种方式编程灵活,功能强大,可扩展性强;第二种方式方便易用,开发迅速,编码量小,并且不需要了解内部数据流动的细节。所以我们利用这种可视化技术进行编程,能使编程工作变得轻松快捷,摆脱了面向过程语言的许多细节,而将主要精力集中在解决实际问题和设计友好界面上。因此,VB在国内外各个领域中应用非常广泛,许多计算机专业和非计算机专业和非计算机专业的人员常利用它来编制开发应用程序和软件。
2.2 Visual Basic具有以下特点
2.2.1面向对象的可视化设计平台
利用传统的程序设计语言进行程序设计时,需要花费大量的精力通过编程设计程序的界面,在设计过程中看不到程序的实际显示效果,必须在运行程序的时候才能观察。如果对程序的界面不满意,还要回到程序中去修改,这一过程常常需要反复多次,大大影响了编程的效率。VB提供的可视化设计平台,把Windows界面设计的复杂性“封装”起来。程序员不必再为界面的设计而编写大量程序代码,只需按设计的要求,用系统提供的工具在屏幕上“画出”各种对象,VB将自动产生界面设计代码,程序员所需要编写的只是实现程序功能的那部分代码,从而大大提高了编程的效率。
2.2.2事件驱动的编程机制
传统的编程方式是面向过程的、按事先设计的程序流程来运行的。但在图形用户界面的应用程序中,用户的动作(即事件)掌握着程序的运行流向,每个事件都驱动一段程序的运行。程序员在设计应用程序时,不必建立具有明显开始和结束的程序,而是编写如干个微小的子程序,即过程。这些过程分别面向不同的对象,由用户操作引发某个事件来驱动完成某种特定的功能,或由事件驱动程序调用通用过程来执行制定的错做。
2.2.3结构化的设计语言
VB是在结构化的BASIC语言基础上发展起来的,具有高级程序设计语言的语句结构,接近于自然语言和人类的逻辑思维方式,其语句简单易懂。
VB是解释型语言,在输入代码的同时,解释系统将高级语言分解翻译成计算机可以识别的机器指令,并判断每个语句的语法错误。在设计VB程序过程中,随时可运行程序,而在整个应用程序设计好后,可编译生成可执行未见(.exe),脱离VB环境,直接这Windows环境下运行。
2.2.4充分利用Windows资源
VB提供的动态数据交换(DDE,Dynamic Data Exchange)编程技术,可以在应用程序中实现与其他Windows应用程序建立动态数据 交换、在不同的应
用程序之间进行通信的功能。
VB提供的对象链接与嵌入(OLE, Object Link and Embed)技术则是将每个应用程序都看做一个对象,将不同的对象链接起来,嵌入到某个应用程序中,从而得到具有声音、影像、图像、动画、文字等各种信息的集合式文件。
VB还可以通过动态链接库(DLL,Dynamic Link Library)技术将C/C++或汇编语言编写的程序加入到VB得应用程序中,或是调用Windows应用程序接口(API,Application Programming Interface)函数,实现软件开发工具包(SDK,Software Development Kit)所具有的功能。
2.2.5开放的数据库功能与网络支持
VB系统具有很强的数据库管理功能。不仅可以管理MS Access格式的数据库,还能访问其他外部数据库,如FoxPro,Paradox等格式的数据库。另外,VB还提供了开放式数据连接(ODBC)功能,可以通过直接访问或建立连接的方式使用并操作后台大型网络数据库,如SQL Server,Oracle等。在应用程序中,可以使用结构化查询语句(SQL)直接访问Server上的数据库,并提供简单的面向对象的库操作命令、多用户数据库的加锁机制和网络数据库的编程技术,为单机上运行的数据库提供SQL网络接口,以便在分布式环境中快速而有效地实现客户\服务器(Client/Server)方案。
2.3 Visual basic 6.0运行环境及配置
为运行Visual Basic,必须在计算机上安装相应的硬件和软件系。具体要求是:
1.操作系统:Microsoft Windows NT Server 4.0或更高的版本,或Microsoft Windows 95或更高的版本。
2.CPU:486DX/66 MHZ或更高的处理器(推荐pentium或更高的处理器)。
3.内存:Microsoft Windows 95/98下要求的24MB以上的内存,Windows T下要求32MB以上。
4. 磁盘空间:对于标准版,典型安装48MB,完全安装80MB。对于专业版,典型安装48MB,完全安装80MB。对于企业版,典型安装128MB,完全安装147MB。
5.其它设备:CD-ROM驱动器,鼠标或其他光标控制设备
2.4 Access数据库介绍
Microsoft Access是目前最流行的桌面型数据库软件之一。它提供的大量的输入、分析和展示数据的工具得到了用户的广泛喜爱。
Access数据库是微软Microsoft 公司主打办公软件Microsoft office中一个极为重要的组成部分。自从1992年开始销售以来,Access已卖出了6000
万份,现在它已经成为世界上最流行的桌面数据管理系统。后来微软公司通过大量地改进,将 Access的新版本功能变得更加强大。不管是处理公司的客户订单数据,管理自己的个人通讯录,还是大量科研数据的记录和处理,人们都可以利用它来解决大量数据的管理工作。随着微软公司对office套件的不断升级,Access数据库软件也相应得到了完善和发展,新的技术,如Com,ActiveX,Xml等网络技术不断地引入到Access中。Access已经不是单一的桌面数据库管理软件,而是综合的数据库管理及应用集成一体化系统了。Access数据库有几个显著的特点:文件组织的单文件形式存在:一个Access数据库就是一个以MDB为后缀名的文件,简单明了、容易生成、使用和管理。移植的时候只需要将一个数据库文件拷贝到新的环境中即可使用。这也是Access数据库得以大量应用的原因。数目庞大的应用软件,不需要庞大的数据支持,只需要一个小小的便于管理和移植安装的数据存储区来存放数据,Access数据库正好满足了这一要求,而且Access数据库也提供了数据库系统所能提供的快速检索、统计报表等功能,支持SQL语言,支持事务处理等;具有VBA的编程环境:由于Access数据库是微软office套件中的一部分,office套件中的共同特色——VBA界面。用户只需要使用简单的编程语言VB,就可以编写出丰富的Windows界面程序,而且这个程序是内置在Access数据库中的,同样包含在了MDB文件中。Access数据库还给用户提供了编写界面程序的可视化编程环境,类似VB,Access数据库可视化开发环境具有如Delphi,VB,Borland C++等可视化开发环境一样的快速开发功能;组件式的数据库:所谓组件式的数据库,是指Access数据库具有强大的COM支持。在Access数据库可以方便地使用Windows操作系统中已注册的COM组件的通用接口使用第三方开发出来的用之不尽的功能。Access的组成部分:查询、表单、报表、宏、模块、Access数据库窗口、子数据表、共同的报表、数据访问页、不再局限于使于JET数据库引擎、支持的更多的内置数据源。
第3章 需求分析
3.1系统需求分析
系统分析是开发管理信息系统的关键性阶段,是一个从不断认识和逐步细化的过程,是下一阶段的工作基础,是为下一阶段进行物理方案设计、解决“怎么做”提供依据,基关键性主要体现在“理解需求”和“表达需求”两方面。
通过对现行系统的详细调研,主要是从系统的角度理解用户的需要,确定新系统的综合要求,并提出这些需求的实现条件以及需求应达到的标准,也就是确定新系统要做什么,做到什么程度。这些需求包括:
3.1.1 功能需求
确定新系统应做什么,这是最主要的需求。
3.1.2 性能需求
给出所开发的新系统的技术性能指标,包括存储容量限制、运行时间限制、安全保密性等。
3.1.3 环境需求
这是对系统运行以及所处环境的要求。例如,在硬件方面采用什么机型、有什么硬件设备等;在软件方面,采用什么支持系统运行的系统软件(指操作系统、数据库管理系统)。
3.1.4 未来需求
这类要求是指目前不属于系统开发的范围,但将来随着外界环境的变化以及系统的发展可能会提出的要求。了解这类要求的目的是在开发过程中,可对系统将来可能的扩展与修改做准备。一旦需要时,就比较容易进行补充和修改了。
3.2 数据流程图
根据需求分析可以得到下面数据流程图,如图3-1所示。
用户
图 3-1 数据功能流程图
F0
P5
P7
系统维护
P1
记账日志
P2
查询和统计
P3
现金管理
收支类型
银行卡管理
收支名称
P6
银行卡记账
P8
D2
收支信息
D1
银行卡信息
P4
D3
收支对比信息
退出系统
第4章 系统总体设计
4.1系统功能模块
系统结构功能:收支管理部分:分为收支类别和收支名称管理;记账管理:分为现金记账和银行记账管理;查询和统计管理:查询收入和支出金额以及收入和支出的对比情况。
4.2功能的实现
1.“系统维护”模块。
(1) 收支类别管理:主要功能是添加类别,删除类别。
(2) 收支名称管理:主要功能是收支类型,现有收支名称进行整理和删除。
(3) 银行卡管理:主要功能是添加修改,银行卡的名称,开户日期。
(4) 退出系统:主要功能是完成添加 、删除等动作后,可以单击退出系统。
2.“记账日志”模块。
(1) 现金记账管理:包括对收支金额,收支类型,收支名称,添收支日期的添加和修改。
(2) 银行卡记账管理:包括对银行卡的选择、卡号、记账日期、金额、备注进行添加、修改。
3.“查询和统计管理”模块。
(1) 支出情况统计管理:主要功能是可以按月进行查询或是按类型查询。
(2) 收支情况比对管理:主要功能是可以进行对年份、支出类型、收入类型的比对。
4.3系统功能模块图
根据在上面介绍的功能,对系统进行分析得到下面的系统功能模块图如图4-1所示。
个人收支管理系统
维护系统
记账日志
查询和统计
收支类别
收支名称
银行卡管理
退出系统
现金记账
银行卡记账
支出情况统计
收支情况对比
添加收支类别
删除收支类别
删除收支名称
添加银行卡名
删除银行卡名
添加收入类型名
添加支出类型名
存入现金管理
支出现金管理
支出查询管理
收支对比管理
图 4-1 系统功能模块图
第5章 系统详细设计
5.1系统结构设计
本系统结构设计是根据个人收支管理基本流程进行的,包括三大部分,8个完整的功能模块。系统结构如图5-1所示。
个人收支管理系统
查询和统计
记账日志
维护系统
收支类别
收支名称
银行卡管理
退出系统
现金记账
银行卡记账
支出情况统计
收支情况对比
添加收支类别
删除收支类别
图 5-1 系统结构图
5.2 E-R图
根据前面对系统做的可行性研究、需求分析、数据流图绘制、模块设计,就可以作出能够满足用户需求的各种实体以及它们之间的关系,本系统根据前面的设计规划出的实体有:收支类型实体、 银行卡表实体、银行卡记录实体 、收支记录实体。
5.2.1 收支类型E-R图
收支类型E-R图如图5-2所示。
收支类型
收支类型号
收支
图 5-2 收支类型E-R图
5.2.2 银行卡表E-R图
银行卡表E-R图如图5-3所示。
开户时间
银行卡表
卡号
开户银行
银行卡名称
图 5-3 银行卡表E-R图
5.2.3 银行卡记录表E-R图
银行卡记录表E-R图如图5-4所示。
银行卡记录表
卡号
日期
金额
图5-4 银行卡记录表E-R图
5.2.4收支记录表E-R图
收支记录表E-R图如图5-5所示。
收支记录表
记录号
收支名称
收支日期
金额
图5-5 收支记录表E-R图
5.2.5关系实体E-R图
关系实体E-R图如图5-6所示。
金额
卡号
卡号
银行卡表
收支类型表
卡记录表
收支记录表
有
存取
有
存取
1
N
1
1
N
N
N
M
收支类型
开户银行
卡名称
收支
金额
日期
记录号
收支名称
收支日期
开户时间
图 5-6 关系实体E-R图
5.3系统主要界面设计
运行程序后,进入系统总界面,其总界面反映了系统的功能,由主菜单等。本界面简洁、方便,不论其计算机水平高低都能很容易的掌握使用方法,使系统在最短的时间内发挥其应有的效能。如图5-7所示。
图5-7 系统的主界面窗体
添加收支类别窗体如图5-8所示。
图5-8添加收支类别窗体
日常记账输入窗体如图5-9所示。
图5-9日常收支记录窗体
管理银行卡窗体如图5-10所示。
图5-10银行卡管理窗体
支出情况统计窗体如图5-11所示。
图5-11 支出情况统计
收支情况对比窗体如图5-12所示。
图 5-12 收支情况比对
5.4数据库设计
任何数据库应用系统都离不开数据库和数据表,数据库是数据表的集合,数据表则是用于护理各种数据的工具,数据表的数据类型是按大小进行管理的,因此我们必须首先为每一个需要的数据表定义它们的结构,本系统数据库名为database数据库,采用Access2000作为后台数据库。包含收支类别管理表、收支名称管理表、银行卡管理表、日常记账管理表、银行卡记账表、现金记账表。
其结构分别如下。
5.4.1 收支类别数据表
该表的主要作用是记录在个人收支管理中的收支种类的基本信息,其信息内容可参考它的逻辑结构定义,如表5-1所示。
表5-1 收支类别数据的表逻辑结构
字段名称
数据类型
字段大小
允许空值
备注
收支类型
文本
10
否
主键,自增
收支名称
文本
10
否
收支
文本
10
否
对应的日记账编号
说明
文本
10
否
5.4.2银行卡管理数据
在系统开发和使用中,我们需要一个“银行卡管理数据表”的数据表。它可以用于记录收支管理中银行卡信息,其信息内容可参考它的逻辑结构定义,如表5-2所示。
表5-2 读者信息数据的表逻辑结构
字段名称
数据类型
字段大小
允许空值
备注
银行卡选择
文本
4
否
主键自增
卡号
数字
20
办理日期
数字
4
对应的日记账编号
5.4.3银行卡管理数据表
在系统开发和使用中,我们需要一个“银行卡管理数据表”的数据表。它可以用于记录收支管理中银行卡信息,其信息内容可参考它的逻辑结构定义,如表5-2所示。
表5-3银行卡数据的表逻辑结构
字段名称
数据类型
字段大小
允许空值
备注
银行卡选择
文本
4
否
主键自增
卡号
数字
20
办理日期
数字
4
对应的日记账编号
5.4.4现金记账数据表
该表的主要作用是记录在个人收支管理中的收支情况的基本信息,信息内容可参考它的逻辑结构定义,如表5-3所示。
表5-4 现金记账数据表达的逻辑结构
字段名称
数据类型
字段大小
允许空值
备注
收支类型
文本
10
否
主键
收支名称
文本
10
否
收支日期
文本
10
否
金额
数字
8
第6章 系统主要界面说明和使用说明
系统使用说明
本程序主要用于个人对于收支的管理,运行本程序,首先出现系统主界面图如图6-1所示。
图6-1统主界面
主窗体菜单栏包括的主要菜单有系统维护,记账日志,询和统计。
1.首先实现系统维护功能:打开“系统维护”菜单,其下有四个一级菜单——“收支类别管理”、 “收支名称管理”、 “银行卡管理”和“退出系统”。
“收支类别管理”下有两个菜单——“添加类别”和“删除类别”。
单击“添加类别”菜单,打开添加类别窗体,通过收支类别名称和收支选择进行对收支类别添加。
单击 “删除类别”菜单,打开类别管理窗体可以对类别名称进行删除。
“收支名称管理”,打开窗体,可以进行对收支类型,现有收支名称进行整理和删除。
“银行卡管理”,打开窗体,可以进行对银行卡名称、开户日期、开户银行以及说明的添加和修改。
“退出系统”菜单可以退出系统。
2.记账日志功能:打开记账日志管理窗体,有两个子菜单——“现金记账”、“银行卡记账”。
单击“现金记账”菜单,打开日常记账出入窗体,通过对收支、收支类型、收支名称、收支日期、金额进行添加。
单击“银行卡记账”菜单,都会打开银行卡记账窗体,对银行卡的选择、卡号、记账日期、金额、备注进行添加、修改。
3.查询和统计功能:打开“查询和统计”菜单,其下有两个 一级菜单——“支出情况统计”和“收支情况对比 ”。
单击“支出情况统计”菜单可以按月进行查询或是按类型查询。
单击“收支情况比对”菜单,可以进行对年份、支出类型、收入类型的比对。
结 论
在本系统的设计与实现的过程中主要讲述了个人收支管理信息系统的系统设计部分,包括功能模块设计、E-R图,数据库结构设计等。系统的详细设计根据系统分析阶段的结论将系统具体化,并完成了各个模块的添加、修改、删除与查询的功能,直到最后形成一个完整的可行性的管理系统。
这次的毕业论文是我大学的一次非常重要的理论与实际相结合的运用,作为一次毕业设计实践的机会,我觉得实践过程中是一个不断学习、摸索的过程。在设计和开发过程中,根据个人收支管理的特点,并结合应用信息系统分析、设计的思路和计算机软件编程的方法,将课堂学习的知识和亲手实践的成果集中地体现在了本软件中。
参考文献
1 刘瑞新等.Visual Basic 6.0程序设计教程.北京:电子工业出版社.2003
2 黄梯云等.管理信息系统.北京:高等教育出版社. 2000
3 李玉林等.Visual Basic 6.0毕业设计指南与项目实践.北京:科学出版社. 2007
4 刘韬.骆娟.何旭等.Visual Basic 6.0数据库系统开发实例导航.北京:人民邮电出版社. 2002
5 郭瑞军.唐邦民.谢晗晰等.Visual Basic 6.0数据库实例精粹.北京:电子工业出版社. 2005
6 周国民. Visual Basic 6.0+Access数据库项目开发指南.北京:中国铁道出版社. 2004
7 温小敏.Visual Basic 6.0数据库系统项目开发实践.北京:科学出版社. 2005
8 王钦visual Basic 6.0入门与提高.京:人民邮电出版社. 2002
9 白晓勇.余健.Visual Basic课程设计案例精编.北京:清华大学出版社. 2007
10 谭浩强.袁枚.薛淑斌Visual Basic程序设计.北京:清华大学出版社. 2004
11 刘世峰.Visual Basic 6.0程序设计.北京:中央广播电大出版社. 2003
12 王珊.萨师煊.数据库系统概论.北京:高等教育出版社. 2006
附录:源程序代码
添加类别:
Option1.Value = False And Option2.Value = False Then
Dim str1 As Integer
str1 = MsgBox("请选择收支类型,否则将默认为-收", 4128, "收支类型必须指明")
Option1.Value = True
s = "收"
ElseIf Option1.Value = True Then
s = "收"
ElseIf Option2.Value = True Then
s = "支"
End If
If Text_class_add.Text = "" Or Text_class_add.Text = "(不超过12字)" Then
Dim str2 As Integer
str2 = MsgBox("请输入收支类型的名称", 4128, "收支名称必须指明")
Else
On Error GoTo showerror
With rst
.AddNew
.Fields.Item("收支类型").Value = Text_class_add.Text
.Fields.Item("收支").Value = s
.Fields.Item("说明").Value = Text_shuoming
.Update
.Requery
End With
'------------显示全部记录
List_class.Clear
rst.MoveFirst
i = 0
Do While Not rst.EOF
List_class.List(i) = rst.Fields("收支类型").Value
List_shouzhi.List(i) = rst.Fields("收支").Value
rst.MoveNext
i = i + 1
Loop'------------结束
GoTo jump
showerror: MsgBox Err.Description
With dbs
If .State = adStateOpen Then
.Close
End If
.Provider = "Microsoft.Jet.OLEDB.4.0"
.ConnectionString = App.Path & "\mymoney.mdb"
.Open
End With
With rst
If .State = adStateOpen Then
.Close
End If
.LockType = adLockOptimistic
.ActiveConnection = dbs
.CursorLocation = adUseClient
.CursorType = adOpenKeyset
.Open "收支类型表", Options:=adCmdTable
End With
jump:
End If
Text_class_add.Text = ""
Text_shuoming.Text = ""
Option1.Value = False
Option2.Value = False
End Sub
修改类别:
With rst
If .State = adStateOpen Then
.Close
End If
.LockType = adLockOptimistic
.ActiveConnection = dbs
.CursorLocation = adUseClient
.CursorType = adOpenKeyset
.Open "收支类型表", Options:=adCmdTable
End With
rst.MoveFirst
Do While Not rst.EOF
If ss = rst.Fields("收支类型").Value Then
If Option1.Value = True Then
s = "收"
ElseIf Option2.Value = True Then
s = "支"
End If
If Text_class_add.Text = "" Or Text_class_add.Text = "(不超过12字)" Then
Dim str2 As Integer
str2 = MsgBox("请输入收支类型的名称", 4128, "收支名称必须指明")
Else
On Error GoTo showerror
With rst
.Fields.Item("收支类型").Value = Text_class_add.Text
.Fields.Item("收支").Value = s
.Fields.Item("说明").Value = Text_shuoming
.Update
.Requery
End With
'------------显示全部记录
List_class.Clear
rst.MoveFirst
i = 0
Do While Not rst.EOF
List_class.List(i) = rst.Fields("收支类型").Value
List_shouzhi.List(i) = rst.Fields("收支").Value
rst.MoveNext
i = i + 1
Loop
'------------结束
GoTo jump
showerror:
MsgBox Err.Description
With dbs
If .State = adStateOpen Then
.Close
End If
.Provider = "Microsoft.Jet.OLEDB.4.0"
.ConnectionString = App.Path & "\mymoney.mdb"
展开阅读全文