




已阅读5页,还剩111页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
北京理工大学 现代远程教育 学院毕业设计 (论文) 第 1 页 摘摘 要要 家庭财务管理 系统是为了适应目前 家庭理财 管理的信息化需求而开发的软 件,适用于 个人和家庭进行财务管理 。针对目前大多数家庭理财管理现状,成 功的将企业计件工资、计时工资及固定工资等进行完美结合,可以根据各种计 算方法任意选择搭配。解决了理财计算难、工作量大的问题,为用户提供的科 学、简便、简洁、实用的工资管理新模式。家庭财务管理 系统的实施可以减 轻财务管理的工作量,避免 财务管理的重复和失误,提高 财务管理的效率。 关键词: visual basic、控件、窗体、域 全全套套源源程程序序代代码码,联联系系 1 15 53 38 89 93 37 70 06 6 北京理工大学 现代远程教育 学院毕业设计 (论文) 第 2 页 目录 摘摘 要要.1 abstract.2 目目录录 .3 前前言言 .5 第第一一章章 mis 的的概概念念及及解解释释 6 1.1 mis 对象 6 1.1.1 整体系统7 1.1.2 组成分类7 1.2 系统目标内容 7 1.3 mis 建设方法 .8 1.3.1 系统分解8 1.3.2 全面评估8 1.3.3 逐步迫近8 1.4 按计算机的特点组织系统.8 第第二二章章 数数据据库库理理论论 .10 2.1 设计原则 .10 2.2 设计方式 11 2.2.1 系统设计11 2.3 设计步骤 .11 2.3.1 数据库结构定义.11 北京理工大学 现代远程教育 学院毕业设计 (论文) 第 3 页 2.3.2 数据表定义11 2.3.3 存储设备和存储空间组织11 2.3.4 数据字典设计.12 2.4 常见问题 .12 2.4.1 链接关系的确定.12 2.4.2 确定单一的父子关系结构12 2.4.3 数据资源安全保密属性13 2.5 数据库设计分析 .13 2.5.1 数据组织的规范化形式13 2.5.2 first normal form(1st nf) 14 2.5.3 second normal form(2nd nf) .14 2.5.4 third normal form (3rd nf)14 第第三三章章 使使用用 access2000 实实现现关关系系型型数数据据库库 15 3.1 数据库的概念 15 3.2 新建一个数据库 15 3.3 修改已建的数据库 .16 3.4 实现数据库之间的联系 .16 第第四四章章 系系统统开开发发环环境境 .16 4.1 visual basic简介 .16 4.2 实现关系型数据库实现 17 4.3 数据库引擎 17 第第五五章章 系系统统设设计计与与实实现现 18 4.1 系统总体规划 18 北京理工大学 现代远程教育 学院毕业设计 (论文) 第 4 页 4.2 系统功能 .18 4.3 系统具体实现 18 4.3.1 数据输入18 4.3.2 查询.18 4.3.3信息浏览.18 4.3.4 报表输出18 4.4 系统设计与实现 18 4.4.1数据库设计18 4.4.2 登陆界面设计.19 4.4.3 主界面设计22 4.4 功能设计 .48 4.4.1 记录模块48 4.4.2 预定模块53 4.4.3 折线图表模块.57 4.4.4 查询模块58 4.4.5 帮助界面设计.58 第第五五章章 总总结结 59 参参考考资资料料 59 附附录录 .60 北京理工大学 现代远程教育 学院毕业设计 (论文) 第 5 页 前前言言 在计算机没有普及的是,人们在家庭财务管理中多采用手工记录,这种方 法存在着记录效率低,可靠、安全、保密性差,缺少全系统统一的数据资源和 规范的管理手段(执行记录、存档以及统计分析等 ),许多信息分散随意存放, 缺少一致性、易于丢失、不易重复使用。 管理信息系统( management information systems 简称 mis)在现代社 会已深入到各行各业,由于计算机技术的迅速发展和普及,mis 事实上已成 为计算机 mis。 计算机应用已经渗透到日常工作的许多方面,无论是其自身还是所发挥的 北京理工大学 现代远程教育 学院毕业设计 (论文) 第 6 页 作用,计算机都标志着一种高科技、高效率和高水平。 第第一一章章 mis 的的概概念念及及解解释释 mis 是一个不断发展的新型学科, mis 的定义随着计算机技术和通讯技术 的进步也在不断更新,在现阶段普遍认为mis 是由人和计算机设备或其他信 息处理手段组成并用于管理信息的系统。 1.1 mis 对对象象 信息是经过加工的数据,信息是对决策者有价值的数据。信息的主要特征是 来源分散,数量庞大。信息来源于生产第一线,来源于社会环境,来源于市场, 来源于行政管理等部门。信息具有时间性。信息的加工方式有多种形式。 管理信息系统( management information systems 简称 mis)在现代社 会已深入到各行各业,由于计算机技术的迅速发展和普及,mis 事实上已成 为计算机 mis。 计算机应用已经渗透到日常工作的许多方面,无论是其自身还是所发挥的 作用,计算机都标志着一种高科技、高效率和高水平。为了企业创先进、争一 流,为了企业的明天,许多企业的领导已经或正准备投入高额资金,建立大规 模的计算机管理信息系统 (mis)。 就系统开发的某一具体问题来说,主要是开发用于数据处理的程序,一般 是比较容易实现的。因而很少出现因网络或程序调试不通而中止开发的情况, 北京理工大学 现代远程教育 学院毕业设计 (论文) 第 7 页 并且大都采用最新的、高性能的计算机软硬件平台,由优秀的计算机技术人员 实施开发,但预期的目标常常难以达到 。就从系统目标和内容的确立、开发过 程的组织与控制、按计算机的特点组织系统等几个方面分析,强调mis 建设 的同时面对用户和计算机系统两个方面,仅仅注重计算机技术和程序开发是不 够的。 实现管理信息化,未来企业别无选择。 就像我们建设一个厂房,作为我们 赖以从事生产工作的基础设施一样,企业管理信息化是在建设一个我们赖以从 事管理工作的基础设施。我们可以回头看一下管理工具的发展,从算盘、传真 机、计算机网络到财务软件,它们从辅助人们从事管理工作的简单工具,逐渐 向具有部分智能化的方向发展,在每一个阶段都对管理工作的改进分别起到了 十分重要的作用。 1 1. .1 1. .1 1 整整体体系系统统 mis 是一个不断发展的新型学科, mis 的定义随着计算机技术和通讯技术 的进步也在不断更新,在现阶段普遍认为mis 是由人和计算机设备或其他信 息处理手段组成并用于管理信息的系统。 系统是由相互联系、相互作用的若干要素按一定的法则组成并具有一定功 能的整体。系统有两个以上要素,各要素和整体之间,整体和环境之间存在一 定的有机联系。系统由输入、处理、输出、反馈、控制五个基本要素组成。信 息系统是输入的数据,经过处理,输出的是信息的系统。 1 1. .1 1. .2 2 组组成成分分类类 管理信息由信息的采集、信息的传递、信息的储存、信息的加工、信息的 维护和信息的使用五个方面组成。 任何地方只要有管理就必然有信息,如果形成系统就形成mis。计算机设 备使 mis 更有效,尤其是现代社会, mis 已和计算机设备不可分离,因此一般 北京理工大学 现代远程教育 学院毕业设计 (论文) 第 8 页 来说 mis 就是计算机 mis。mis 包括计算机、网络通讯设备等硬件成份,包括 操作系统、应用软件包等软件成份。并随着计算机技术和通讯技术的迅速发展 还会出现更多的内容。计算机设备并不是mis 的必要条件 。 1.2 系系统统目目标标内内容容 mis 的建设中,系统的最终目标和内容常常难以确定。比如:设备管理系统, 设备的种类成千上万,规格型号、归属部门、安装位置等千差万别。 mis 要管理的内容、达到的效果及运行后的状态等涉及的内容很多,很难通 过调研完全确定所有的内容。事实上, mis 建设和一般工程的根本区别就是不 能在开发前完全确立系统的目标和内容,即不可能期望有一个详尽的设计去简 单地、方便地组织和控制系统的建设,这是mis 建设的最大特点,也最易引起 比较大的问题。 1.3 mis 建建设设方方法法 mis 建设应从实际需要和可能出发,确立适度的开发目标和内容,使企业的 决策者和系统的开发者都对系统建设心中有数,以便有效地安排和布署开发工 作,并且在开发过程中逐步确立新的工作方式。系统的目标和内容涉及因素很 多,而应考虑相应的策略和方法: 1 1. .3 3. .1 1 系系统统分分解解 系统建设的规模一般较大,不易掌握和控制,可以将其分解为多个子系统, 以降低系统的复杂性。原有方式总是按照工作相关的程度分为多个部门,因此, 划分子系统是方便的,关键是要制定描述子系统间联系的约束规范,以此保证 各子系统最终能形成一个统一的系统。 1 1. .3 3. .2 2 全全面面评评估估 对于各子系统,全面评估系统开发的目的、内容、效果、条件相运行后的 北京理工大学 现代远程教育 学院毕业设计 (论文) 第 9 页 维护扩展等因素,这些因素关系到系统建设的成败,应从实际需要和可能出发, 要从大局着眼进行认真的分析。盲目求大求全就会导致图虚名而招实祸,达不 到预期的效果。 1 1. .3 3. .3 3 逐逐步步迫迫近近 在满足系统约束规范的基础上,用快速原形法开发各子系统。这样就不必 首先进行详尽的需求分析,以完全掌握原有的方式,而是通过试运行把用户的 需求不断吸收进去,让系统直接逼近开发目标。这样做有许多益处:可以降低 开发者掌握原有系统的难度;可以更准确地了解用户的需求、确立新的工作模 式;开发过程中,用户已经接受了新的系统。 1.4 按按计计算算机机的的特特点点组组织织系系统统 原有的方式一般是以适应人的工作特点逐步形成的,常常是分散的、不规 范的、其处理过程也较长。而计算机系统适合处理大批量的、规范的数据,并 且处理过程力求简明。按计算机的特点组织新的系统,不单单提供了数据的处 理而且能使工作方式变得规范、简明。因此,mis 的开发不是在模拟原有的方 式,而是根据计算机的特点重新设计出一种新的工作模式。实际工作中,对这 一点常常比较忽视,甚至完全根据人工方式的特点设计计算机的功能。就象如 果用工匠们手工生产方式设计汽车工业的生产线,实际上并不能真正提高效率 一样,这样的 mis 建设并不能发挥出应有的作用。 计算机系统的 “基础结构 ”是对企业的数据进行总体的规划和组织,建立 起统一的数据平台。以数据平台为中心,将系统开发划分为形成数据平台和由 数据平台变换出结果两个部分,在整体上使系统结构简单明了。建立数据平台 是面向计算机的有效方法,但不适于直接面对用户及其所使用的工作方式。作 为种开发方法,它适用于目标及所包含的数据内容明确的系统,如:民航及 北京理工大学 现代远程教育 学院毕业设计 (论文) 第 10 页 铁路售票系统。这种系统可以直接从组织数据入手实施开发。而对于目标及所 包含的数据内容隐蔽的系统,如电厂的设备管理系统,首先要面对的是用户及 其所使用的比较模糊的工作方式,对此开发人员在短期内完全掌握是不可能的。 此时应采取分解的方式,通过试运行把用户的需求不断的吸收到系统中去。在 这个过程中,开发者要注意以数据平台为中心建立起新的系统结构。 mis 建设要实现以计算机系统为中心的新的工作方式,其结果无论是计算机 系统内部还是人的工作都将是明确的、规范的。mis 建设面对的是原有方式和 计算机系统两个截然不同的问题,决不能忽视和混淆。用计算机本身的技术方 式去对待整个 mis 建设是一种根本性的错误。信息技术正在全球引发一场革命, mis 建设是这场革命的重要内容,是今后企业实现科学化管理获取高效益的基础 性工作。 mis 建设要涉及用户、原有工作方式、计算机软硬件、程序开发等许 多因素,这不是借助某项具体的、特定的技术所能完成的,本质上是一个系统 性的问题。 第第二二章章 数数据据库库理理论论 成功的信息管理系统,是建立在许多条件之上的,而数据库是其中一个非 北京理工大学 现代远程教育 学院毕业设计 (论文) 第 11 页 常重要的条件和关键技术。 信息管理系统所涉及的数据库设计分五个步骤:数据库需求分析、概念设 计、逻辑设计、物理设计与加载测试。 数据库需求分析的任务是将业务管理单证流化为数据流,划分主题之间的 边界,绘制出 dfd 图,并完成相应的数据字典。 概念设计的任务是从 dfd 出发,绘制出本主题的实体关系图,并列出各 个实体与关系的纲要表。 逻辑设计的任务是从 e-r 图与对应的纲要表出发,确定各个实体及关系的 表名属性。 物理设计的任务是确定所有属性的类型、宽度与取值范围,设计出基本表 的主键,将所有的表名与字段名英文化,实现物理建库,完成数据库物理设计 字典。 加载测试工作贯穿于程序测试工作的全过程,整个录入、修改、查询、处 理工作均可视为对数据库的加载测试工作。 2.1 设设计计原原则则 要设计出一个好的信息管理系统数据库,除满足系统所要求的功能外,还 必须遵守下列原则: 1基本表的个数越少越好。 2主键的个数越少越好。键是表间连接的工具,主键越少,表间的连接就 越简单。 3字段的个数越少越好。 4所有基本表的设计均应尽量符合第三范式。 北京理工大学 现代远程教育 学院毕业设计 (论文) 第 12 页 数据库的设计中,如何处理多对多的关系和如何设计主键,是两个有着较 大难度、需要重点考虑的问题。下面我们着重从应用、数据库设计范式和查询 优化等方面来分析本课题的系统关键技术和实现难点并加以解决。 2.2 设设计计方方式式 信息系统的主要任务是通过大量的数据获得管理所需要的信息,这就必须 存储和管理大量的数据。因此建立一个良好的数据组织结构和数据库,使整个 系统都可以迅速、方便、准确地调用和管理所需的数据,是衡量信息系统开发 工作好坏的主要指标之一。 2 2. .2 2. .1 1 系系统统设设计计 数据库设计主要是进行数据库的逻辑设计,即将数据按一定的分类、分组 系统和逻辑层次组织起来,是面向用户的。数据库设计时需要综合企业各个部 门的存档数据和数据需求,分析各个数据之间的关系,按照dbms 提供的功能 和描述工具,设计出规模适当、正确反映数据关系、数据冗余少、存取效率高、 能满足多种查询要求的数据模型。 2.3 设设计计步步骤骤 2 2. .3 3. .1 1 数数据据库库结结构构定定义义 目前的数据库管理系统( dbms)有的是支持联机事务处理cltp(负责对 事务数据进行采集、处理、存储)的操作型dbms,有的可支持数据仓库、有 联机分析处理 clap(指为支持决策的制定对数据的一种加工操作)功能的大型 dbms,有的数据库是关系型的、有的可支持面向对象数据库。针对选择的 dbms,进行数据库结构定义。 2 2. .3 3. .2 2 数数据据表表定定义义 数据表定义指定义数据库中数据表的结构,数据表的逻辑结构包括:属性 北京理工大学 现代远程教育 学院毕业设计 (论文) 第 13 页 名称、类型、表示形式、缺省值、校验规则、是否关键字、可否为空等。关系 型数据库要尽量按关系规范化要求进行数据库设计,但为使效率高,规范化程 度应根据应用环境和条件来决定。数据表设计不仅要满足数据存储的要求,还 要增加一些如反映有关信息、操作责任、中间数据的字段或临时数据表。 2 2. .3 3. .3 3 存存储储设设备备和和存存储储空空间间组组织织 确定数据的存放地点、存储路径、存储设备等,备份方案,对多版本如何 保证一致性和数据的完整性。 数据使用权限设置:针对用户的不同使用要求,确定数据的用户使用权限, 确保数据安全。 2 2. .3 3. .4 4 数数据据字字典典设设计计 用数据字典描述数据库的设计,便于维护和修改。 2.4 常常见见问问题题 为了更好地组织数据和设计出实际应用数据库,应该注意如下问题: 规范化地重组数据结构:对数据进行规范化表达,这在后面将会具体讨论。 关系数据结构的建立:在进行了数据基本结构的规范化重组后,还必须建立整 体数据的关系结构。这一步设计完成后数据库和数据结构设计工作基本完成, 只待系统实现时将数据分析和数据字典的内容代入到所设计的数据整体关系结 构中,一个规范化数据库系统结构就建立起来了。 建立关系数据结构涉及三方面内容:确定关联的关键指标项并建立关联表; 确定单一的父系记录结构;建立整个数据库的关系结构。 2 2. .4 4. .1 1 链链接接关关系系的的确确定定 在进行了上述数据规范化重组后,已经可以确保每一个基本数据表(我们 简称为表 )是规范的,但是这些单独的表并不能完整地反映事物,通常需要通过 北京理工大学 现代远程教育 学院毕业设计 (论文) 第 14 页 指标体系整体指标数据才能完整全面地反映问题。也就是说在这些基本表的各 宇段中,所存储的是同一事物不同侧面的属性。那么计算机系统如何能知道哪 些表中的哪些记录应与其它表中的哪些记录相对应,它们表示的是同一个事物 呢?这就需要在设计数据结构时将这种各表之间的数据记录关系确定下来。这种 表与表之间的数据关系一般都是通过主或辅关键词之间的连接来实现的。因为 在每个表中只有主关键词才能唯一地标识表中的这一个记录值(因为根据第三 范式的要求,表中其它数据字段函数都依赖于主关键词),所以将表通过关键 词连接就能够唯一地标识出某一事物不同属性在不同表中的存放位置。 2 2. .4 4. .2 2 确确定定单单一一的的父父子子关关系系结结构构 所谓确定单一的父系关系结构就是要在所建立的各种表中消除多对多(以 下用 m:n 来表示)的现象,即设法使得所有表中记录之间的关系呈树状结构 (只能由一个主干发出若干条分支,而不能有若干条主干交错发出若干条分支状 况)。所谓的 “父系”就是指表的上一级关系表。消除多对多关系可以借助于e- r 图的方法来解决,也可以在系统分析时予以注意,避免这种情况的发生。 消除这种 m:n 情况的办法也很简单,只需在二表之间增加一个表,则原来m:n 的关系就改成了 m:1,1:n 的关系了。 2 2. .4 4. .3 3 数数据据资资源源安安全全保保密密属属性性 一般 dbms 都提供给我们自己定义数据安全保密性的功能。系统所提供的安 全保密功能一般有 8 个等级(0-7 级),4 种不同方式 (只读、只写、删除、修改 ), 而且允许用户利用这 8 个等级的 4 种方式对每一个表自由地进行定义。 定义安全保密性的方法一般有如下几种: a原则上所有文件都定义为4 级,个别优先级特别高的办公室 (终端或 微机的入网账号 )可定义高于 4 级的级别,反之则定义为低于4 的级别。 b.统计文件 (表)和数据录入文件一般只对本工作站定义为只写方式,对其 北京理工大学 现代远程教育 学院毕业设计 (论文) 第 15 页 它工作站则定义为只读方式。 c财务等保密文件一般只对中工作站 (如财务科等 )定义为可写、可改、 可删除方式,对其它工作站则定义为只读方式,而且不是每个人都能读,只有 级别相同和高级别者才能读。 2.5 数数据据库库设设计计分分析析 建立起一个良好的数据指标体系,是建立数据结构和数据库的最重要的一 环。一个良好的数据指标体系是建立db 的必要条件,但不是充分条件。我们 完全可以认为所建指标体系中的一个指标类就是关系数据库中的一个基本表, 而这个指标类下面的一个个具体指标就是这个基本表中的一个字段。但如果直 接按照这种方式建库显然还不能算最佳。对于指标体系中数据的结构在建库前 还必须进行规范化的重新组织。 2 2. .5 5. .1 1 数数据据组组织织的的规规范范化化形形式式 在数据的规范化表达中,一般将一组相互关联的数据称为一个关系 (relation),而在这个关系下的每个数据指标项则被称为数据元素(data element),这种关系落实到具体数据库上就是基本表,而数据元素就是基本表 中的一个字段 (field)。规范化表达还规定在每一个基本表中必须定义一个数据 元素为关键字 (key),它可以唯一地标识出该表中其它相关的数据元素。在规范 化理论中表是二维的,它有如下四个性质: 1.在表中的任意一列上,数据项应属于同一个属性(如图中每一列都存放 着不同合同记录的同一属性数据 )。 2.表中所有行都是不相同的,不允许有重复组项出现(如图中每一行都是 一个不同的合同记录 )。 3.在表中,行的顺序无关紧要 (如图中每行存的都是合同记录,至于先放 哪一个合同都没关系 )。 北京理工大学 现代远程教育 学院毕业设计 (论文) 第 16 页 4.在表中,列的顺序无关紧要,但不能重复 (如图中合同号和合同名谁先 谁后都没关系,但二者不可重复或同名 )。 在对表的形式进行了规范化定义后,数据结构还有五种规范化定义,定名 为规范化模式,称为范式。在这五种范式中,一般只用前三种,对于常用系统 就足够了。而且这五种范式是 “向上兼容 ”的,即满足第五范式的数据结构自 动满足一、二、三、四范式,满足第四范式的数据结构自动满足第一、二、三 范式,依此类推。 2 2. .5 5. .2 2 f fi ir rs st t n no or rm ma al l f fo or rm m( (1 1s st t n nf f) ) 指在同一表中没有重复项出现,如果有则应将重复项去掉。这个去掉重复 项的过程就称之为规范化处理。在本文所讨论的开发方法里,1st nf 实际上 是没有什么意义的。因为我们按规范化建立的指标体系和表的过程都自动保证 了所有表都满足 1st nf。 2 2. .5 5. .3 3 s se ec co on nd d n no or rm ma al l f fo or rm m( (2 2n nd d n nf f) ) 指每个表必须有一个 (而且仅一个 )数据元素为主关键字 (primary key), 其它数据元素与主关键字一一对应。例如,如果我们将合同号定义为主关键字 (其它数据元素中的记录数据都有可能重名,故不能作为主关键字),故只要 知道了一个合同记录的合同号,就可以唯一地在同一行中找到该合同的任何一 项具体信息。通常我们称这种关系为函数依赖(functional dependence)关系。 即表中其它数据元素都依赖于主关键字,或称该数据元素唯一地被主关键字所 标识。 2 2. .5 5. .4 4 t th hi ir rd d n no or rm ma al l f fo or rm m ( (3 3r rd d n nf f) ) 指表中的所有数据元素不但要能够唯一地被主关键字所标识,而且它们之 间还必须相互独立,不存在其它的函数关系。也就是说对于一个满足了 2nd nf 的数据结构来说,表中有可能存在某些数据元素依赖于其它非关键宇数据元 北京理工大学 现代远程教育 学院毕业设计 (论文) 第 17 页 素的现象,必须加以消除。 为防止数据库出现更新异常、插入异常、删除异常、数据冗余太大等现象, 关系型数据库要尽量按关系规范化要求进行数据库设计。 第第三三章章 使使用用 access2000 实实现现关关系系型型数数据据库库 3.1 数数据据库库的的概概念念 数据库是一种存储数据并对数据进行操作的工具。数据库的作用在于组织 和表达信息,简而言之,数据库就是信息的集合。计算机的数据库可以分为两 类:非关系数据库( flat-file)和关系数据库( relational) 。关系数据库 中包含了多个数据表的信息,数据库含有各个不同部分的术语,象记录、域等。 3.2 新新建建一一个个数数据据库库 创建任何一个数据库的第一步是仔细的规划数据库,设计必须是灵活的、 有逻辑的。创建一个数据库结构的过程被认为是数据模型设计。 1. 标识需要的数据; 2 收集被标识的字段到表中; 3 标识主关键字字段; 4 绘制一个简单的数据图表; 5 规范数据; 6 标识指定字段的信息; 7 创建物理表。 北京理工大学 现代远程教育 学院毕业设计 (论文) 第 18 页 3.3 修修改改已已建建的的数数据据库库 数据库的修改分为:添加、编辑和删除记录。这三种操作均可由visual basic 创建的程序来完成,下面的章节将详细描述实现的具体方法。 3.4 实实现现数数据据库库之之间间的的联联系系 数据库之间的关系指明两个库之间共享一个共同的关键字值。一个连接是 指一种虚拟的表,这种表是在当用户要求从相互关联的各个不同的表中获取信 息时建立的,关键字段用于在相互连接的不同表中查找匹配的记录。一个更高 级的连接形式称为自连接。这种连接是指一个表被连接到它自己的一个字段, 或在不同的纪录中由重复数据的组合字段。数据库中有三种不同类型的关键字: 主关键字、组合关键字和外关键字。在表中使用的关键字类型用于描述库表示 什么以及在数据库中如何与其它的库建立关系。 北京理工大学 现代远程教育 学院毕业设计 (论文) 第 19 页 第第四四章章 系系统统开开发发环环境境 4.1 visual basic 简简介介 visual basic 6.0 是 windows 应用程序开发工具,使目前最为广泛的、易 学易用的面向对象的开发工具。 visual basic 提供了大量的控件,这些控件 可用于设计界面和实现各种功能,减少了编程人员的工作量,也简化了界面设 计过程,从而有效的提高了应用程序的运行效率和可靠性。故而,实现本系统 vb 是一个相对较好的选择。 4.2 实实现现关关系系型型数数据据库库 实实现现 access2000 就是关系数据库开发工具,数据库能汇集各种信息以供查询、 存储和检索。 access 的优点在于它能使用数据表示图或自定义窗体收集信息。 数据表示图提供了一种类似于 excel 的电子表格,可以使数据库一目了然。 另外,access 允许创建自定义报表用于打印或输出数据库中的信息。access 也提供了数据存储库,可以使用桌面数据库文件把数据库文件置于网络文件服 务器,与其他网络用户共享数据库。 access 是一种关系数据库工具,关系数 据库是已开发的最通用的数据库之一。如上所述,access 作为关系数据库开 发具备了许多优点,可以在一个数据包中同时拥有桌面数据库的便利和关系数 据库的强大功能。 4.3 数数据据库库引引擎擎 在这里,jet 数据库引擎提供了与数据库打交道的途径,我们是通过它以及 visual basic 来访问数据库并对其进行各种操作。 visual basic、access 北京理工大学 现代远程教育 学院毕业设计 (论文) 第 20 页 以及其他微软的软件产品都是通过共用jet 数据库引擎,从而给用户提供了丰 富的数据类型。 data 控件在数据库中的信息与将信息显示给用户看的visual basic 程 序之间架起了一座桥梁。我们可以设置data 控件的各个属性,告诉它要调用 那个数据库的哪个部分。缺省情况下, data 控件根据数据库中的一个或多个 数据表建立一个 dynaset-type(动态集合)类型的记录集合。一个记录集合是 动态的也就意味着,当原来的数据表中的容改变了以后,该记录集合中的记录 也会随之改变。 data 控件还提供了用来浏览不同记录的各种跳转按钮。将 data 控件放置在窗体中之后,我们还必须在该控件与要处理的数据库之间建立 联系。 第第五五章章 系系统统设设计计与与实实现现 4.1 系系统统总总体体规规划划 设计档案系统,需要运用窗体和控件、过程代码、数据库设计等许多知识。 档案系统包括档案名称、档案说明、档案类型等。 北京理工大学 现代远程教育 学院毕业设计 (论文) 第 21 页 档案管理就是将上述信转变为计算机能接受的数据送入计算机,系统包括 学生档案数据输入、信息查询、信息浏览及报表输出等功能。 4.2 系系统统功功能能 1. 收入记录; 2 查询; 3 折线式图表 ; 4 收支详情 5 每月结算 6 察看课程表。 4.3 系系统统具具体体实实现现 4 4. .3 3. .1 1 数数据据输输入入 对财务信息信息的管理,包括家庭财务信息的输入、添加、删除和修改。 4 4. .3 3. .2 2 查查询询 通过查询,将满足查询条件的信息显示在窗体上。 4 4. .3 3. .3 3 信信息息浏浏览览 将满足分析条件的数据在报表中显示出来。 4 4. .3 3. .4 4 报报表表输输出出 可以将查询的结果数据通过报表输出,也可打印输出。 4.4 系系统统设设计计与与实实现现 系统设计包括数据库设计、登陆界面设计、主界面设计、菜单设计和功能 设计。功能设计包括输入设计、查询等设计。原代码见附录。 北京理工大学 现代远程教育 学院毕业设计 (论文) 第 22 页 4 4. .4 4. .1 1 数数据据库库设设计计 数据库采用 access 数据库,使用 visdata 或在 access 环境中创建数据 库 personal 财务信息表 (zb)如下: (图 1) 通过数环境设计器的查询设计窗口,将财务信息表(personal)中的字段 添加到设计器中。 4 4. .4 4. .2 2 登登陆陆界界面面设设计计 登陆界面是用户进入系统前必须要验证身份的一个必要步骤。 此界面由四个标签、一个文本框和两个按钮组成。 登陆界面运行如下: 北京理工大学 现代远程教育 学院毕业设计 (论文) 第 23 页 (图 2) 实现代码 : option explicit public grzbpass as string private sub comca_click() unload me end end sub private sub comok_click() grzbpass = text1.text if label3.visible = true then if text2.text = text3.text then dim i as byte, pas(7) as string, mw mw = “ for i = 1 to len(text2.text) pas(i - 1) = mid(text2.text, i, 1) pas(i - 1) = chr(asc(pas(i - 1) + 50 + i * 2) mw = mw + pas(i - 1) next i open app.path + “ok.pas“ for output as #1 write #1, mw close #1 else msgbox “两次输入的密码不相同,请重输。“, 48, “提示“ text3.text = “ with text2 .text = “ .setfocus end with exit sub end if 北京理工大学 现代远程教育 学院毕业设计 (论文) 第 24 页 end if unload me end sub private sub form_mousemove(button as integer, shift as integer, x as single, y as single) line1.visible = false line2.visible = false line3.visible = false line4.visible = false line1.bordercolor = &h80000009 line2.bordercolor = &h80000008 line3.bordercolor = &h80000008 line4.bordercolor = &h80000009 end sub private sub label2_click() if module1.mw j then 如没有 goto last end if do while data1.recordset.absoluteposition j then 没有 data2.recordset.findfirst “month(年月)=“ + str(j - 1) 查找统计表中的上一 月记录 qmdate = data2.recordset.fields(0) 北京理工大学 现代远程教育 学院毕业设计 (论文) 第 38 页 qmju = data2.recordset.fields(4) data2.recordset.addnew data2.recordset.fields(0) = qmdate + 32 data2.recordset.fields(0) = cdate(str(year(cdate(qmdate) + “-“ + trim(str(hscroll1.value) + “-1“) data2.recordset.fields(1) = qmju data2.recordset.update end if data2.recordset.findfirst “month(年月)=“ + str(j - 1) 查找统计表中的上一月记录 if data2.recordset.nomatch then 本月就是第一条,找不到上月的 qmju = data2.recordset.fields(1) else qmju = data2.recordset.fields(4) end if data2.recordset.findfirst “month(年月)=“ + str(j) 查找统计表中的当月记录 data2.recordset.edit data2.recordset.fields(1) = qmju data2.recordset.fields(2) = zsl data2.recordset.fields(3) = zzc data2.recordset.fields(4) = data2.recordset.fields(1) + zsl - zzc for i = 0 to 4 data2.recordset.fields(i + 5) = sl(i) data2.recordset.fields(i + 10) = zc(i) next i data2.recordset.update last: next j visok (true) mok end sub private sub cx_click() comlr_click end sub 北京理工大学 现代远程教育 学院毕业设计 (论文) 第 39 页 private sub data1_error(dataerr as integer, response as integer) 这就是放置错误处理代码的地方 如果想忽略错误,注释掉下面的行 如果想捕捉错误,在这里添加错误处理代码 msgbox “数据错误事件捕捉到错误:“ & error$(dataerr) response = 0 忽略错误 end sub private sub command1_click() data1.recordset.addnew data1.recordset(2) = “工资收入“ data1.recordset.update data1.recordset.movelast dim t as boolean t = false visok (t) data1.recordset.edit slirecon.max = data1.recordset.recordcount - 1 slirecon.largechange = int(slirecon.max / 10) + 1 label9.caption = data1.recordset.recordcount end sub private sub command2_click() on error resume next if data1.recordset.recordcount = 1 then dim zb as database dim reyear as recordset dim i as integer, n as integer data1.recordset.delete msgbox “你删除本年最后一条收支情况,程序将关闭!“, 48, “下次再来吧!“ set zb = opendatabase(app.path + “zb.mdb“) 北京理工大学 现代远程教育 学院毕业设计 (论文) 第 40 页 set reyear = zb.openrecordset(“year“, dbopendynaset) n = reyear.recordcount for i = 1 to n + 1 reyear.delete reyear.movefirst next i set reyear = zb.openrecordset(“yzj“, dbopendynaset) n = reyear.recordcount for i = 1 to n + 1 reyear.delete reyear.movefirst next i set reyear = zb.openrecordset(“autoadd“, dbopendynaset) n = reyear.recordcount for i = 1 to n + 1 reyear.delete reyear.movefirst next i set reyear = zb.openrecordset(“xb“, dbopendynaset) n = reyear.recordcount for i = 1 to n + 1 reyear.delete reyear.movefirst next i form_unload (0) exit sub end if dim ko as integer, strsj as string, book as variant strsj = data1.recordset.fields(0) & “ “ & str(data1.recordset.fields(1) & “元“ & data1.recordset.fields(3) & “的情况吗?“ ko = msgbox(“的确要删除“ + strsj, 36, “删除记录“) if ko = vbyes then ko = data1.recordset.absoluteposition 北京理工大学 现代远程教育 学院毕业设计 (论文) 第 41 页 data1.recordset.delete 每作一次删除,absoluteposition =-1,当前无记录 data1.refresh 记录刷新(重新排序) data1.recordset.movefirst data1.recordset.movelast data1.recordset.movefirst if ko 0 then 若有预定 reauto.movefirst do while reauto.absoluteposition 1 then slirecon.max = data1.recordset.recordcount - 1 slirecon.largechange = int(slirecon.max / 10) + 1 else slirecon.max = data1.recordset.recordcount slirecon.largechange = 0 end if label9.caption = str(data1.recordset.recordcount) label10.caption = str(data1.recordset.absoluteposition + 1) dim t as boolean t = true visok (t) mok end sub private sub form_unload(cancel as integer) dim i as integer, j as integer j = forms.count - 1 for i = 0 to j unload forms(0) next i end sub private sub help_click() 北京理工大学 现代远程教育 学院毕业设计 (论文) 第 53 页 myhelp end sub private sub js_click() dctable (“yzj“) end sub private sub px_click() command5_click end sub private sub sc_click() command2_click end sub private sub slirecon_change() debug.print slirecon.value data1.recordset.movefirst data1.recordset.move slirecon.value mok end sub private sub sy_click() command4_click end sub private sub sz_click() dctable (“xb“) end sub private sub text1_lostfocus(index as integer) if not isdate(text1(0).text) then text1(0).setfocus 北京理工大学 现代远程教育 学院毕业设计 (论文) 第 54 页 text1(0).selstart = 0 text1(0).sellength = len(text1(0).text) end if if not isnumeric(text1(1).text) then text1(1).setfocus text1(1).selstart = 0 text1(1).sellength = len(text1(0).text) end if end sub private sub textfind_keypress(keyascii as integer) if keyascii = 13 then call textfind_lostfocus end if end sub private sub textfind_lostfocus() if not isdate(textfind.text) then with textfind .selstart = 0 .sellength = len(.text) .setfocus end with else data1.recordset.findfirst “收支日期=cdate(“ + textfind.text + “)“ if data1.record
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年陕西省西安市交通大附属中学八年级英语第二学期期中监测试题含答案
- 2025年建筑施工安全管理信息化对施工现场安全管理的企业战略目标优化策略优化报告
- 2025年工业互联网平台网络流量整形技术在工业互联网平台产业融合中的应用报告001
- 2025年医药企业研发外包(CRO)模式创新与实践案例深度解析报告
- 风电光伏培训课件
- 北京初中化学题库及答案
- 保险师考试试题及答案
- 安全救护知识试题及答案
- 2025年金融数据治理与资产化:金融行业数据共享平台建设报告
- 医院重点科室培训课件
- 大数据治理与服务平台建设及数据服务运营实施技术方案
- 简易信号通信工具操作使用
- 探寻漆扇之美邂逅漆扇探秘和玩转漆扇课件
- 电气实验室工作人员岗位职责
- 2025年-甘肃建筑安全员-C证考试(专职安全员)题库及答案
- 高压灭菌锅使用管理制度
- 劳务施工总承包合同
- DB37-T4827-2025 水利工程运行管理标牌设置指南
- 2025届高考物理说题大赛-以电学实验为例
- 休学一年后复学申请书
- 《安全心理学》课件
评论
0/150
提交评论