




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、报表自动生成软件设计 Software Design of Auto-generating Reports 摘 要在现代管理系统的开发中,经常涉及到数据的分析加工,最终把统计结果形成各种形式的报表,提供给领导决策参考或进行外部交流。一般情况下,可以采用专用的报表设计器来完成一个报表模板的设计,但在测试了几种设计器后,发现它们并不尽如人意。为此,笔者提出了基于Microsoft公司开发的Visual Basic 6.0以Basic高级语言为基础的面向对象的编程工具,采用ActiveX Data Objects数据连接技术,结合Access数据库,开发以Excel为数据报表模板的数据库管理系统。此
2、设计的优点在于:通过VB设计的简洁窗口界面能够实现降低用户使用软件的操作难度;连接了数据库的管理系统可以对繁杂的数据在后台进行分析处理;增加了复杂格式报表打印输出功能可以使得外部交流变得直观透彻。此次设计开发的“物流管理系统”实现了对运单的添加、删除、修改和查询功能,对品名的添加、删除和修改功能,对车站的添加、删除和修改功能,对客户的添加、删除和修改功能。最为主要和重要的是实现了客户结算表单的打印预览、打印和导入到Excel功能以及汇总结算表单的打印预览、打印和导入到Excel功能。关键词:Visual Basic;Excel;Access;报表;数据库管理系统AbstractAnalysis
3、 of the data processing is often involved in the modern management system. Finally, results of these statistical reports are made into various forms, provided to the leadership to make a decision or to have external communication. Normally, we can use a dedicated report designer to complete the repo
4、rt forms templates. After testing several designers, I found they are not as satisfactory as we thought. So, I put forward a plan, which is based on Visual Basic 6.0 that Microsoft Company made, using ActiveX Data Objects and combining Access, developing the DBMS that based on Excel. There are sever
5、al advantages of this plan. By using VB to design compact windows and it is easy for clients to use this software .At the same time the DBMS make it possible to analyze and process the complexity of data in the background. It adds the print funcation of complex format output which makes the external
6、 communication clear. The design of this “Logistics management system” has realized the functions of waybill increases, waybill remove, waybill changes and waybill inquiry. It also has realized these functions, adding, delete, modify and inquiry .This functions can be use in product name, station na
7、me and customer name. The most important function of this design is to achieve a printout, print preview, and the excel import about settlement form and summary form. Keywords: Visual Basic;Excel;Access;report forms;DBMS目 录绪 论1第一章 系统需求分析21.1 系统的可行性分析21.2 基本功能需求分析31.3 性能需求31.4 可靠性和可用性需求41.5 出错处理需求41.
8、6 约束41.7 逆向需求41.8 数据库选择需求41.9 系统开发计划6第二章 相关知识点介绍72.1 Visual Basic 6.0开发环境72.2 Microsoft Access82.3 SQL语句的使用92.4 ActiveX Data Objects (ADO)92.5 Microsoft Excel132.6 控件14第三章 系统框架设计153.1 系统功能描述153.2 系统流程图设计153.3 数据流图163.4 数据库设计17第四章 系统详细设计204.1 系统登陆界面设计204.1.1 登录模块设计204.1.2 系统登录模块流程设计204.2 MDI界面设计224.2
9、.1 MID模块设计224.3 系统管理窗口设计234.3. 1 密码修改窗口设计234.32 车站管理窗口设计254.33 品名管理窗口设计264.4. 运单管理窗口设计274.5 客户管理窗口设计304.6 关闭所有子窗体以及退出系统的设计314.7 结算管理窗口设计324.71客户结算窗口设计324.72汇总结算窗口设计344.8 报表设计364.9 系统人性化设计38第五章 系统调试405.1 物流管理系统的调试405.1.1 程序调试405.1.2 分调405.1.3 总调405.2 物流管理系统的测试40结 论42致 谢43参 考 文 献44附录A:主要源程序45附录B:软件使用说
10、明书50绪 论信息化是当今世界的主题和标志,信息就好似数据,信息化就是要方便、快捷的获取数据,充分而有效的利用数据,使得工作更加有效的完成。没有了数据就没有了一切,这决定着数据库的应用是广泛而深刻的。对于VB 6.0,有着很多的是是非非,有很多人在为它摇旗呐喊,也有人认为它不值得一提,然而只有真正用过它的人才会体会到它的精妙和它的博大以及使用它带来的快感。可以说对于桌面应用系统,特别是数据库的开发,它有着当仁不让的地位,特别是加入了DLL、COM、面向对象、可视化、事件驱动等新技术,它的力量已经不再单薄。【1】也很难想象,在当今的社会如果缺少了计算机,将会陷入怎样的一种境地。计算机的所有应用都
11、是通过执行程序来完成的,用来编写这些计算机程序的语言,经历了从低级语言到高级语言的发展过程。本文所研究的问题是基于Microsoft公司开发的Visual Basic 6.0以Basic高级语言为基础的面向对象的编程工具,采用ActiveX Data Objects数据连接技术,结合Access数据库,开发以Excel为数据报表模板的数据库管理系统。在日常工作和学习中,经常会遇到需要输出一些复杂报表的情况,一般情况下,可以采用专用的报表设计器来完成一个报表模板的设计,但在测试了几种设计器后,发现它们并不尽如人意,微软提供的数据报表设计器(Data Report)是Visual Basic提供的
12、一个新的设计器,它对报表的各个部分都能完好地实现,并目对报表内容有复杂的统计分类功能,因此,适于制作不带表格的报表;但它必须和VB提供的数据环境设计器结合使用,用户对其控制相对麻烦;由于它不提供制表功能,因此,不能解决以上问题。水晶报表设计器(Crystal Report)提供的功能强大的报表设计器,它能提供丰富的模板和方便的向导,虽然也提供表格功能,但用户只能使用标准的一维表格,输出复杂表格时,操作起来不太方便。为此,笔者提出以Excel制作的表格为模板,通过VB控制实现复杂格式报表的打印输出。通过VB设计的简洁窗口界面能够实现降低用户使用软件的操作难度,连接了数据库的管理系统可以对繁杂的数
13、据在后台进行分析处理,增加了复杂格式报表打印输出功能可以使得外部交流变得直观透彻。第一章 系统需求分析在现代管理系统的开发中,经常涉及到数据的分析加工,最终把统计结果形成各种形式的报表,提供给领导决策参考或进行外部交流。一般情况下,可以采用专用的报表设计器来完成一个报表模板的设计,但在测试了几种设计器后,发现它们并不尽如人意。为此,笔者提出以Excel制作的表格为模板,通过VB控制实现复杂格式报表的打印输出。在此次设计开发的“物流管理系统”中,主要实现基本功能有对运单的添加、删除、修改和查询功能,对品名的添加、删除和修改功能,对车站的添加、删除和修改功能,对客户的添加、删除和修改功能。该系统最
14、主要具备报表预览打印功能,有客户结算打印预览、打印、导入到Excel功能和汇总结算打印预览、打印、导入到Excel功能。在该系统的开发过程中植入了Excel报表模版功能,模版的研发和测试也作为这次研究的重点。该系统还具备登陆功能,但由于版本较低,暂无网路功能,因此没有权限指派功能,目前主要应用对象是面对单用户操作。由于是单用户单机版系统,所以登陆界面不设用户名只有密码登陆,只有管理员可以对系统和数据进行维护和操作工作。为了加强保密性能,此系统还加入了密码修改功能。1.1 系统的可行性分析 技术可行性:在开发前期,我对某些企业中现有的查询系统进行了考察,主要考察对象有企业中现存的“工资管理系统”
15、、“人力资源管理系统”、“超市进销存管理系统”和“酒店管理系统”等,这些系统都完好地在企业中运行多年,通过对这些的查询系统功能的考察,该系统的制作技术在我所拥有的技术能力范围之内,可以开发。【4】主要编程软件使用“visual basic 6.0”,数据库的建立是基于Access 2003的关系数据库,报表使用Excel 2003为报表模版进行功能研发。使用面向对象思想并与ADO数据库连接技术相结合开发该系统,技术方面都在能力范围之内,因此可行。经济可行性:由于时间和人力都比较短缺,而且该系统是完全自主研发,所以该系统数据不会很完善,只能体现部分字段以及某些国家具有代表性的数据,该系统的开发周
16、期可以满足全部功能开发以及系统健壮性测试和完善,因此经济方面可行。操作可行性:由于系统功能方面较为齐全并且复杂,为了避免误操作,在系统健壮性上给与了较强的完善。在系统开发后期将进行大量测试,尽可能多地消除了bug,基本可以满足用户的任意操作。操作与现有的查询系统基本一样,支持模糊查询和报表预览打印,操作界面直观简单,并且系统健壮性强,容错性高,因此理论上适合各种用户,但由于版本较低,从实用价值角度出发,目前主要应用对象是面对管理员用户。1.2 基本功能需求分析“物流管理系统”的数据库由五个数据表组成,CLIENT表记录着客户的地址及联系方式等信息,MYUSERS表记录着管理员的登录密码, PR
17、ODUCT表记录着所运送的货物名称, STATION表记录着运送货物的始发地和目的地, TRAFFIC表则记录着运单的详细情况如价格、重量、地点等。系统要求实现的基本功能有主要实现基本功能有对运单的添加、删除、修改和查询功能,对品名的添加、删除和修改功能,对车站的添加、删除和修改功能,对客户的添加、删除和修改功能。以及密码登陆,密码修改。报表生成预览和打印功能包括两个方面:一、客户结算打印预览、打印、导入EXCEL;二、 汇总结算的打印预览、打印、导入EXCEL。 系统还将具备一套完善的查询系统,可以对数据库进行条件查询,使符合用户给出条件的所有数据全部显示,如按日期、品名或客户查询,并对其完
18、成相应操作,如报表的生成和打印。查询条件包含所有可能出现的条件查询方法,并且将数字类型和文本类型的数据整合在一套查询系统中,当进行条件查询时,进行数字到文本或文本到数字的适当转换并以列表方式显示符合条件的所有运单信心,之后可进一步精确选择。1.3 性能需求数据的储存以文字为主,不会占用很大空间,但由于数量的巨大,会造成查询速度的问题,而且随着数据的增加,久而久之,查询速度很可能会减慢,所以在查询上我们会采取相应高级的算法解决,并定期对系统进行升级维护。为了防止用户误操作而破坏数据,在不同的状态下将对操作进行相应限制,在查看状态下,文本内容不允许修改;添加和修改状态下将限制其他按钮操作。同时为了
19、保护数据安全,该系统采用适时锁定数据库技术,即在查看状态下的数据查看类别为“只读”。只有进入到修改窗口才能进行必要的添加、修改、删除等操作。1.4 可靠性和可用性需求“物流管理系统”是在xp系统下编写的所以对硬件的要求并不高,可以在Windows xp及以上操作系统中运行,64M内存,366MHz条件下查询速度将被控制在2秒钟内,屏幕分辨率不得低于1280*800,不然会有部分界面显示在显示器之外,满足以上条件,系统即可顺利运行。在运行之前需将必要的控件加载到系统中。1.5 出错处理需求当数据库中的数据为空(Null)时,程序将会报错,并无法向下进行,这里使用的是On Error容错机制对其进
20、行处理以保证系统运行时无论面对多么复杂的数据库都不会瘫痪。类似地,还将采取其他方式对错误命令的输入进行分析判断和屏蔽。该系统将对用户输入的任何信息都回做出反应,例如,“找不到指定记录”、“你确定要删除这条记录吗?”等,这些人性化处理使界面更加友善,使用户更容易操作,不会由于用户的误操作造成错误,随着时间的推移,和数据量的增多,系统可能会出现一些事先没有预计到的错误,这些问题将出现在系统维护周期中,如果作为一个完善的产品,开发商会有专门的维修人员对系统进行定期维护,以确保系统的生命周期达到3年。1.6 约束该系统对硬件要求不高,只要在64M内存,366MHz条件下就可以顺利运行。适用于任何Win
21、dows xp以上的操作系统。1.7 逆向需求该系统没有自动进化功能,需要根据实际情况,人为定期升级。1.8 数据库选择需求目前有许多数据库产品,如Oracle、Sybase、Informix、Microsoft SQL Server、Microsoft Access、Visual FoxPro等产品各以自己特有的功能,在数据库市场上占有一席之地。 在选择数据库管理系统时应从以下几个方面予以考虑:(1) 构造数据库的难易程度。需要分析数据库管理系统有没有范式的要求,即是否必须按照系统所规定的数据模型分析现实世界,建立相应的模型;数据库管理语句是否符合国际标准,符合国际标准则便于系统的维护、开发
22、、移植;有没有面向用户的易用的开发工具;所支持的数据库容量,数据库的容量特性决定了数据库管理系统的使用范围。(2) 程序开发的难易程度。有无计算机辅助软件工程工具CASE计算机辅助软件工程工具可以帮助开发者根据软件工程的方法提供各开发阶段的维护、编码环境,便于复杂软件的开发、维护。有无第四代语言的开发平台第四代语言具有非过程语言的设计方法,用户不需编写复杂的过程性代码,易学、易懂、易维护。有无面向对象的设计平台面向对象的设计思想十分接近人类的逻辑思维方式,便于开发和维护。对多媒体数据类型的支持多媒体数据需求是今后发展的趋势,支持多媒体数据类型的数据库管理系统必将减少应用程序的开发和维护工作。(
23、3) 数据库管理系统的性能分析。包括性能评估(响应时间、数据单位时间吞吐量)、性能监控(内外存使用情况、系统输入/输出速率、SQL语句的执行,数据库元组控制)、性能管理(参数设定与调整)。(4) 对分布式应用的支持。包括数据透明与网络透明程度。数据透明是指用户在应用中不需指出数据在网络中的什么节点上,数据库管理系统可以自动搜索网络,提取所需数据;网络透明是指用户在应用中无需指出网络所采用的协议。数据库管理系统自动将数据包转换成相应的协议数据。(5) 并行处理能力。支持多CPU模式的系统(SMP,CLUSTER,MPP),负载的分配形式,并行处理的颗粒度、范围。(6) 可移植性和可括展性。可移植
24、性指垂直扩展和水平扩展能力。垂直扩展要求新平台能够支持低版本的平台,数据库客户机/服务器机制支持集中式管理模式,这样保证用户以前的投资和系统;水平扩展要求满足硬件上的扩展,支持从单CPU模式转换成多CPU并行机模式( SMP, CLUSTER, MPP)(7) 数据完整性约束。数据完整性指数据的正确性和一致性保护,包括实体完整性、参照完整性、复杂的事务规则。(8) 并发控制功能。对于分布式数据库管理系统,并发控制功能是必不可少的。因为它面临的是多任务分布环境,可能会有多个用户点在同一时刻对同一数据进行读或写操作,为了保证数据的一致性,需要由数据库管理系统的并发控制功能来完成。评价并发控制的标准
25、应从下面几方面加以考虑:保证查询结果一致性方法;数据锁的颗粒度(数据锁的控制范围,表、页、元组等);数据锁的升级管理功能;死锁的检测和解决方法。(9) 容错能力。异常情况下对数据的容错处理。评价标准:硬件的容错,有无磁盘镜象处理功能软件的容错,有无软件方法异常情况的容错功能。(10) 安全性控制。 包括安全保密的程度(帐户管理、用户权限、网络安全控制、数据约束)。(11) 支持汉字处理能力 包括数据库描述语言的汉字处理能力(表名、域名、数据)和数据库开发工具对汉字的支持能力。 (12)当突然停电、出现硬件故障、软件失效、病毒或严重错误操作时,系统应提供恢复数据库的功能,如定期转存、恢复备份、回
26、滚等,使系统有能力将数据库恢复到损坏以前的状态。针对以上选择条件及本次设计的系统需求,在比较了几种数据库管理系统之后,最终选择了具有有效检索数据的查询、信息输出载体的报表、提高应用效率的宏、功能强大的模块工具等特点的Microsoft Access。1.9 系统开发计划本开发工程计划在2010年3月15日至2010年6月13日,共三个月之内完成:3月15日3月31日,查阅资料、翻译外文资料,完成可行性研究和需求分析。4月01日4月08日:方案概要设计,完成系统设计的基本功能。4月09日4月15日: 数据库创建和录入。4月16日5月20日: 详细设计,实现各模块具体功能及报表的设计和生成。5月2
27、0日5月24日:对系统进行进一步开发升级,同时进行简单测试。基本完成所有工作。5月25日5月30日:对系统进行彻底完善的测试工作。6月1日6月5日:对系统进行维护,撰写物流管理系统使用说明书及其相关文档。6月6日6月13日:整理论文等相关档并进行最后的修改。第二章 相关知识点介绍本文研究开发的“物流管理系统” 以Visual Basic 6.0为程序开发环境,Microsoft Access 2003为数据库,Microsoft Excel 2003为报表生成模板。运用ActiveX Data Objects (ADO)数据库连接技术,【9】SQL查询语言,控件加载技术和 VB调用Excel模
28、板等技术。2.1 Visual Basic 6.0开发环境Visual Basic 6.0是近年来在国内外得到迅速推广应用的可视化、面向对象和采用事件驱动方式的结构化高级程序设计语言程序设计语言,可用于开发 Windows 环境下的各类应用程序。它具有简单易学,效率高,功能强大,软件费用支出低,见效快等特点。它提供了开发Windows应用程序最迅速,最简捷的方法, 可以与 Windows 专业开发工具SDK相媲美,不但是专业人员得心应手的开发工具,而且易于被非专业人员掌握使用。目前,全世界数以百万计的程序设计人员正在用Visual Basic 6.0开发各种类型的软件。 Visual Basi
29、c 6.0所提供的开发环境与Windows 9x,Windows NT4.0或Windows2000具有完全一致的界面,使用更方便,其代码效率已达到Visual C+的水平。在面向对象程序设计方面, Visual Basic 6.0全面支持面向对象的程序设计,包括数据抽象,封装,对象与属性,类与成员,继承和多态等。 在Visual Basic 6.0环境下,利用事件驱动的编程机制、新颖易用的可视化设计工具,使用Windows内部的广泛应用程序接口(API)函数,以用动态链接库(DLL)、对象的链接与世隔嵌入(OLE)、开放式数据连接(ODBC)等技术,可以高效、快速地开发Windows环境下功
30、能强大、图形界面丰富的应用软件系统。随着版本的提高,Visual Basic 6.0的功能也越来越强。【7】 Visual Basic 6.0简单易学的特点特别适合于编程的初学者以及想要快速创建应用程序的用户。Visual Basic 6.0也是一种伸缩性强的开发工具,即可以开发小型应用程序,也支持大型的企业及应用开发。Visual Basic 6.0 是用来创建高性能的企业应用程序及基于 Web的应用程序的最有效工具。Visual Basic 6.0 使开发者得以创建驻留在客户或服务器上或运行在分布式n-层环境里的强壮应用程序。Visual Basic 6.0 这个快速应用开发工具既可以作为
31、一个单独的产品也可以作为 Visual Studio 6.0 套件的一个组成部分。使用Visual Basic 6.0作为编程工具,可以大大缩短软件产品的开发周期,提高开发效率。Visual Basic 6.0具有强大的数据处理能力,是一种高效、通用的程序设计语言,提供了多种数据访问,可以方便的存取SQL server 2000,Access等多种数据库的数据, 是数据库应用程序快捷有效的开发工具。除可以开发单用户的数据库系统外,还可以开发多用户或被称为网络数据库的数据库系统。将数据库看成是存放数据的表和支持这些数据的存储、检索、安全性和完整性等逻辑成分所组成的集合时,这种数据库称为逻辑数据库
32、。如果将数据库看成是存储逻辑数据库的各种对象的实体时,这种数据库称为物理数据库,本文所研究的内容是对物理数据库的操作。但是Visual Basic 6.0的报表功能有限,虽然使用Crystal Report控件或程序可以方便设计报表,但其功能有限,而且一旦报表格式发生变化,就得修改相应的程序,给应用软件维护工作带来极大的不便,另外在实际应用中使用Excel报表的人很多,且 Excel报表功能强大,因此,使用Visual Basic 6.0创建 Excel报表是开发一个数据库系统的重要任务之一。2.2 Microsoft Access Microsoft Office Access(前名 Mic
33、rosoft Access)【9】是由微软发布的关联式数据库管理系统。它结合了 Microsoft Jet Database Engine 和 图形用户界面两项特点,是 Microsoft Office的成员之一。Access能够存取 Access/Jet、Microsoft SQL Server、Oracle(甲骨文软件公司),或者任何 ODBC 兼容数据库内的资料。熟练的软件设计师和资料分析师利用它来开发应用软件,而一些不熟练的程序员和非程序员的进阶用户则能使用它来开发简单的应用软件。虽然它支援部份面向对象(OO)技术,但是未能成为一种完整的面向对象开发工具。Access 是微软公司推出的
34、基于Windows的桌面关系数据库管理系统(RDBMS),是Office系列应用软件之一。【8】它提供了表、查询、窗体、报表、页、宏、模块7种用来建立数据库系统的对象;提供了多种向导、生成器、模板,把数据存储、数据查询、界面设计、报表生成等操作规范化;为建立功能完善的数据库管理系统提供了方便,也使得普通用户不必编写代码,就可以完成大部分数据管理的任务。它的使用方便程度和强大的设计工具为初级程序员提供许多功能。不过,这种便于使用可能使人误解。这类开发者都是没有在应用或者数据设计方面训练的办公室从业人员。因此许多人以为这样的开发者能够创造可用的系统,但也有很多人认为工具本身的局限性产生了这样的误导
35、。一些专业的应用程序开发人员使用 Access 用作 快速应用开发,特别是给街道上的推销员制作一个初型或独立应用程序的工具。可是如果是透个网络存取数据的话,Access 的可扩放性并不高因此当程序被较多使用者使用时,他们的选择多会是倾向于一些客户端-服务器为本的方案,例如【3】 Oracle、DB2、Microsoft SQL Server、Windows SharePoint Services、PostgreSQL、MySQL、Alpha Five、MaxDB,或者Filemaker。无论如何,不少 Access 的功能(表单,报告,序列和VB代码)可以用作其他数据库的后期应用,包括 JET
36、(档案为主的数据库引擎,Access 缺省使用)、Microsoft SQL Server、Oracle和任何其他跟ODBC兼容的产品。这种方法允许开发者把一个成熟的应用的数据移动到一台更大功率的服务器而没有已经在适当的位置牺牲发展。2.3 SQL语句的使用SQL是结构化查询语言Structured Query Language的缩写,使用SQL能够操作几乎任何一种关系型数据库,现在SQL已经发展为关系型数据库所使用的标准语言,并且被ANSI标准所定义。在编写操作数据库时能否正确灵活的使用SQL语句是很重要的。2.4 ActiveX Data Objects (ADO)(1)ADO使用基础:使
37、用DAO和RDO通过ODBC操作员城数据库的方法功能比较有限,使用上也不太方便。Visual Basic 6.0为用户提供了被称为ADO的技术方法,使用ADO可以很方便的进行队远程数据库的连接及操作。与DAO和RDO相同,在程序中既可以使用ADO控件操作数据库,也可以使用ADO对象编写操作数据库的程序。无论使用哪种方法,在具体操作数据库之前了解一下ADO的结构是很有必要的。(2)ADO的结构及作用:ADO结构图:Property对象Properties集合Parameter对象Parameters集合Command对象Property对象Properties集合Property对象Proper
38、ties集合Field对象Fields集合Recordset对象Property对象Properties集合Error对象Errors集合Connection对象图1-1:ADO结构图在ADO中包含有3个一般用途的对象:连接对象Connection、记录集对象Recordset和命令对象Command。连接对象Connection用于使用ADO进行数据连接,如连接ODBC、SQL Server、Orcale等。在连接对象Connection中包含错误集合Errors和属性集合Properties。在错误集合Errors中包含错误对象Error,在错误对象Error中包含的是各种具体错误的错误信
39、息;在属性集合Properties中包含属性对象Property,在属性对象中包含各种具体的属性。使用Connection对象的集合、方法和属性可执行下列操作:在打开连接前使用ConnectionString、ConnectionTimeout和Mode属性对连接进行配置;设置CursorLocation属性一边调用支持批更新的“客户端游标提供者”;使用DefaultDatabase属性设置连接的默认数据库;使用IsolationLevel属性为在连接上打开的事物设置隔离级别;使用Provider属性指定OLEDB提供者;使用Open方法建立到数据源的物理连接。使用Close方法将其切断;使用
40、Execute方法执行对连接的命令,并使用CommandTimeout属性对执行进行配置;可使用BeginTrans、CommitTrans和RollbackTrans方法以及Attributes属性管理打开的连接上的事务(如果提供者支持则包括嵌套的事务);使用Errors集合检查数据源返回的错误;通过Version属性读取所使用的ADO执行版本;使用OpenSchema方法获取数据库纲要信息。记录集对象Recordset是由数据记录组成的记录集。在记录集对象中包含在数据字段集合Fields和具体的字段对象Field。可使用Recordset对象操作来自提供者的数据。使用ADO时,通过Reco
41、rdset对象可对几乎所有数据进行操作。所有Recordset对象均使用记录(行)和字段(列)进行构造。由于提供者所支持的功能不同,某些Recordset方法或属性有可能无效。ADOR.Recordset和ADODB.Recordset是用来创建Recordset对象的ProgID。由此产生的Recordset对象行为相同,与ProgID无关。ADOR.Recordset随Internet Explorer安装,而ADODB.Recordset则随ADO安装。Recordset对象的行为受环境(即客户端、服务器、Internet Explorer等)的影响。这些差异将在属性、方法和事件的“帮助
42、”主题中加以说明。在ADO中定义了4中不同的游标类型。动态游标 用于查看其他用户所作的添加、更改和删除,并用于不依赖书签的Recordset中各种类型的移动。如果提供者支持,可使用书签。健级游标 其行为类似动态游标,不同的只是禁止查看其他用户添加的记录,并禁止访问其他用户删除的记录,其他用户所作的数据更改将依然可见。他始终支持书签,因此允许Recordset中各种类型移动。静态游标 提供记录集合的静态副本以查找数据或生成报告。他始终支持书签,因此允许Recordset中各种类型的移动。其他用户所作的添加、更改或删除将不可见。这是打开客户端(ADOR)Recordset对象是唯一允许使用的游标类
43、型。仅向前游标 除仅允许在记录中向前滚动之外,其行为类似动态游标。这样,当需要在Recordset中单程移动时就可提高性能。可以在打开Recordset之前设置CursorType属性来选择游标类型,或是用Open方法传递CursorType参数。部分提供者不支持所有游标类型。如果没有指定游标类型,ADO默认打开时将只支持向前游标。命令对象Command包含了与命令相关的参数对象集合Parameters和具体的参数命令对象Command同样包含属性集合和属性对象。用Command对象的集合、方法、属性可以进行下列操作:CommandText属性定义命令(例如,SQL语句)的可执行文本;通过Pa
44、rameter对象和Parameters集合定义参数化查询或存储过程参数;可使用Execute方法执行命令并在适当的时候返回Recordset对象;执行前应使用CommandType属性指定命令类型以优化性能;使用Prepared属性决定提供者是否在执行前保存准备好(或编译好)的命令版本; 使用CommandTimeout属性设置提供者等待命令执行的妙数;通过设置ActiveConnection属性是打开的连接与Command对象关联;设置Name属性将Command标识为与Connection对象关联的方法;将Command对象传送给Recordset的Source属性以便获取数据。如果不想
45、使用Command对象执行查询,须将查询字符串传送给Connection对象的Execute方法或Recordset对象的Open方法。但是,当需要使用命令文本具有持久性并重新执行它,或使用查询参数时,则必须使用Command对象。要执行Command,只需要通过他所关联的Connection对象的Name属性,将其简单调用即可。必须将Command的ActiveConnection属性设置为Connection对象。如果Command带有参数,则将这些参数的值作为参数传递给方法。任何涉及ADO对象的操作都回生成一个或多个提供者错误。每个错误出现时,一个或多个Error对象将被放到Connec
46、tion对象的Errors集合中。当另一个ADO操作产生错误时,Errors集合将被清空,并在其中放入新的Error对象集。每个Error对象都代表特定的提供者错误而不是ADO错误,ADO错误被记载到运行时的例外处理机制中。通过Error对象的属性可获得每个错误的详细信息,其中包括以下内容:Description属性,包含错误的文本;Number属性,包含错误长量的长整型整数值;Source属性,标识产生错误的对象,在向数据源发出请求之后,Errors集合中如有多个Error对象,该属性将十分有用;SQLState和NativeError属性,提供来自SQL数据源的信息。ADO支持由单个ADO
47、操作返回多个错误,以便显示特定提供者的错误信息。要在错误处理程序中获得多个错误的信息,可使用相应的语言或所在工作环境下的错误捕获功能,然后使用嵌套循环枚举出Errors集合的每个Error对象的属性。2.5 Microsoft ExcelMicrosoft Excel是微软公司的办公软件Microsoft office的组件之一,是由Microsoft为Windows和Apple Macintosh操作系统的电脑而编写和运行的一款试算表软件。Excel 是微软办公套装软件的一个重要的组成部分,它可以进行各种数据的处理、统计分析和辅助决策操作,广泛地应用于管理、统计财经、金融等众多领域。Exce
48、l 是Microsoft Office (微软办公套装软件)的一个重要的组成部分,它可以进行各种数据的处理、统计分析和辅助决策操作,广泛地应用于管理、统计财经、金融等众多领域。大量的公式函数可以应用选择,可以实现许多方便的功能,给使用者方便。与其配套组合有:word、PowerPoint、Access及Outlook。现在Excel2003应用较为广泛。本文所实现的数据报表就是基于Excel 2003为模版开发的。学会使用 Excel 的各种自定义功能,充分挖掘 Excel 的潜能,实现各种操作目标和个性化管理 。学会综合运用各种 Excel公式、函数解决复杂的管理问题和用 Excel 处理及
49、分析不同来源、不同类型的各种数据,以及灵活运用Excel的各种功能进行财务数据分析和管理。真正让EXCEL成为您工作得心应手的工具。一、轻松创建专业级的报表:1、高效率的报表制作;2、导入非 Excel 格式的外部数据;3、快速完成数据输入的技巧;4、数据验证。二、公式与函数在Excel中的运用:1、公式的类型;2、单元格引用类型;3、基本函数的运用;4、各种函数轻松搞定所有计算问题。三、制作满意的图表让您的数据看上去很清晰:1、图表的制作;2、图表的美化和高级美化;3、本量利图表的制作;4、以不变应万变动态图表的制作。四、Excel在报告中的应用:1、Excel数据查询技巧;2、Excel数
50、据分析技巧;3、Excel数据展现 。Excel 2003支持Visual Basic编程,与Visual Basic 6.0无缝兼容,可以达到最佳的程序运行效果。VBA的使用可以达成执行特定功能或是重复性高的操作。2.6 控件控件是对数据和方法的封装。控件可以有自己的属性和方法。属性是控件数据的简单访问者。方法则是控件 的一些简单而可见的功能。 1、控件得创建创建控件就是自行设计制作出新的控件。设计控件是一项繁重的工作。自行开发控件与使用控件进行可视化程序开发存在着极大的不同,要求程序员精通面向对象程序设计。设计控件是一项艰苦的工作。对于控件的开发者,控件是纯粹的代码。控件的开发不是一个可视
51、化的开发过程,而是用C+或Object Pascal严格编制代码的工作。实际上,创建新控件使我们回到传统开发工具的时代。虽然这是一个复杂的过程,但也是一个一劳永逸的过程。创建控件的最大意义在于封装重复的工作,其次是可以扩充现有控件的功能。控件创建过程。包括设计、开发、调试(就是所谓的3Ds)工作, 然后是控件的使用。控件开发者应该掌握的三项主要内容是:属性、事件和方法。2、控件的使用 使用现成的控件来开发应用程序时,控件工作在两种模式下:设计时态和运行时 态。在设计时态下,控件显示在开发环境下的一个窗体中。设计时态下控件的方法不能被调用,控件不能与最终用户直接进行交互操作,也不需要实现控件的全
52、部功能。在运行状态下,控件工作在一个确实已经运行的应用程序中。控件必须正确地将自身表示出来,它需要对方法的调用进行处理并实现与其他控件之间有效的协同工作。第三章 系统框架设计3.1 系统功能描述“物流管理系统”的数据库由五个数据表组成,CLIENT表记录着客户的地址及联系方式等信息,MYUSERS表记录着管理员的登录密码, PRODUCT表记录着所运送的货物名称, STATION表记录着运送货物的始发地和目的地, TRAFFIC表则记录着运单的详细情况如价格 重量 地点等。系统要求实现的基本功能有主要实现基本功能有对运单的添加、删除、修改和查询功能,对品名的添加、删除和修改功能,对车站的添加、
53、删除和修改功能,对客户的添加、删除和修改功能。以及密码登陆,密码修改。报表生成预览和打印功能包括:客户结算打印预览、打印、导入EXCEL, 汇总结算打印预览、打印、导入EXCEL。EXCEL模板是设计者设计的 可以根据需要向设计者提出设计要求,也可以自行进行一些美化修改。 系统还将具备一套完善的查询系统,可以对数据库进行条件查询,使符合用户给出条件的所有数据全部显示,如按日期 品名或客户查询,并对其完成相应操作,如报表的生成和打印。查询条件包含所有可能出现的条件查询方法,并且将数字类型和文本类型的数据整合在一套查询系统中,当进行条件查询时,进行数字到文本或文本到数字的适当转换并以列表方式显示符
54、合条件的所有运单信心,之后可进一步精确选择。3.2 系统流程图设计本系统大致分为三个阶段即登录阶段、 选择操作阶段和报表打印阶段。在输入正确密码进入系统后就可以选择操作运单管理、客户管理、结算管理、系统管理等,在选择了结算管理后就可以选择相应需要打印的记录进行打印输出。 系统流程图如下3-1所示:图3-1:系统流程图3.3 数据流图在整个系统运行过程中随时伴随着管理员与数据库的交流,首先是登录时管理员输入密码与数据库中的密码的比较,然后是管理员对运单、客户、结算等等的添加、删除或修改,最后是打印出以EXCEL为模板的数据库中信息的报表。整个数据流图如下3-2所示:图3-2:数据流图3.4 数据
55、库设计针对本次设计的系统需求,在比较了几种数据库管理系统之后,最终选择了具有有效检索数据的查询、信息输出载体的报表、提高应用效率的宏、功能强大的模块工具等特点的Microsoft Access。它提供了表、查询、窗体、报表、页、宏、模块7种用来建立数据库系统的对象;提供了多种向导、生成器、模板,把数据存储、数据查询、界面设计、报表生成等操作规范化;为建立功能完善的数据库管理系统提供了方便,也使得普通用户不必编写代码,就可以完成大部分数据管理的任务。数据库使用Access 2003,取名为“db.mdb”是一个由五个表组成的关系数据库,关键表是一个由“CARNUM、DATENUM、PRODUCT
56、TYPE、TRAINTYPE、SENDSTATION、RECEIVESTATION、SENDER、RECEIVER、WEIGHT、BASICCARRIAGE、LOCALCARRIAGE、FAVOURABILE、AHORTCARRIAGE、SHORTCARRIAGE、STORAGECHARGE、STORAGECHARGE、CLEARCHARGE、TOTAL”这些字段名构成的二维表,表名称为“TRAFFIC”,表的每一条记录承载着一个运单的基本信息。关键“TRAFFIC”表如图3-3所示:图3-3:TRAFFIC表图如图示Access是一个面向对象的开发工具,利用面向对象的方式将数据库系统中的各种
57、功能对象化,将数据库管理的各种功能封装在各类对象中。它将一个应用系统当作是由一系列对象组成的,对每个对象它都定义一组方法和属性,以定义该对象的行为和外国,用户还可以按需要给对象扩展方法和属性。通过对象的方法、属性完成数据库的操作和管理,极大地简化了用户的开发工作。同时,这种基于面向对象的开发方式,使得开发应用程序更为简便。第二个表是名为“CLIENT”的客户信息表,其是一个由“NAME、SEX、COMPANY、ADDRESS、TELEPHONE、MOBILE、FAX、REMARK”八个字段名构成的二维表,其主要功能是记录每个客户的联系方式及地址等信息。第三个表是名为“MYUSERS”的管理员登录密码表,其是由“USERNAME、PASSWORD”两个字段构成的二维表用来承载用户当前密
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 【正版授权】 ISO 14306-3:2025 EN Industrial automation systems and integration - JT file format specification for 3D visualization - Part 3: Version 2
- 公司职工团建活动方案
- 公司联谊羽毛球活动方案
- 公司法务大讲堂活动方案
- 公司生日游戏活动方案
- 公司组织球类活动方案
- 公司组织七一活动方案
- 公司茶话会零食策划方案
- 公司策划文体活动方案
- 公司改革策划方案
- 2024届辽宁省沈阳市沈河区物理八下期末考试试题含解析
- 激光先进制造技术 课件 第3章 激光熔覆技术
- 医院与商会合作协议
- 争分夺秒备战期末主题的学习班会
- 门店营销课件 完整版
- 中国全部城市名及拼音
- 未成年人纹身治理-主题班会
- 中国红色文化精神学习通超星课后章节答案期末考试题库2023年
- 平方差公式公开课一等奖课件市公开课一等奖课件省赛课获奖课件
- 2023年公司商业机密保密管理
- 2023山西焦煤集团有限责任公司井下操作工招聘2000人笔试模拟试题及答案解析
评论
0/150
提交评论