毕业设计(论文)个人收支管理系统设计_第1页
毕业设计(论文)个人收支管理系统设计_第2页
毕业设计(论文)个人收支管理系统设计_第3页
毕业设计(论文)个人收支管理系统设计_第4页
毕业设计(论文)个人收支管理系统设计_第5页
已阅读5页,还剩31页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、xx大学 毕业设计(论文) 个人收支管理系统 学 院 xxxxxxxxxxxxx 年级专业 xxxxxxxxxxx 学生姓名 xxx 指导教师 xxx 专业负责人 完成日期 xxxx年xx月 摘 要个人收支记录是个人日常生活与工作中一项重要的业务,个人需要利用个人收支管理系统来记录各种帐务信息,以及对其进行必要的管理。本系统是专门针对个人日常需求而开发的一个具备几种常用功能的系统。个人收支管理系统主要完成以下功能:系统维护:收支类别管理,可以添加类别(包括类别名称,说明,收支选择),删除类别。收支名称管理:包括收支名称的增加与删除,通过点击不同的收支类型,可以查到相应的收支名称。银行卡管理:包

2、括银行卡的增加,删除,通过点击不同类型的银行卡,可以查到相应的银行卡信息(卡号,开户日期等)。记账日志:分为现金记账,银行卡记账。查询和统计:包括支出情况统计,收支情况对比。 关键词:个人收支管理系统;visual basic 6.0;数据库系统目 录摘 要.i目 录ii第1章 绪论11.1 开发背景11.2 开发目的和意义1第2章 开发工具介绍22.1 visual basic 6.0简介22.2 visual basic具有以下特点22.2.1面向对象的可视化设计平台22.2.2事件驱动的编程机制32.2.3结构化的设计语言32.2.4充分利用windows资源32.2.5开放的数据库功能

3、与网络支持32.3 visual basic 6.0运行环境及配置42.4 access数据库介绍4第3章 需求分析63.1系统需求分析63.1.1 功能需求63.1.2 性能需求63.1.3 环境需求63.1.4 未来需求63.2 数据流程图6第4章 系统总体设计84.1系统功能模块84.2功能的实现84.3系统功能模块图8第5章 系统详细设计105.1系统结构设计105.2 e-r图115.2.1 收支类型e-r图115.2.2 银行卡表e-r图115.2.3 银行卡记录表e-r图125.2.4 收支记录表e-r图125.2.5 关系实体e-r图125.3系统主要界面设计145.4数据库设

4、计165.4.1 收支类别数据表175.4.2 银行卡管理数据175.4.3 银行卡管理数据表175.4.4 现金记账数据表18第6章 系统主要界面说明和使用说明19系统使用说明19结 论21参考文献22附录:源程序代码23致 谢31第1章 绪论1.1 开发背景计算机应用已经渗透到日常工作的许多方面,无论是其自身还是其所发挥的作用。计算机都标志着一种高科技、高效率和高水平。信息作为生产力中最活跃的因素,很早就在人类经济生活中发挥着不可替代的作用,但把信息纳入企业经营管理系统中高效处理和应用是在计算机发明以后的50年代末。目前人们所提到的管理信息系统,通常是指以计算机为工具,对管理信息进行收集、

5、存贮、检索、加工和传递,使其应用于组织机构及企业管理领域的“人机系统”,该系统是70年代初“后工业经济”时代的产物,在企业管理信息系统在其发展的初期,是单一的人机系统,系统功能简单,效率低,对管理的作用有限。为了企业创先进、争一流,为了企业的明天,许多企业的领导已经或正准备投入高额资金,建立大规模的计算机管理信息系统(mis),所以越来越多的现代化计算机管理软件进入了社会应用的方方面面,个人收支管理领域也不例外。个人收支管理信息系统是针对个人的收入和支出的自身特点,适合对钱财管理中的实际情况,涉及了收入和支出的每一个环节,为个人的财务管理提供了一个先进的系统平台和一个合理分配收支的环境,加快了

6、信息反馈,从而更好的管理自己的财务。本系统的实现使用户从繁重的手工业务中解脱出来,提高了管理钱财的效率和质量。个人收支并不是一个新鲜词,简单地说就是开源节流、管理好您的钱。是实现个人人生目标而制定、安排、实施和管理的一个各方面总体协调的财务规划的过程,或是对家庭资产的合理安排与管理。1.2 开发目的和意义通过数据库技术分析数据库中个人财产的基本信息,达到收支的目的:1建立数据库, 个人收支的基本资料就存放在其中。2把个人收支的全部资料输入数据库。3用vb开发出应用程序连接数据库。4 在应用程序中用查询和统计等手段对数据库的资料进行处理,得到有效的数据,分析出个人的财产情况,得出结论和措施,然后

7、个人就可以通过措施达到收支的目的。第2章 开发工具介绍2.1 visual basic 6.0简介vb是一种可视化的编程语言,这种方法不需要编写大量的代码去描述截面外观和位置,而只需要把预先建立的控件,先使用“画图”之类的绘图程序那样“画”到屏幕上即可。它一共具有三个版本:标准版、企业版、专业版。它作为一种开发工具而言,不仅仅是一种语言 ,从数学计算、数据库管理、客户/服务器软件,通信软件,多媒体软件带inter/intranet软件,都可以用vb开饭完成。使用vb 不仅可以感受到windows带来的新技术,新概念和新的开发方法,而且vb是目前众多windows软件开发工具中效率最高的一个 。

8、同时我们利用 vb6.0编制数据库操作应用程序。vb编程操作数据库的方法可分两层:第一层是通过数据操作对象访问数据库 ,这种方式需要将数据库操作组件库加入vb的工程项目的参考,然后在程序中构造这些数据库组件对象的实例连接,操作和管理数据库,如dao对象编程,rdo对象编程和ado对象编程等,还包括直接调用odbc api接口编程,第二层是通过具有数据感知性的控件来访问数据库,包括vb自带控件和第三方开发的activex控件。这些组件是具有数据感知性,即内置了数据库访问的对象(或者dao,或者ado等),并提供给主程序访问的接口,供客户端程序调用。两种方法比较起来,第一种方式编程灵活,功能强大,

9、可扩展性强;第二种方式方便易用,开发迅速,编码量小,并且不需要了解内部数据流动的细节。所以我们利用这种可视化技术进行编程,能使编程工作变得轻松快捷,摆脱了面向过程语言的许多细节,而将主要精力集中在解决实际问题和设计友好界面上。因此,vb在国内外各个领域中应用非常广泛,许多计算机专业和非计算机专业和非计算机专业的人员常利用它来编制开发应用程序和软件。2.2 visual basic具有以下特点2.2.1面向对象的可视化设计平台利用传统的程序设计语言进行程序设计时,需要花费大量的精力通过编程设计程序的界面,在设计过程中看不到程序的实际显示效果,必须在运行程序的时候才能观察。如果对程序的界面不满意,

10、还要回到程序中去修改,这一过程常常需要反复多次,大大影响了编程的效率。vb提供的可视化设计平台,把windows界面设计的复杂性“封装”起来。程序员不必再为界面的设计而编写大量程序代码,只需按设计的要求,用系统提供的工具在屏幕上“画出”各种对象,vb将自动产生界面设计代码,程序员所需要编写的只是实现程序功能的那部分代码,从而大大提高了编程的效率。2.2.2事件驱动的编程机制传统的编程方式是面向过程的、按事先设计的程序流程来运行的。但在图形用户界面的应用程序中,用户的动作(即事件)掌握着程序的运行流向,每个事件都驱动一段程序的运行。程序员在设计应用程序时,不必建立具有明显开始和结束的程序,而是编

11、写如干个微小的子程序,即过程。这些过程分别面向不同的对象,由用户操作引发某个事件来驱动完成某种特定的功能,或由事件驱动程序调用通用过程来执行制定的错做。2.2.3结构化的设计语言vb是在结构化的basic语言基础上发展起来的,具有高级程序设计语言的语句结构,接近于自然语言和人类的逻辑思维方式,其语句简单易懂。 vb是解释型语言,在输入代码的同时,解释系统将高级语言分解翻译成计算机可以识别的机器指令,并判断每个语句的语法错误。在设计vb程序过程中,随时可运行程序,而在整个应用程序设计好后,可编译生成可执行未见(.exe),脱离vb环境,直接这windows环境下运行。2.2.4充分利用windo

12、ws资源vb提供的动态数据交换(dde,dynamic data exchange)编程技术,可以在应用程序中实现与其他windows应用程序建立动态数据 交换、在不同的应用程序之间进行通信的功能。vb提供的对象链接与嵌入(ole, object link and embed)技术则是将每个应用程序都看做一个对象,将不同的对象链接起来,嵌入到某个应用程序中,从而得到具有声音、影像、图像、动画、文字等各种信息的集合式文件。vb还可以通过动态链接库(dll,dynamic link library)技术将c/c+或汇编语言编写的程序加入到vb得应用程序中,或是调用windows应用程序接口(api

13、,application programming interface)函数,实现软件开发工具包(sdk,software development kit)所具有的功能。2.2.5开放的数据库功能与网络支持vb系统具有很强的数据库管理功能。不仅可以管理ms access格式的数据库,还能访问其他外部数据库,如foxpro,paradox等格式的数据库。另外,vb还提供了开放式数据连接(odbc)功能,可以通过直接访问或建立连接的方式使用并操作后台大型网络数据库,如sql server,oracle等。在应用程序中,可以使用结构化查询语句(sql)直接访问server上的数据库,并提供简单的面向对

14、象的库操作命令、多用户数据库的加锁机制和网络数据库的编程技术,为单机上运行的数据库提供sql网络接口,以便在分布式环境中快速而有效地实现客户服务器(client/server)方案。2.3 visual basic 6.0运行环境及配置为运行visual basic,必须在计算机上安装相应的硬件和软件系。具体要求是:1操作系统:microsoft windows nt server 4.0或更高的版本,或microsoft windows 95或更高的版本。2cpu:486dx/66 mhz或更高的处理器(推荐pentium或更高的处理器)。3内存:microsoft windows 95/9

15、8下要求的24mb以上的内存,windows t下要求32mb以上。4. 磁盘空间:对于标准版,典型安装48mb,完全安装80mb。对于专业版,典型安装48mb,完全安装80mb。对于企业版,典型安装128mb,完全安装147mb。5其它设备:cd-rom驱动器,鼠标或其他光标控制设备2.4 access数据库介绍microsoft access是目前最流行的桌面型数据库软件之一。它提供的大量的输入、分析和展示数据的工具得到了用户的广泛喜爱。access数据库是微软microsoft 公司主打办公软件microsoft office中一个极为重要的组成部分。自从1992年开始销售以来,acce

16、ss已卖出了6000万份,现在它已经成为世界上最流行的桌面数据管理系统。后来微软公司通过大量地改进,将 access的新版本功能变得更加强大。不管是处理公司的客户订单数据,管理自己的个人通讯录,还是大量科研数据的记录和处理,人们都可以利用它来解决大量数据的管理工作。随着微软公司对office套件的不断升级,access数据库软件也相应得到了完善和发展,新的技术,如com,activex,xml等网络技术不断地引入到access中。access已经不是单一的桌面数据库管理软件,而是综合的数据库管理及应用集成一体化系统了。access数据库有几个显著的特点:文件组织的单文件形式存在:一个acces

17、s数据库就是一个以mdb为后缀名的文件,简单明了、容易生成、使用和管理。移植的时候只需要将一个数据库文件拷贝到新的环境中即可使用。这也是access数据库得以大量应用的原因。数目庞大的应用软件,不需要庞大的数据支持,只需要一个小小的便于管理和移植安装的数据存储区来存放数据,access数据库正好满足了这一要求,而且access数据库也提供了数据库系统所能提供的快速检索、统计报表等功能,支持sql语言,支持事务处理等;具有vba的编程环境:由于access数据库是微软office套件中的一部分,office套件中的共同特色vba界面。用户只需要使用简单的编程语言vb,就可以编写出丰富的windo

18、ws界面程序,而且这个程序是内置在access数据库中的,同样包含在了mdb文件中。access数据库还给用户提供了编写界面程序的可视化编程环境,类似vb,access数据库可视化开发环境具有如delphi,vb,borland c+等可视化开发环境一样的快速开发功能;组件式的数据库:所谓组件式的数据库,是指access数据库具有强大的com支持。在access数据库可以方便地使用windows操作系统中已注册的com组件的通用接口使用第三方开发出来的用之不尽的功能。access的组成部分:查询、表单、报表、宏、模块、access数据库窗口、子数据表、共同的报表、数据访问页、不再局限于使于je

19、t数据库引擎、支持的更多的内置数据源。第3章 需求分析3.1系统需求分析系统分析是开发管理信息系统的关键性阶段,是一个从不断认识和逐步细化的过程,是下一阶段的工作基础,是为下一阶段进行物理方案设计、解决“怎么做”提供依据,基关键性主要体现在“理解需求”和“表达需求”两方面。通过对现行系统的详细调研,主要是从系统的角度理解用户的需要,确定新系统的综合要求,并提出这些需求的实现条件以及需求应达到的标准,也就是确定新系统要做什么,做到什么程度。这些需求包括:3.1.1 功能需求确定新系统应做什么,这是最主要的需求。3.1.2 性能需求给出所开发的新系统的技术性能指标,包括存储容量限制、运行时间限制、

20、安全保密性等。3.1.3 环境需求这是对系统运行以及所处环境的要求。例如,在硬件方面采用什么机型、有什么硬件设备等;在软件方面,采用什么支持系统运行的系统软件(指操作系统、数据库管理系统)。3.1.4 未来需求这类要求是指目前不属于系统开发的范围,但将来随着外界环境的变化以及系统的发展可能会提出的要求。了解这类要求的目的是在开发过程中,可对系统将来可能的扩展与修改做准备。一旦需要时,就比较容易进行补充和修改了。3.2 数据流程图根据需求分析可以得到下面数据流程图,如图3-1所示。用户 图 3-1 数据功能流程图f0p5p7系统维护p1记账日志p2查询和统计p3现金管理收支类型银行卡管理收支名称

21、p6银行卡记账p8d2收支信息d1银行卡信息p4d3收支对比信息退出系统第4章 系统总体设计4.1系统功能模块 系统结构功能:收支管理部分:分为收支类别和收支名称管理;记账管理:分为现金记账和银行记账管理;查询和统计管理:查询收入和支出金额以及收入和支出的对比情况。 4.2功能的实现1“系统维护”模块。(1) 收支类别管理:主要功能是添加类别,删除类别。(2) 收支名称管理:主要功能是收支类型,现有收支名称进行整理和删除。(3) 银行卡管理:主要功能是添加修改,银行卡的名称,开户日期。(4) 退出系统:主要功能是完成添加 、删除等动作后,可以单击退出系统。2“记账日志”模块。(1) 现金记账管

22、理:包括对收支金额,收支类型,收支名称,添收支日期的添加和修改。(2) 银行卡记账管理:包括对银行卡的选择、卡号、记账日期、金额、备注进行添加、修改。3“查询和统计管理”模块。(1) 支出情况统计管理:主要功能是可以按月进行查询或是按类型查询。(2) 收支情况比对管理:主要功能是可以进行对年份、支出类型、收入类型的比对。4.3系统功能模块图根据在上面介绍的功能,对系统进行分析得到下面的系统功能模块图如图4-1所示。个人收支管理系统维护系统记账日志查询和统计收支类别收支名称银行卡管理退出系统现金记账银行卡记账支出情况统计收支情况对比添加收支类别删除收支类别删除收支名称添加银行卡名删除银行卡名添加

23、收入类型名添加支出类型名存入现金管理支出现金管理支出查询管理收支对比管理 图 4-1 系统功能模块图第5章 系统详细设计5.1系统结构设计本系统结构设计是根据个人收支管理基本流程进行的,包括三大部分,8个完整的功能模块。系统结构如图5-1所示。个人收支管理系统查询和统计记账日志维护系统收支类别 收支名称银行卡管理退出系统现金记账银行卡记账支出情况统计收支情况对比添加收支类别删除收支类别图 5-1 系统结构图5.2 e-r图根据前面对系统做的可行性研究、需求分析、数据流图绘制、模块设计,就可以作出能够满足用户需求的各种实体以及它们之间的关系,本系统根据前面的设计规划出的实体有:收支类型实体、 银

24、行卡表实体、银行卡记录实体 、收支记录实体。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所示。金额卡号

25、卡号银行卡表收支类型表卡记录表收支记录表有存取有存取1n11nnnm收支类型开户银行卡名称收支金额日期记录号收支名称收支日期开户时间图 5-6 关系实体e-r图5.3系统主要界面设计运行程序后,进入系统总界面,其总界面反映了系统的功能,由主菜单等。本界面简洁、方便,不论其计算机水平高低都能很容易的掌握使用方法,使系统在最短的时间内发挥其应有的效能。如图5-7所示。图5-7 系统的主界面窗体 添加收支类别窗体如图5-8所示。 图5-8添加收支类别窗体 日常记账输入窗体如图5-9所示。 图5-9日常收支记录窗体管理银行卡窗体如图5-10所示。图5-10银行卡管理窗体支出情况统计窗体如图5-11所示

26、。 图5-11 支出情况统计收支情况对比窗体如图5-12所示。 图 5-12 收支情况比对 5.4数据库设计任何数据库应用系统都离不开数据库和数据表,数据库是数据表的集合,数据表则是用于护理各种数据的工具,数据表的数据类型是按大小进行管理的,因此我们必须首先为每一个需要的数据表定义它们的结构,本系统数据库名为database数据库,采用access2000作为后台数据库。包含收支类别管理表、收支名称管理表、银行卡管理表、日常记账管理表、银行卡记账表、现金记账表。其结构分别如下。5.4.1 收支类别数据表该表的主要作用是记录在个人收支管理中的收支种类的基本信息,其信息内容可参考它的逻辑结构定义,

27、如表5-1所示。表5-1 收支类别数据的表逻辑结构字段名称数据类型字段大小允许空值备注收支类型文本10 否主键,自增收支名称文本10否收支文本10否对应的日记账编号说明文本10 否5.4.2银行卡管理数据在系统开发和使用中,我们需要一个“银行卡管理数据表”的数据表。它可以用于记录收支管理中银行卡信息,其信息内容可参考它的逻辑结构定义,如表5-2所示。表5-2 读者信息数据的表逻辑结构字段名称数据类型字段大小允许空值备注银行卡选择文本4否主键自增卡号数字20办理日期数字4对应的日记账编号5.4.3银行卡管理数据表在系统开发和使用中,我们需要一个“银行卡管理数据表”的数据表。它可以用于记录收支管理

28、中银行卡信息,其信息内容可参考它的逻辑结构定义,如表5-2所示。表5-3银行卡数据的表逻辑结构字段名称数据类型字段大小允许空值备注银行卡选择文本4否主键自增卡号数字20办理日期数字4对应的日记账编号5.4.4现金记账数据表该表的主要作用是记录在个人收支管理中的收支情况的基本信息,信息内容可参考它的逻辑结构定义,如表5-3所示。表5-4 现金记账数据表达的逻辑结构字段名称数据类型字段大小允许空值备注收支类型文本10否主键收支名称文本10否收支日期文本10否金额数字8第6章 系统主要界面说明和使用说明系统使用说明 本程序主要用于个人对于收支的管理,运行本程序,首先出现系统主界面图如图6-1所示。图

29、6-1统主界面主窗体菜单栏包括的主要菜单有系统维护,记账日志,询和统计。1首先实现系统维护功能:打开“系统维护”菜单,其下有四个一级菜单“收支类别管理”、 “收支名称管理”、 “银行卡管理”和“退出系统”。“收支类别管理”下有两个菜单“添加类别”和“删除类别”。单击“添加类别”菜单,打开添加类别窗体,通过收支类别名称和收支选择进行对收支类别添加。单击 “删除类别”菜单,打开类别管理窗体可以对类别名称进行删除。“收支名称管理”,打开窗体,可以进行对收支类型,现有收支名称进行整理和删除。“银行卡管理”,打开窗体,可以进行对银行卡名称、开户日期、开户银行以及说明的添加和修改。“退出系统”菜单可以退出

30、系统。2记账日志功能:打开记账日志管理窗体,有两个子菜单“现金记账”、“银行卡记账”。单击“现金记账”菜单,打开日常记账出入窗体,通过对收支、收支类型、收支名称、收支日期、金额进行添加。单击“银行卡记账”菜单,都会打开银行卡记账窗体,对银行卡的选择、卡号、记账日期、金额、备注进行添加、修改。3查询和统计功能:打开“查询和统计”菜单,其下有两个 一级菜单“支出情况统计”和“收支情况对比 ”。单击“支出情况统计”菜单可以按月进行查询或是按类型查询。单击“收支情况比对”菜单,可以进行对年份、支出类型、收入类型的比对。结 论在本系统的设计与实现的过程中主要讲述了个人收支管理信息系统的系统设计部分,包括

31、功能模块设计、e-r图,数据库结构设计等。系统的详细设计根据系统分析阶段的结论将系统具体化,并完成了各个模块的添加、修改、删除与查询的功能,直到最后形成一个完整的可行性的管理系统。这次的毕业论文是我大学的一次非常重要的理论与实际相结合的运用,作为一次毕业设计实践的机会,我觉得实践过程中是一个不断学习、摸索的过程。在设计和开发过程中,根据个人收支管理的特点,并结合应用信息系统分析、设计的思路和计算机软件编程的方法,将课堂学习的知识和亲手实践的成果集中地体现在了本软件中。参考文献1 刘瑞新等.visual basic 6.0程序设计教程.北京:电子工业出版社.20032 黄梯云等.管理信息系统.北

32、京:高等教育出版社. 20003 李玉林等.visual basic 6.0毕业设计指南与项目实践.北京:科学出版社. 20074 刘韬.骆娟.何旭等.visual basic 6.0数据库系统开发实例导航.北京:人民邮电出版社. 20025 郭瑞军.唐邦民.谢晗晰等.visual basic 6.0数据库实例精粹.北京:电子工业出版社. 20056 周国民. visual basic 6.0+access数据库项目开发指南.北京:中国铁道出版社. 20047 温小敏.visual basic 6.0数据库系统项目开发实践.北京:科学出版社. 20058 王钦visual basic 6.0入

33、门与提高.京:人民邮电出版社. 20029 白晓勇.余健.visual basic课程设计案例精编.北京:清华大学出版社. 200710 谭浩强.袁枚.薛淑斌visual basic程序设计.北京:清华大学出版社. 200411 刘世峰.visual basic 6.0程序设计.北京:中央广播电大出版社. 200312 王珊.萨师煊.数据库系统概论.北京:高等教育出版社. 2006附录:源程序代码添加类别:option1.value = false and option2.value = false thendim str1 as integerstr1 = msgbox(请选择收支类型,否则

34、将默认为-收, 4128, 收支类型必须指明) option1.value = true s = 收 elseif option1.value = true then s = 收 elseif option2.value = true then s = 支end ifif text_class_add.text = or text_class_add.text = (不超过12字) then dim str2 as integer str2 = msgbox(请输入收支类型的名称, 4128, 收支名称必须指明) elseon error goto showerror with rst .ad

35、dnew .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 rs

36、t.movenext i = i + 1 loop-结束 goto jumpshowerror: msgbox err.descriptionwith dbs if .state = adstateopen then .close end if .provider = microsoft.jet.oledb.4.0 .connectionstring = app.path & mymoney.mdb .open end withwith rst if .state = adstateopen then .close end if .locktype = adlockoptimistic .ac

37、tiveconnection = dbs .cursorlocation = aduseclient .cursortype = adopenkeyset .open 收支类型表, options:=adcmdtable end withjump: end if text_class_add.text = text_shuoming.text = option1.value = falseoption2.value = falseend sub 修改类别:with rst if .state = adstateopen then .close end if .locktype = adlock

38、optimistic .activeconnection = dbs .cursorlocation = aduseclient .cursortype = adopenkeyset .open 收支类型表, options:=adcmdtable end withrst.movefirstdo 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_ad

39、d.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_

40、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 jumpshowerror: msgbox err.description with dbs if .state = adstateopen then .close end if .provider = microsoft.jet.oledb.

41、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 withjump: text_class_add.text = text_sh

42、uoming.text = option1.value = false option2.value = false end if exit do end if rst.movenextloopcommand_update.enabled = falsecommand_class_add.enabled = trueend sub 收支类型说明:ss = list_class.textm = 0 -判断哪条记录被选定for i = 0 to list_class.listcount - 1 if list_class.selected(i) = true then m = i exit for

43、end ifnext ilist_shouzhi.selected(m) = truerst.requery do while not rst.eof if list_class.text = rst.fields(收支类型).value then command_class_add.enabled = false command_update.enabled = true text_class_add.text = rst.fields(收支类型) if isnull(rst.fields(说明).value) then label_shuoming.caption = 无详细说明 text

44、_shuoming.text = else label_shuoming.caption = rst.fields(说明).value text_shuoming.text = rst.fields(说明).value end if if rst.fields(收支) = 收 then option1.value = true else option2.value = true end if exit do end if rst.movenextlooprst.requeryend sub 银行卡添加:with rst .addnew .fields(0).value = text_cardn

45、um.text .fields(1).value = text_cardname2.text .fields(2).value = text_bankname2.text .fields(3).value = dtpicker_card2.value .fields(4).value = text_cardmore2.text .update .requery end with -显示全部记录 list_cardname.clear rst.movefirst i = 0 do while not rst.eof list_cardname.list(i) = rst.fields(1).va

46、lue rst.movenext i = i + 1 loop -结束 text_cardnum.text = text_cardname2.text = text_bankname2.text = dtpicker_card2.value = date text_cardmore2.text = goto jumpshowerror: msgbox err.descriptioncnndatarsttable 银行卡表jump:end sub 银行卡删除:s = msgbox(确定要删除该卡吗?删除后该卡的所有收支记录会丢失, vbyesno, 删除选定银行卡)if s = 6 thenon

47、 error goto showerrorrst.requeryrst.move (list_cardname.listindex)rst.deleterst.requery -显示全部记录 list_cardname.clear rst.movefirst i = 0 do while not rst.eof list_cardname.list(i) = rst.fields(1).value rst.movenext i = i + 1 loop text_cardname1.text = text_bankname1.text = dtpicker_card1.value = date text_cardmore

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论