个人理财分析系统设计与实现论文_第1页
个人理财分析系统设计与实现论文_第2页
个人理财分析系统设计与实现论文_第3页
个人理财分析系统设计与实现论文_第4页
个人理财分析系统设计与实现论文_第5页
已阅读5页,还剩51页未读 继续免费阅读

下载本文档

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

文档简介

1、 . 0 / 56毕业论文毕业论文个人理财分析系统设计与个人理财分析系统设计与实现实现Personal Wealth ManagementSystem Design and Implementation . I / 56摘要摘要本文设计的个人理财软件是一款通过对个人(家庭)收支、资产与负债信息进行管理,提供财务分析报表的数据库访问软件。设计按照“面向对象软件工程”的要求进行,采用 PowerDesigner 对系统进行分析和设计,用 Visualbasic 进行系统实现。使用FlexCell、DTPicker、Listbar 等高级控件。创建通用数据访问模块OperatDataBase.bas

2、。此模块规 ADO 数据访问流程,只需修改连接字符串即可实现对多种不同数据库系统的访问。通过对计算账户余额算法的研究,我掌握了利用 SQL 语句进行数据库访问的技巧。本论文实现的个人理财软件可完成收支记账管理、资产、负债管理、数据导出、多账簿多用户操作与各种财务报表的自动生成。在各种常用Windows 操作系统下都可以正常工作,达到了预期的设计目标。关键字:关键字:数据库,ADO, Visual Basic,理财 . II / 56PersonalPersonal WealthWealth ManagementSystemManagementSystem DesignDesign andand

3、 ImplementationImplementationAbstractAbstractThis design is a personal wealth management software through manage the information of a familys income and expenditure, assets and liabilities to provide financial analysis statements and database access software. Designed in accordance with the object-o

4、riented software engineering requirements, uses PowerDesigner to carry on the analysis and the design thesystem, the system Execution isthrough Visualbasic. Use FlexCell, DTPicker, Listbar and other High-level controls software. Then founds the general data accessing module: OperatDataBase.bas. This

5、 module Standard the Process of ADO data access, only a modification of the connection character string then to realize a visit of many kinds of different databases system. By calculating account balances algorithm research, I have grasped the skill of using the SQLsentence to visit database.In this

6、 paper, personal wealth management software to achieve complete revenue expenditure account management, asset-liability management, data derived, and multi-accounts books of operation and the automatic generation of financial statements. It can work commonly under each kind of Windows operating syst

7、em so it can achieve the anticipated design.KeyKey word:word:Database,ADO, Visual Basic,Personal financing . III / 56目录目录摘要摘要 I IABSTRACTABSTRACT.IIII目录目录 IIIIII第一章绪论第一章绪论 1 11.1 什么是个人(家庭)理财 11.2 个人理财分析中最重要的四份财务报表 11.3 常见个人理财软件分析 2第二章系统功能介绍第二章系统功能介绍 3 32.1 系统简介 32.2 系统主要功能 32.3 系统特点 42.4 系统运行界面 4第三章

8、系统设计第三章系统设计 7 73.1 系统需求分析 73.2 系统性能要求 73.3 硬件配置要求 73.4 软件开发所需软件配置要求 83.5 系统结构设计图 93.6 数据库分析设计 93.6.1 系统 E-R 图 113.6.2 数据字典 123.6.3 创建表关系 143.6.4 创建查询 15第四章系统实现第四章系统实现 18184.1 系统主界面 184.1.1 创建工程项目 184.1.2 创建系统主窗体 194.1.3 主窗口菜单 214.2 公用模块 234.2.1 OperatDataBase.bas.234.2.2 PublicVar.bas.23 . IV / 564.

9、3 ADO 数据访问技术 244.3.1 从 Microsoft Visual Basic 引用 ADO 的步骤 244.3.2 在 Visual Basic 中创建 ADO 对象 254.4 FLEXCELL表格控件 254.5 账套管理 284.5.1 选用账套 294.5.2 新建账套 294.5.3 删除账套 304.6 日常收支流水账 314.6.1 信息流览页面 314.6.2 收支记录管理界面 334.7 年度收支统计表 354.8 对计算账户余额算法的研究 364.8.1 用数据指针对数据集进行处理 364.8.2 用 SQL 函数对数据集进行处理 374.8.3 算法比较 3

10、84.9 对程序错误的处理 404.9.1 使用 On Error Resume Next 错误处理程序 404.9.2 使用 On Error GoTo 错误处理程序 414.9.3 创建统一的错误处理程序块 41第五章系统发布第五章系统发布 4343总结总结 4747致致 4848参考文献参考文献 4949 . 1 / 56第一章第一章 绪论绪论1.11.1 什么是个人什么是个人( (家庭家庭) )理财理财人的衣、食、住、行离不开钱,我们每天都在自觉或不自觉地运用和处理着钱财,这就是个人(家庭)理财。 如果,对个人理财下个确切的定义:个人理财就是对个人(家庭)的财务进行科学的、有计划的、系

11、统的全方位管理,以实现个人财产的合理安排、消费和使用,有效地增值和保值。简单地讲个人理财就是管理好自己的钱财。有人说:花一分时间去赚钱,但要花两分时间去理财。其实这句话中无非包含两层意思:第一,理财重要;第二,理财困难。而我设计这个个人理财分析软件的目标也就是要帮助我们把这件重要的事做好。1.21.2 个人理财分析中最重要的四份财务报表个人理财分析中最重要的四份财务报表现代人的投资面越来越广,收入也五花八门。通过制作家庭财务报表可以对自己的财务状况一目了然,也对我们普通家庭合理安排收支非常有帮助。我们日常生活中最为观注的主要有以下几方面的报表:1. 年度收支统计表:以年为单位按月统计日常普通收

12、支项目的收支金额与其他活动的收、支详情,以便我们从微观到宏观地了解资金来源和支出在各时期的分布情况。2. 资金流量表:按账户或收支项目统计指定时间围的现金流入、流出等各类消费收支的详细情况。3. 资产负债表:用于计算用户所拥有的总资产、债务与净资产额,了解家庭真实情况。 . 2 / 56通过这些报表我们可以了解到:日常的收支情况,现在总体的资产、债务情况,让我们对自己的财务状况做到心中有数;净资产的统计,可知道我们是否迈上了正常的理财之路。1.31.3 常见个人理财软件分析常见个人理财软件分析目前常见的个人理财软件从功能上可以分为两类:1. 功能单一型软件:此类软件功能较少,一般为记生活收支流

13、水账软件。软件设计的根本目的是利用计算机记账方式代替原始手工记账方式。它的优点是操作简单,容易上手。主要缺点是此类软件无法提供真正意义上的理财分析报表,只能算是记账软件算不上理财分析软件。2. 功能复杂型软件:此类软件为了全面、完整地解决个人理财分析问题,便利功能繁多、操作复杂。它的优点是能够提供完整的理财分析报表。缺点是由于操作界面专业导致用户不易上手使用,感觉操作复杂繁琐,且往往此类软件本身就价格不菲。一款既操作简单,又能够提供准确、实用家庭财务分析报表的软件必将受到广大个人(家庭)理财者的青睐。 . 3 / 56第二章第二章 系统功能介绍系统功能介绍2.12.1 系统简介系统简介个人理财

14、分析软件是一套即操作简单又能够提供专业理财报表的个人(家庭)理财分析工具软件,适合中国现代家庭。它能全面管理所有资产与负债,跟踪家庭经济状况的变化,为用户合理配置家庭资产、达到保值增值的目的、以与最终实现财富的最大化提供帮助。2.22.2 系统主要功能系统主要功能1多账套多用户:可管理多套账簿。每套账簿是一个独立的数据库文件,账簿之间互不影响;软件可供多用户使用而互不干扰,适应家庭中的每个成员的不同需求。2收支记账:收支记账是把日常收入、支出等所有与财务活动相关的事件准确、与时地记入账簿。收支记账是整个软件中最常用的功能,也是最重要的功能,它是家庭理财分析软件的基础。3资产管理:资产管理界面可

15、以显示家庭贵重物品详细资料,同时提供资产现目前的现值情况。4债务管理:债务管理界面显示了所有债务信息,包括债务的详细资料以与对债务进行新建、删除、修改等。5导出:将账簿中的财务数据导出成 Microsoft Office Excel 格式文件。6理财宝典:理财宝典是家庭/个人理财的知识读本。 讲述了投资理财的基本概念、原则、步骤,介绍了现行国主要的投资理财品种,如储蓄、贷款、保险、股票、基金、外汇、债券、房地产、收藏等项目。通过此理财宝典的学习,可充分掌握投资理财的基本概念与技能,为您家庭财富保值、增 . 4 / 56值等提供宝贵的知识。2.32.3 系统特点系统特点1让用户开支井井有条,心中

16、一本明白账。2债务借贷功能,谁欠你,你欠谁,一目了然,保障用户具有良好的信用。3注意高消费项目:可以轻松发现高消费项目。适当控制它们,将是我们减少开支的重要手段。4频繁消费项目:也许这些项目每次消费金额不算高,但考虑其频繁的消费次数后,其累计金额也是较为可观的,发现这类项目用户应放在力争减少每次消费额,日积月累就能为用户节省一大笔开销。5通过软件生成的多种统计报表,让用户清楚的了解自已账户余额、资产、债务项目,收支情况,当我们聚积了财富的时候,用户可以通过这些统计报表享受成功感。2.42.4 系统运行界面系统运行界面图 2-1 欢迎界面 . 5 / 56图 2-2 收支流水账图 2-3 资产负

17、债表 . 6 / 56图 2-4 关于界面 . 第三章第三章 系统设计系统设计3.13.1 系统需求分析系统需求分析需求分析要弄清用户对开发的应用系统的确切要求。要设计一个有效的管理信息系统,必须用系统工程的观点来考虑问题。在系统分析阶段,设计者要收集和分析数据管理息的容和用户对处理的要求。1. 能够记录日常生活流水账。2. 能够对收支项目与账户进行编辑管理。3. 实现负债、资产管理。4. 对表格中的数据可以按多种条件进行排序。5. 可以根据数据库中相关记录生成各种统计报表6. 支持多账套。7. 可以将数据导出到其它通用软件中。3.23.2 系统性能要求系统性能要求1. 系统安全、可靠;2.

18、功能齐全;3. 操作方便、界面友好;4. 易于维护和扩充。3.33.3 硬件配置要求硬件配置要求1. 奔 以上的 CPU2. 主频 500 以上3. 128MB 以上的存 . 8 / 564. 彩色显示器(800*600)5. 8M 以上显存6. 10G 以上硬盘空间7.7. 鼠标器3.43.4 软件开发所需软件配置要求软件开发所需软件配置要求1. WINDOWS XP SP2 操作系统2. Microsoft Visual Basic 6.0(SP6) 简体中文版3. FlexCell 表格控件 (版本:5.6.3)4. Microsoft Office Access 2003 . 9 /

19、563.53.5 系统结构设计图系统结构设计图欢欢迎迎屏屏个个人人理理财财主主界界面面理理财财信信息息管管理理统统计计报报表表理理财财知知识识备备用用系系统统设设置置关关于于收收支支流流水水帐帐帐帐户户一一览览收收支支项项目目资资产产负负债债负负债债流流水水帐帐年年度度收收支支统统计计表表按按帐帐户户现现金金流流量量表表按按项项目目现现金金流流量量表表资资产产负负债债表表访访问问作作者者主主页页关关于于软软件件说说明明退退出出系系统统理理财财宝宝典典在在线线书书帐帐套套管管理理添添加加、删删除除流流水水帐帐添添加加、删删除除帐帐户户添添加加、删删除除收收支支项项目目添添加加、删删除除资资产产添

20、添加加、删删除除负负债债项项目目添添加加、删删除除负负债债流流水水帐帐年年度度收收支支统统计计表表打打印印预预览览按按帐帐户户现现金金流流量量表表打打印印预预览览按按项项目目现现金金流流量量表表打打印印预预览览资资产产负负债债表表打打印印预预览览帐帐套套添添加加、删删除除、选选用用图 3-1 3.63.6 数据库分析设计数据库分析设计Access 是微软公司推出的基于 Windows 的桌面关系数据库管理系统(RDBMS) ,是 Office 系列应用软件之一。它提供了表、查询、窗体、报表、页、宏、模块 7 种用来建立数据库系统的对象;提供了多种向导、生成器、 . 10 / 56模板,把数据存

21、储、数据查询、界面设计、报表生成等操作规化;为建立功能完善的数据库管理系统提供了方便,也使得普通用户不必编写代码,就可以完成大部分数据管理的任务。 Access 是一种关系型数据库管理系统。图 3-2 根据系统需要分析,系统需要建立 6 个表,其用途说明如表 3-1 所示:表 3-1 数据表与其用途IDID数据表名称数据表名称数据表用途数据表用途1流水账保存日常生活流水账信息2收支项目保存收支项目信息3账户保存账户信息4负债保存负债项目信息5还债流水账保存还债记录信息6资产保存资产购入价格与现值信息 . 11 / 563.6.1 系统 E-R 图系统 E-R 图是一种信息模型图,体现了系统实体

22、之间的关系。通过系统需要分析,得到了系统的分解功能以与数据流程。根据这些实体和实体之间的关系,可以得到系统 E-R 图,如图 3-3 所示.负债查询全负负债债编编号号负债名称帐户编号债务金额尝还金额尝还余额说明帐户名称负债日期负债PK负债编号 负债名称 负负债债日日期期FK1,I1帐帐户户编编号号 债债务务金金额额 尝尝还还金金额额 尝尝还还余余额额 说明资产PK资产编号 资资产产名名称称 购购入入价价值值 现值 说明还债流水帐查询全负债编号帐户编号还债日期还债金额说明帐户名称负债名称编编号号开户金额负债日期债务金额尝还金额还债流水帐PK编号FK1,I1负负债债编编号号FK2,I2帐帐户户编编

23、号号 还还债债日日期期 还还债债金金额额 说明流水帐PK编号FK2,I3,I1 帐帐户户编编号号FK1,I2,I4 项项目目编编号号 交交易易日日期期 资资金金 说明流水帐查询全编编号号交易日期帐户编号项目编号资金说明项目名称类类型型帐户名称收支项目PK项项目目编编号号 项目名称 类类型型 说明帐户PK帐帐户户编编号号 帐帐户户名名称称 开开户户金金额额 帐帐户户余余额额 说明具有帐户债务 / 属于具有债务债务流水帐 / 属于具有帐户债务流水帐 / 属于具有收支项目流水帐 / 属于具有帐户流水帐 / 属于图 3-3 系统 E-R 图 . 12 / 563.6.2 数据字典表 3-2 到表 3-

24、7 给出了 6 个数据表(流水账、收支项目、账户、负债、还债流水账、资产)的具体描述,包括字段名称、数据类型和主键/外键设置信息。主键(Primary Key)也称为主关键字,是表中惟一能标识一条记录的字段,可以是一个字段或多个字段的组合。定义主键时,先要指定作为主键的一个或多个字段,如果只选择一个字段,可单击字段所在行的选定按钮,若需要选择多个字段作为主键,可先按下 Ctrl 键,再依次单击这些字段所有行的选定按钮。指定字段后,可在鼠标右键菜单中选择“主键”命令,或直接单击工具栏上的“主键”按钮,即可把该字段设为表的主键。如果主键在设置后发现不适用或不正确,可以通过“主键”按钮取消原有的主键

25、。数据表之间的关联是由键值匹配来确定的。如果表中的一个字段是另一个表的主键字段,那么这个字段在本表中被称为外键(Foreign Key) 。1 流水账表 3-2 流水账编编号号字段字段名称名称数据类型数据类型主键主键/ /外键外键1编号COUNTERPKPK2账户编号INTEGERFKFK3项目编号INTEGERFKFK4交易DATETIME . 13 / 56日期5资金CURRENCY6说明VARCHAR(100)2 收支项目表 3-3 收支项目编编号号字段字段名称名称数据类数据类型型主键主键/ /外键外键1项目编号COUNTERPKPK2项目名称VARCHAR(20)3类型BOOLEAN4

26、说明VARCHAR(50)3 账户表 3-4 账户编编号号字段字段名称名称数据类型数据类型主键主键/ /外键外键1账户编号COUNTERPKPK2账户名称VARCHAR(100)3开户金额CURRENCY . 14 / 564账户余额CURRENCY5说明VARCHAR(100)4 负债表 3-5 负债编编号号字段字段名称名称数据类型数据类型主键主键/ /外键外键1负债编号COUNTERPKPK2负债名称VARCHAR(100)3负债日期DATETIME4账户编号INTEGERFKFK5债务金额CURRENCY6尝还金额CURRENCY7尝还余额CURRENCY8说明VARCHAR(100)5

27、 还债流水账 . 15 / 56表 3-6 还债流水账编编号号字段字段名称名称数据类型数据类型主键主键/ /外键外键1编号COUNTERPKPK2负债编号INTEGERFKFK3账户编号INTEGERFKFK4还债日期DATETIME5还债金额CURRENCY6说明VARCHAR(100)6 资产表 3-7 资产 . 16 / 565说明VARCHAR(100)3.6.3 创建表关系所谓的关系,指的是两个表中都有一个一样的数据类型、大小的字段,利用这个字段建立两个表之间的关系。通过这种表之间的关联性,可以将数据库中的多个表联结成一个有机的整体。关系的主要作用是使多个表中的字段协调一致,以便快速

28、地提取信息。如果两个表使用了共同的字段,就应该为这两个表建立一个关系,通过表间关系就可以指出一个表中的数据与另一个表中数据的相关方式。常见表关系类型如下:1. 一对一:一个表中的每个记录只与第二个表中的一个记录匹配。2. 一对多:一个表中的每个记录与第二个表中的一个或多个记录匹配,但第二个表中的每个记录只能与第一个表中的一个记录匹配。3. 多对一:一个表的多个记录与第二个表中的一个记录匹配。4. 多对多:一个表中的每个记录与第二个表中的多个记录匹配,反之亦然。通过 Microsoft Office Access 可以得到数据库表关系图,如图 3-4 所示。所有主表和外键表之间的关系具有如下特征

29、:1. 对 Insert 和 Update 具有强制性。2. 级联删除相关的记录。 . 17 / 56图 3-4 数据库表关系3.6.4 创建查询使用查询可以按照不同的方式查看、更改和分析数据。也可以用查询作为窗体、报表和数据访问页的记录源。使用 SQL 语句创建的查询。可以用结构化查询语言 (SQL) 来查询、更新和管理 Access 这样的关系数据库。在查询“设计”视图中创建查询时,Access 将在后台构造等效的 SQL 语句。实际上,在查询“设计”视图的属性表中,大多数查询属性在 SQL 视图中都有等效的可用子句和选项。如果需要,可以在 SQL 视图中查看和编辑 SQL 语句。但是,在

30、对 SQL 视图中的查询做更改之后,查询可能无法以以前在“设计”视图中所显示的方式进行显示。有一些 SQL 查询,称为“SQL 特定查询” ,无法在设计网格中进行创建。 . 18 / 56对于传递查询、数据定义查询和联合查询,必须直接在 SQL 视图中创建 SQL 语句。对于子查询,可以在查询设计网格的“字段”行或“条件”行输入 SQL 语句。1 1 负债查询全负债查询全SELECTSELECT 负债.负债编号, 负债.负债名称, 负债.账户编号, 负债.债务金额, 负债.尝还金额, 负债.尝还余额, 负债.说明, 账户.账户名称, 负债.负债日期FROMFROM 账户 INNERINNER

31、JOINJOIN 负债 ONON 账户.账户编号 = 负债.账户编号;2 2 还债流水账查询全还债流水账查询全SELECTSELECT 还债流水账.负债编号, 还债流水账.账户编号, 还债流水账.还债日期, 还债流水账.还债金额, 还债流水账.说明, 账户.账户名称, 负债.负债名称, 还债流水账.编号, 账户.开户金额, 负债.负债日期, 负债.债务金额, 负债.尝还金额FROMFROM 账户 INNERINNER JOINJOIN (负债 INNERINNER JOINJOIN 还债流水账 ONON 负债.负债编号 = 还债流水账.负债编号) ONON 账户.账户编号 = 还债流水账.账户

32、编号;3 3 流水账查询全流水账查询全SELECTSELECT 流水账.编号, 流水账.交易日期, 流水账.账户编号, 流水账.项目编号, 流水账.资金, 流水账.说明, 收支项目.项目名称, 收支项目.类型, 账户.账户名称FROMFROM 账户 INNERINNER JOINJOIN (收支项目 INNERINNER JOINJOIN 流水账 ONON 收支项目.项目编号 = 流水账.项目编号) ONON 账户.账户编号 = 流水账.账户编号; . 19 / 56第四章第四章 系统实现系统实现4.14.1 系统主界面系统主界面通过数据库分析设计,已经完成了所有的后台工作,现在需要通过Vis

33、ual Basic 来编写程序。Visual Basic 是一种可视化的、面向对象和采用事件驱动方式的结构化高级程序设计语言,可用于开发 Windows 环境下的各类应用程序。Visual 意即可视的、可见的,指的是开发像 windows 操作系统的图形用户界面(Graphic User Interface,GUI)的方法,它不需要编写大量代码去描述界面元素的外观和位置,只要把预先建立好的对象拖放到屏幕上相应的位置即可。Basic 指的是 Beginners allpurpose symbolic instruction code 初始者通用符号指令代码语言。Visual Basic 简单易学

34、、效率高,且功能强大可以与 Windowsr 专业开发工具 SDK 相媲美。在 Visual Basic 环境下,利用事件驱动的编程机制、新颖易用的可视化设计工具,使用 Windows 部的广泛应用程序接口(API)函数,以用动态库(DLL) 、对象的与世隔嵌入(OLE) 、开放式数据连接(ODBC)等技术,可以高效、快速地开发 Windows 环境下功能强大、图形界面丰富的应用软件系统。随着版本的提高,Visual Basic 的功能也越来越强。5.0 版以后,Visual Basic 推出了中文版,与前个版本相比,其功能有了很大提升。4.1.1 创建工程项目为了实现应用程序,首先要建立一个

35、工程。工程是用来构建应用程序的文件的集合,通常包含如下文件:1. 工程文件(.vbp)2. 窗体文体(.frm) . 20 / 563. 窗体的二进制数据文件(.frx)4. 类模块文件(.cls)5. 标准模块文件(.bas)6. 一个或多个包含 ActiveX 控件的文件(.ocx)7. 单个资源文件(.res)启动 Visual Basic 6.0 后,单击文件新建工程命令,在如图 4-1所示对话框中选择VB 企业版控件选项,然后单击确定按钮。Visual Basic 将自动创建一个“工程 1”工程项目,包含一个窗体文件夹和一个Form1 窗体。在项目的属性面板中将工程的“Name”属性

36、改为“MMM” ,将Form1 的“Caption”属性改为“Manage Money Matters V1.0” 。图 4-1 VB新建工程对话框4.1.2 创建系统主窗体在创建工程项目,已经创建了一个“Form1”窗体文件,将它直接作为主窗体文件。系统主窗体的界面如图 4-2 所示。在窗体上添加一个 WB_listbar控件,用于调用系统各个功能模块。其主要控件的属性如表 4-1 所示。 . 21 / 56图 4-2 系统主界面表 4-1 主窗体属性设置控件控件属性属性属性值属性值Form1(Form)BorderStyleCaptionMaxButtonMinButtonStartUpP

37、osition1 Fixed SingleManage Money Matters0 False0 False2 屏幕中心WB_listbar1(WB_listbar)MenuCaption1 MenuItemCaption11MenuItemCaption12MenuItemCaption13MenuItemCaption14理财信息管理收支流水账账户一览收支项目资产 . 22 / 56MenuItemCaption15MenuItemCaption16MenuCaption2 MenuItemCaption21MenuItemCaption22MenuItemCaption23MenuIt

38、emCaption24MenuCaption3 MenuItemCaption31MenuCaption4 MenuCaption5 MenuItemCaption51MenuCaption6 MenuItemCaption61MenuItemCaption62MenuItemCaption63负债还债流水账统计报表年度收支统计表按账户现金流量表按项目现金流量表资产负债表理财知识访问理财知道网备用功能系统设置账套管理关于访问作者主页关于退出系统StatusBar1(StatusBar)AlignSimpleTextTabIndex2 Align Bottom个人理财软件14.1.3 主窗口菜单

39、右击 WB_listbar1 控件,选择弹出式菜单中的属性命令,将出现如图4-3 所示的菜单编辑对话框。 . 23 / 56图 4-3 菜单编辑对话框对菜单项操作的代码如程序 4-1 所示Private Sub WB_listbar1_MenuItemClick(MenuNumber As Long, MenuItem As Long)Select Case MenuNumber Case 1 Select Case MenuItem Case 1 F11load 调用出支流水账管理模块 Case 6 Case 3 Unload Me 结束程序运行End Sub . 24 / 56程序 4-1

40、 菜单控制代码4.24.2 公用模块公用模块在 Visual Basic 中,可以使用公用模块来存放整个项目所需要的公用函数和全局变量等。通过公用函数和变量可以极提高代码的利用率。在项目资源管理器中为项目添加一个模块,并将其保存为 OperatDataBase.bas。4.2.1 OperatDataBase.basOperatDataBase.bas 公用模块主要是用来对数据库进行 ADO 操作的,包括以下 5 个函数:1. GetConnStr() As String 函数,返回连接字符串,用来设置数据库连接字符串。2. OpenConn(ByRef Conn As ADODB.Conne

41、ction) As Boolean 函数,返回布尔值,用来打开数据库连接。3. ExecuteSQL(ByValSQL As String,ByRef msg As String)函数,用来执行 SQL 语句。4. SelectSQL(ByVal SQL As String,ByRef msg As String)As ADODB.Recordset 函数,返回 Recordset,用来执行查询语句。5. BatchSelectSQL(ByVal SQL As String,ByRef msg As String) As ADODB.Recordset 函数,返回 Recordset,用来执行

42、批处理操作。4.2.2 PublicVar.bas为了实现全局变量,别外创建一个全局变量模块 PublicVar.bas,主要有如下容:ConnectionString 用来保存数据库连接字符串 . 25 / 56temP用来保存暂时传值变量temp1 用来保存全局临时变量 1temp2 用来保存全局临时变量 2t 编号 用来保存流水账编号4.34.3 ADOADO 数据访问技术数据访问技术ADO (ActiveX Data Objects,ActiveX 数据对象)是一个用于存取数据源的 COM 组件。它提供了编程语言和统一数据访问方式 OLE DB 的一个中间层。允许开发人员编写访问数据的

43、代码而不用关心数据库是如何实现的,而只用关心到数据库的连接。是一个用于存取数据源的 COM 组件。它提供了编程语言和统一数据访问方式 OLE DB 的一个中间层。允许开发人员编写访问数据的代码而不用关心数据库是如何实现的,而只用关心到数据库的连接。ADO 被设计来继承微软早期的数据访问对象层,包括 RDO (Remote Data Objects) 和 DAO(Data Access Objects)。图 4-4 ADO 类模型4.3.1 从 Microsoft Visual Basic 引用 ADO 的步骤1. 在 Visual Basic 中,从“工程”菜单中选择“引用” 。 . 26 /

44、 562. 从列表中选择“Microsoft ActiveX Data Objects x.x Library” 。3. 请验证至少还选择了下列库: Visual Basic for ApplicationsVisual Basic runtime objects and proceduresVisual Basic objects and proceduresOLE Automation 4. 单击“确定” 。 图 4-54.3.2 在 Visual Basic 中创建 ADO 对象在 Dim 中使用 New 关键字,可以只用一个步骤就完成 ADO 对象的声明和实例化:Dim conn As

45、 New ADODB.Connection或者,也可用两个步骤来完成 Dim 语句声明和对象实例化:Dim conn As ADODB.ConnectionSet conn = New ADODB.Connection . 27 / 564.44.4 FlexCellFlexCell 表格控件表格控件FlexCell 是一款灵活、易用的表格和报表控件,因本系统中多处应用此控件,在此对其功能进行简单介绍。FlexCell 提供了 6 种单元格类型和 6 种图表类型,提供了合并单元格、虚表、打印和打印预览等功能,支持剪贴板操作、XML 文件的导入和导出,不需要 Excel 运行库支持就可以导出为

46、Excel WorkBook。软件包中附带报表设计器,只需很少的代码就可以制作出图文并茂的报表和程序界面。图 4-6 . 28 / 56图 4-7主要特点:主要特点:功能全面功能全面: :FlexCell 提供了非常全面的功能,例如:打开/保存文件、不需要 Excel 运行库的支持直接导出 Excel、导出 CSV、导出 HTML、导出/导入XML、打印、打印预览、冻结行列、排序、添加 Chart、合并单元格、虚表模式、OwnerDraw 模式。表格设计器表格设计器: :FlexCell 表格设计器是一个独立的工具,开发人员可以使用它来制作表格模板,然后将表格保存为.cel 文件,也可以导出成

47、 XML 文件,然后可以在程序运行时使用 OpenFile 方法或 LoadFromXML 方法加载表格模板。这样做可以极减少编程人员的工作量,使用少量代码即可设计出复杂的表格。打印方便打印方便: :FlexCell 提供了方便的打印和预览功能,您可以通过PageSetup 对象修改页面设置,例如:纸大小、纸方向、设置打印围、单色打印、页边距、页眉和页脚、可以在每一页都重复打印的标题行和标题列。您还可以添加不会显示在 Grid 中的分页符和报表标题。对象模型对象模型: :精心设计的对象模型,可以使程序的条理更加清晰。FlexCell提供了 10 个类:Cell、Chart、Column、Com

48、boBox、Image、PageBreak、PageSetup、Range、ReportTitle、Selection。单元格类型单元格类型: :FlexCell 提供了 6 种单元格类型:TextBox、ComboBox、CheckBox、Calendar、Button、HyperLink。单元格属性单元格属性: :FlexCell 提供了丰富的单元格属性,例如:Alignment、BackColor、Border、CellType、Font、ForeColor、Locked、Mask、Printable、Tag、Text、WrapText。单元格单元格 Mask:Mask:FlexCell

49、 提供了多种 Mask,如 . 29 / 56Letter、Upper、Lower、Numeric、Value 等,能够自动控制用户输入,减少输入错误。 置置 Chart:Chart:FlexCell 提供了 6 种类型的图表:柱状图、折线图、饼图、3D柱状图、3D 折线图、3D 饼图。合并单元格合并单元格: :FlexCell 提供了灵活方便的合并单元格功能,操作方式和Excel 很相似。支持剪贴板操作支持剪贴板操作: :FlexCell 支持剪贴板操作,可以自由复制、剪切、粘贴单元格容和格式,可以和 Excel、Notepad 等软件互相复制、粘贴文本。4.54.5 账套管理账套管理用于新

50、建账套或打开、删除已存在的账套文件。单击菜单“系统设置-账套管理”进入,如图 4-8 所示:图 4-8 账套管理界面 . 30 / 56表 4-2 控件属性设置控件控件属性属性属性值属性值ListView1(ListView)AllowColumnreorderCheckboxesArrangeFalseFalse1 lvwAutoLeftImageList1(ImageList)ImageHeight ImageWidthUseMaskColor3232TrueFile1(FileListBox)ArchiveCausesValidationPatternReadOnlyTrueTrue*.

51、mdbTrue4.5.1 选用账套位于个人理财分析助手软件安装目录文件夹中的所有账套均会在账套管理界面中显示出来,选择要使用的账套后点击选用账套即可打开使用。程序序代码如程序 4-2 所示:选用账套Private Sub Command26_Click() If File1.ListCount 0 Then 如果已从账套列表中选择了一个账套则将账套信息写入注册表 将账套信息写入注册表中 SaveSetting App.EXEName, SETUP, ConnectionString, ListView1.SelectedItem MsgBox 已启用 & ListView1.Selec

52、tedItem & 账套 Unvisible End IfEnd Sub程序 4-2 选用账套程序代码 . 31 / 564.5.2 新建账套一个账套就是一个独立的数据库文件,根据不同用户的需求,建立一个或多个账套。在“新建账套”后的输入框里自定义一个名称,如:温馨小家2007,按“确定”按钮后系统自动进入该账套。新建账簿存放的路径为软件安装目录文件夹中,文件名为“温馨小家 2004.mdb” 。 程序序代码如程序 4-3 所示:新建账套Private Sub Command24_Click()Dim a As String On Error GoTo ErrorHandler 输入一

53、个账套名称 a = InputBox(请输入新账套名称:, 新建账套) If Trim(a) = Or IsNull(a) Then 如果账套名称不为空则创建此账套 MsgBox 新建账套未成功! Else 通过文件复制,用账套模版创建新账套 FileCopy App.Path & mmm.emp, App.Path & & a & .mdb MsgBox 新建账套成功! F51load 选用刚新建的账套为当前使用账套 Command26_Click End If Exit SubErrorHandler: 如出现错误,显示错误信息 Screen.MousePo

54、inter = 0 MsgBox Err.Description, vbExclamation, Error Err.ClearEnd Sub程序 4-3 新建账套程序代码4.5.3 删除账套本界面上会列出软件安装目录文件夹中的所有账套,点击要删除的账套, . 32 / 56按删除按钮并确认即可。当删除成功后系统自动选用账套列表中第一个账套为当前使用账套。程序序代码如程序 4-4 所示:删除账套Private Sub Command25_Click()Dim N1 As Integer On Error GoTo ErrorHandler If ListView1.ListItems.Coun

55、t 0 Then 如果账套列表中不为空则可进行账套删除处理 N1 = MsgBox(确认是否真的要删除 & ListView1.SelectedItem & 账套?, vbOKCancel, 删除确认) If N1 = 1 Then 物理删除软件安装目录下的账套文件 Kill App.Path & & ListView1.SelectedItem MsgBox 账套删除成功! 涮新账套列表 F51load 选用账套列表中第一个账套为当前使用账套 Command26_Click Else MsgBox 账套删除操作已经取消! End If Else MsgBox

56、无法删除账套! End If 涮新账套列表 F51loadEnd Sub程序 4-4 删除账套程序代码4.64.6 日常收支流水账日常收支流水账收支流水账是对现金、活期存款、信用卡等账户的记账,把日常收支记录下来。在理财信息管理菜单下,点击收支流水账即可进入。 . 33 / 564.6.1 信息流览页面显示每天的收支记录信息,可实现按任异字段排序。支持收支流水账记录导出。界面所图 4-9 所示图 4-9 收支流水账界面代码见程序 4-5:显示收支流水账Function F11load() Frame1.Visible = True Grid1.OpenFile (App.Path &

57、收支流水账表.CEL) Grid1.SelectionMode = cellSelectionByRow 按行选择 从数据库中读取数据并显示到 Grid 中 Call ReadData(SELECT 交易日期,账户名称,项目名称,编号 AS ID,资金,类型,说明 FROM 流水账查询全 ORDER BY 交易日期,编号 , Grid1) 计算收/支总额 If Grid1.Rows 2 Then For i = 1 To Grid1.Rows - 1 . 34 / 56 a = a + Grid1.Cell(i, 5).Text Next i 将收入总款信息显示在状态栏中 Label6.Cap

58、tion = a a = 0 For i = 1 To Grid1.Rows - 1 a = a + Grid1.Cell(i, 4).Text Next i 将支出总款信息显示在状态栏中 Label7.Caption = a 将收支节余信息显示在状态栏中 Label8.Caption = Label6.Caption - -(Label7.Caption) End IfEnd Function程序 4-5 显示收支流水账代码4.6.2 收支记录管理界面用来对收支信息进行新增、修改、删除处理。点击新添收支或在流览界面上点击收支记录,即可进入收支记录管理界面。界面所图 4-10 所示:图 4-1

59、0 收支记录管理界面表 4-3 控件属性设置 . 35 / 56控件控件属性属性属性值属性值DTPicker1(DTPicker)MaxDateMinDateFormat9999-12-311601-01-011 dtpShortDateGrid1(Grid)AllowUserResizingAllowUserSortFixedRowColStyTrueFalse1 Fixed3DText1(Text)AlignmentMaxLengthMultiLine1 Right Justify0False核心代码见程序 4-6:Private Sub Form_Load() 设置 Grid 的各种属性

60、,设置各个列的格式If t 编号 = 0 Then数据单元清空初始化 Else 从数据库中读取数据 从记录集中取得数据,并填充 Set rs = Nothing End IfEnd Sub-函 数 : ReadData()返回值 : True - 操作成功 False - 失败-Private Function ReadData(ByVal strsql As String, ByRef gGrid As Grid) As BooleanEnd Function-函 数 : SaveData()返回值 : True - 操作成功 False - 失败 . 36 / 56-Public Function SaveData() As BooleanEnd Function程序 4-6 收支记录管理模块核心代码4

温馨提示

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

评论

0/150

提交评论