基于VB技术的仓库管理系统的设计与实现

2024-07-31

基于VB技术的仓库管理系统的设计与实现(精选6篇)

篇1:基于VB技术的仓库管理系统的设计与实现

3.1系统设计原则

仓库库存管理系统设计应遵循以下原则:

①确保用户操作界面的方便性和简洁性,保障仓库库存管理系统的易操作性;

②尽量采用先进的计算机科学技术,如通信技术、信息技术、网络技术等,保障仓库库存管理系统使用性能;

③仓库库存管理系统结构设计必须合理,应便于扩展,及时完善和添加应用功能;

④充分利用各种硬件和软件系统,满足仓库库存管理系统的操作应用要求;

⑤仓库库存管理系统必须设定密码保护和不同权限管理,保障系统信息安全,采用数据还原和数据备份技术,保障仓库库存管理系统数据的安全性。

3.2B/S架构

仓库库存管理系统可以采用B/S架构,B/S架构(浏览器/服务器架构)是对C/S架构的一种完善和改进,B/S架构和C/S架构相比,为用户提供便于管理和操作的工作模式,通过B/S架构实现仓库库存管理系统界面和用户之间的交互,由于浏览器具有一定一致性和规范型。同时,仓库库存管理系统B/S架构将很少一部分的业务逻辑提交到Browser端处理,大部分业务逻辑主要是在仓库库存管理系统的Server端进行处理。三层架构将仓库库存管理系统划分为数据访问层、业务逻辑层和表示层,充分体现出低耦合、高内聚的系统设计开发优势,结合仓库库存管理实际要求,也可以将仓库库存管理系统再细化为多层结构。同时,仓库库存管理系统的B/S架构在系统升级、后期维护方面具有明显应用优势,仓库库存管理系统升级或者维护时,用户在使用仓库库存管理系统时,只需要更新或者修改服务器端仓库库存管理系统软件,极大地减轻客户端系统维护工作量,在很大程度上节省了仓库库存管理系统运行升级和维护检修的附加成本。

3.3总体模块设计

结合仓库库存管理系统的应用模块、功能需求和业务需求之间的耦合性,仓库库存管理系统主要包括条形码扫描模块、数据库连接池、网络接口层、数据库接口层、人际交互层模块,用户通过仓库库存管理系统界面或者客户端进行操作,经过严格的校验和输入,通过计算机网络合理配置,将数据接口层进行封装,实现数据库数据的操作和直接访问,在操作商品条形码时,利用条形码扫描模块,输入仓库商品条形码,实现相应操作。仓库库存管理系统各个模块结构如下:

3.3.1前台界面人机交互层

仓库库存管理系统前台界面人机交互层主要负责处理用户的输入和输出操作,用户登陆仓库库存管理系统以后,结合界面提示,实现报表统计、资料管理、仓库管理、系统管理等集成功能操作。

3.3.2数据库接口层

仓库库存管理系统的数据库接口层提供了数据库和系统交互接口,使人机交互更加安全和简单。

3.3.3数据库连接模块

数据库连接模块主要提供数据库和数据库实例之间的关闭、连接等操作,利用SQL语句来操作数据库连接接口,用户不需要了解数据库断开、连接等具体操作细节。

3.3.4SQL语句操作模块

利用数据库连接模块提供数据操作的执行接口、SQL语句和数据库连接接口,构成一个完整的SQL语句执行流程,简化仓库库存管理系统操作。

3.3.5数据操作模块

数据操作模块结合仓库库存管理系统操作需求,产生SQL语句,由SQL语句操作模块进行执行,并且向仓库库存管理系统反馈执行结果,实现用户接口层和数据库接口层的交互。

3.3.6网络接口层

仓库库存管理系统的网络接口层主要负责客户端和服务器端的数据格式的传输和定义。

3.3.7条形码扫描仪模块

仓库库存管理系统的条形码扫描仪模块主要负责识别仓库商品条形码,商品物流过程中采用标准化包装和通用条形码,减轻仓库库存管理人员的工作量,简化仓库库存管理系统操作处理过程。

3.4系统功能模块设计

3.4.1注册登录模块

仓库库存管理系统应用时,用户先登录系统界面,严格验证用户身份,防止非法用户访问仓库库存管理系统,注册登录模块在仓库库存管理系统中发挥着非常重要的作用。仓库库存管理系统包括生管员、仓管员、管理员等用户信息,由仓库库存管理系统管理员添加用户账号信息,必须保障用户账号信息的安全性和稳定性。

3.4.2添加物料信息

企业生管部门在商品下订单采购时,使用仓库库存管理系统的添加物料信息模块,每个商品都有唯一编码,为采购人员和管理人员制作报表或者期末结账时提供便利,物料信息是仓库库存管理的关键内容,仓库库存管理系统添加商品的`规格、编码等信息,按照订单收料,确保仓库收料的快捷性和准确性,有效避免仓管员在仓库库存管理中暗箱操作。

3.4.3库存信息查询模块

库存信息查询模块是仓库库存管理系统的关键模块,仓管员利用仓库库存管理系统可以方便的、灵活地查询到仓库库存信息,如商品最后出库日期、最后入库日期、安全库存数量、物料价格、剩余库存数量等。仓库库存管理系统的库存信息查询模块时序图如图1所示。

3.4.4收料单新增模块

收料单新增模块是指仓库管理人员利用这个模块将货物存入仓库,实现仓库收料的迅速化、信息化,仓管员在进行仓库库存管理系统查询时,更加方便快捷。仓管员利用这个模块收料,极大地减少了仓库库存管理复杂流程,仓管员和管理员通过仓库库存管理系统的收料单新增模块,使其能够方便、灵活地添加单信息。有效提高仓库库存管理效率和水平。

3.4.5库存批次模块

库存批次模块有效提高了仓库库存管理系统的物料信息管理效率,方便查询物料的数量、领出和收入时间,确保仓库库存物料管理的科学性和准确性。

4结语

近年来,越来越多的企业认识到仓库库存管理的重要性,利用多种先进的科学技术,积极开发设计仓库库存管理系统,实现企业仓库库存的自动化、规范化和科学化管理,推动企业的可持续发展。

参考文献

[1]郝晓龙.基于B/S架构的库存管理系统的分析与设计[D].北京邮电大学,.

[2]姚锡钦.实训中心仓库管理系统的分析与设计[D].厦门大学,.

篇2:基于VB技术的仓库管理系统的设计与实现

①根据仓库库存管理要求,在任何时间可以自动生成物资统计报表;

②为用户提供多方位、多角度的物资存储、发送和接收查询程序;

③根据仓库物资分类,建立数据库,满足各种物资的出库、库存和入库数据的动态化要求;

④仓库库存管理系统数据库必须具有较高的稳定性和安全性,合理设置仓库库存管理系统使用权限,尽量便捷、简单地录入数据;⑤良好的系统界面设计,结合菜单提示可以快速完成某项操作,使没有任何计算机基础的人员也可以正常使用,实现傻瓜式操作[1]。

2仓库库存管理系统的功能需求

仓库库存管理系统首先要建立商品、供应商、客户端等数据库,准确录入数据,对每个商品设计条形码进行标识,使用条形码打印机来打印条形码,生成条形码序列号标签,每个条形码中包含序列号、数量、规格、品名等信息。商品采购入库时,用户利用条形码打印机打印商品条形码标签,采集商品的初始信息,用扫描枪扫描商品序列号,保存采购收货单。同时,仓库库存管理系统要对仓库出入口记录和货物信息进行有效管理,库存管理、货物出库和货物入库是仓库库存管理系统的重要内容,由于仓库库存管理系统的功能很多,应合理设计系统管理、报表统计、仓库管理、系统资料建立等模块[2],结合市场需求提供的要求和支持,仓库库存管理系统应实现以下基本功能:

2.1资料建立

仓库库存管理系统应对商品、客户、供应、商品信息等基础数据进行分类,合理设置仓库基本信息。

2.2仓库管理

仓库库存管理系统的仓库管理主要包括盘点管理、库存盘点、出库管理、销售出库、入库管理、采购入库等,入库管理应实现金额统计、账务、退货单据和进货单据查询、采购退货、货品采购入库等功能,商品出库管理应实现金额统计、账务、退货单据和销售单据查询、销售退货、销售出库等功能,仓库库存管理系统的出入库管理应结合出入库时间、供应商情况等来进行商品管理,盘点管理和库存盘点应注意仓库货品检索。

2.3报表统计

仓库库存管理系统的报表统计应包括库存盘点、报溢、库存报损、货品调拨、库存查询、库存盘点、销售报表、采购报表等功能,实现仓库库存的统计查询,清楚反映仓库库存管理每张单据的业务金额。

2.4权限管理

篇3:基于VB的考试系统的设计与实现

关键词:开发环境,设计思路,功能,安全

计算机自四十年代诞生以来,经过五十年的发展历程,其应用领域已渗透到社会的各个方面,包括科学计算、信息处理、自动控制、辅助设计、办公自动化等。考试作为信息处理的一部分,借助于计算机来实现,是考试方法改革的必然;考试运用现代科学技术是一种发展趋势。

本系统设计的无纸化考试,能够适用于各种标准化题型的考试,具有良好的开发性,成卷形式灵活,实用性强,保密性好,支持多用户操作,可供学生在局域网上同时考试,具有网上考生监控功能。系统有灵活的随机出题功能,可以在相同难度系数的基础上,在题库中随机组卷自动评阅客观题,并将客观题成绩传到服务器端,主观题自动提交到服务器端由教师评判,给出成绩,具有较强的自我管理能力,因此大大地压缩了教师的命题、组卷、评分方面的工作量,提高了工作效率和考试环节的客观性。本系统无需在客户机上建立任何数据库,一切数据都是由服务器端数据库提供,大大提高了题库的保密性能。本系统不再把专业人员和计算机人员捆绑在一起,而是将软件开发工作和题库建设工作分离开来,使各专业教师可以应用本系统随时随意地进行二次开发,无须受计算机水平的限制,这有助于推进无纸化考试系统的广泛应用和普及。

1 考试系统的开发工具及其环境

本考试系统,是采用美国微软公司的面向对象的可视化编程软件Visual Basic6.0开发工具开发的,开发此项考试系统采用了ADO访问数据库的方法。

本系统是在Windows2000操作系统下,通过编程语言Visual Basic6.0中文版,以及制作帮助文件的word、xchm工具,SQL Server2000建立数据库开发而成的。本系统运行要求的硬件配置为:32MB内存以配置,系统的最佳运行分辨率为800×600。

2 考试系统软件基本设计思路

2.1 研究内容

学校是考试频率较高的单位之一。在学校,科目众多,任课教师工作繁忙。每举行一次考试都需要事先命题、打印试卷样稿、复印试卷、试卷回收、评阅试卷等一系列工作,而不同专业、班级、教师等各种因素都会影响到测试的有效性、准确性、公正性,造成了考试管理中的某些不规范,给教师和学生都带来了诸多不便。本系统针对考试管理的弊端,根据传统考试的基本流程,实现了考试的电子化、无纸化,减少人为因素干扰,减轻教师、学生和管理人员负担。

本系统可以提供给教师类用户、学生类用户和管理人员使用,不同类用户功能不同。教师类用户可以创建试题、删除试题、进行题库维护、创建试卷、修改试卷、打印试卷、评阅试卷。学生类用户主要可以进行两部分操作:1)按照教师事先的考卷要求随机组卷、进行考试、提交客观题成绩与主观题答案、查询考试成绩及个人信息。2)在教师的带领下进行习题课练习或自发上机进行各个科目、难度、章节的习题练习,并可以在需要标注的题目上添加备注信息并查看备注信息。管理员用户则可以对本系统人员信息进行维护和更新。

2.2 研究方法、技术路线

2.2.1 编程语言的选择

我们开发的无纸化考试系统,是采用美国微软公司的面向对象的可视化编程软件Visual Basic6.0开发工具开发的。Micorsof Visual Basic提供了在Microsoft Windows操作系统下开发功能强大的应用程序的最迅速、最容易的途径。Visual Basic作为优秀的可视化开发环境之一,具有编程效率高,开发周期短的特点,而且最新中文版Visual Basic 6.0对原有功能作了完善,它包含了数百条语句、函数及关键词,并添加了许多新的功能,包括新的控件(如:ADO Data,Datalist,Data Conctol和DataGrid等),新的数据访问方法,(如支持OLE DB的ACTIVEX数据对象ADO和增强的数据绑定等),新的Internet特性以及新的语言特点。

2.2.2 数据库的选择

由于本系统需要庞大的题库与试卷库空间,因此,我们使用SQL Server 2000作为数据库。配置SQL Server2000中的数据库完成数据库应用程序的基本步骤是:

1)创建数据库。

2)配置数据库与应用程序的连接。

3)创建应用程序。

3 系统功能结构概述

3.1 系统的功能结构

本考试系统分为三大部分:教师用户操作、学生用户操作、管理员操作。教师用户主要对试卷和成绩进行管理,包括创建试卷、修改试卷、评阅试卷、查询成绩等。学生用户是指当前系统中所有的学生,该类用户能够参与答题并浏览考试结果,也可以在老师带领下或自发的进行某科目、某难度系数和某章节的习题练习。管理员用户的权限是对系统中的所有人员进行浏览、查找,并进行管理。

3.2 系统主要功能模块流程图

图1为系统主要功能模块流程图。

4 考试系统安全性能改进

由于使用计算机考试具有高效、快速、客观等优点,计算机无纸化考试在各种科目的考试中日益广泛应用。目前重大的考试如计算机等级考试就是一个很好的例子。

但是现在现有的一些考试系统在安全方面做的还是不足,存在一些漏洞,为此我们在考试环境、考试软件两方面进行了研究,提出了改进考试系统安全性能的方案和某些措施,同时保持系统的灵活性。

4.1 考试软件的安全

加强考试软件中的安全防范措施是计算机无纸化考试系统安全的核心,通过它能有效防止试题泄密、防止考生多次登录考试,管理考试时间长度、考生用户名和口令。

在考试软件的安全性上,本系统还考虑到数据库的损坏问题,因此,在教师管理部分,提供了数据库的备份与恢复,增加了本软件的灵活性。

4.2 系统的灵活性

由于不可避免的计算机故障、电源故障等原因,考试系统必具有一定的灵活性。如考试中机器死机后应允许该机考生重新登录考试,同时,考生已提交的题型答案系统将不做保存,系统只记录下考生已经作过但还没有提交的题目和答案。某机器出故障无法运行后应允许该考生到其它机考试。因此,改进考试系统安全性的同时,仍应保持系统的灵活性。二次登录考试,可采用口令控制,该口令由监考员掌握。

当然,窃取破坏和安全防范是一对矛和盾,双方的技术都是不断进步的。计算机无纸化考试系统安全也一样不可能一劳永逸,必须不断改进安全性能。

5 结论

随着计算机科学技术的不断发展,计算机辅助教学系统软件逐步成为我们实现新的教学目标体系的重要工具,是对传统的科学知识的改革,是现代高新技术如多媒体技术、网络技术等结合的新的教学环境下的必备工具,使教师和学生都能利用这一先进教学手段提高教学质量和教学水平。正是计算机技术的不断发展,使得计算机正在逐渐取代纸张,成为最常用的信息载体。网络更是以其惊人的速度发展,带领着其下许多的追随者。计算机辅助测试60年代初在美国诞生,历经40多年,已经成为了一种趋势,它简便、经济、实时等优点得到大家的共识。现在许多大型公司的认证考试,例如:MicroSoft公司的MCSE、MCDBA、MCSD等考试;SUN公司的JAVA认证考试,还有英语托福、GRE考试也已经采用计算机联网考试的方式。在计算机及网络技术的不断发展下,现代教育技术应用的普及,大学课程的教学内容日益增多且不断更新,课程的考试与考核工作日益复杂与繁重。为推动考核方法改革,加快考核手段的现代化,根据教学的实际需求,我们必须改变传统的纸张考试的方式,充分利用计算机和网络技术,实现网络计算机考试。

参考文献

[1]刘韬,骆娟,何旭洪.Visual Basic6.0数据库系统开发实例导航[M].北京:人民邮电出版社,2002:11-24.

[2]东方华人.SQL Server 2000与Visual Basic.NET数据库入门与提高[M].北京:清华大学出版社,1999:27-30.

篇4:基于VB技术的仓库管理系统的设计与实现

关键词 三级网络技术;VB;模拟考试系统;随机抽题

中图分类号:G652 文献标识码:B

文章编号:1671-489X(2016)16-0029-03

1 引言

随着计算机网络技术的发展,计算机网络技术知识变得越来越重要,计算机等级考试合格证书也已成为用人单位录用大学毕业生的基本条件之一。为方便广大学生检验习得的网络技术知识,并积极备战全国计算机三级网络技术等级考试,在此进行基于VB的三级网络技术模拟考试系统的研究。

本研究所设计的三级网络技术模拟考试系统从学生角度出发,最终完全面向学生。它既考核学生对所学知识的掌握情况,还能够模拟真实的考试环境,提高考生认知能力和适应考试的能力。该系统随机抽取题目,自动对试卷进行评分,增加了考试的实时性和全面性。此外,三级网络技术模拟考试系统作为学生独立进行自主学习的平台,有助于促进远程教育中教育资源的开发。

2 系统功能概述

该三级网络技术模拟考试系统使用了VB、Access主要开发工具和Photoshop辅助工具,由管理员模块和考生模块两个模块组成。由于三级网络技术知识随着技术的不断发展会有所更新,则管理员模块可以解决知识更新伴随的试题更新问题。三级网络技术考试题型主要是选择题、填空题和综合题,综合题作答形式与填空题相近,本模拟考试系统将其归类为填空题。此外,考虑到初学者学习网络技术知识会有感到枯燥的时候,故在此增设娱乐区域,希望使学习者得到适时放松,促进学习效率的提高。

3 系统功能分析与实现

系统功能分析

1)系统客户端功能分析。该三级网络技术模拟考试系统主要分为管理员模块和考生模块,由于该系统面向的对象是网络技术知识的学习者,因此两个主要模块的功能都是为学习者量身打造。本系统的具体功能模块如图1所示。

2)系统数据库功能分析。该模拟考试系统要长期存放大量的试题和考生信息等数据,即需将数据存放在数据库中,在上述的模块中除了娱乐区域,都需要对数据库进行操作。该系统涉及的数据库系统以模拟考试系统功能为基础,建立一个名为“模拟考试系统数据库”总的数据库。总库中包含学生信息表、选择题题库表、填空题题库表、试卷参数表和学生考试试卷表等5个数据表。该数据库主要用于登录系统和抽取试题进行考试,用户实际操作的是数据库中这5个不同数据表相互连接后的结果,以便系统正常运行,从而提高学习者的工作效率。

系统功能实现

1)数据库实现。依据本系统的实际特点和功能要求,该数据库中主要选择题题库表和学生考试试卷表等5个表。选择题题库表项主要有选择题号、题干、选项、标准答案、解析、错误次数等。学生考试试卷表项主要有试题在试卷中编号、试题在题库中编号、试题答案、学生答案、得分等。

2)客户端功能实现。在考生总界面中,单击“模拟考试”按钮,再单击随之出现的“开始考试”按钮,即可进入与全国计算机三级网络技术等级考试类似的考试界面中,系统客户端主要功能如图2所示。

3)计时功能。由于考生已知道考试总时间,没有必要再设计一个倒计时功能来增加考生心理压力;另一方面,考生知晓实际所用考试时间能反思出自己对试题的掌握情况。综上,本模拟考试系统将真实考试环境中的倒计时功能改进为直接计时功能,流程如图3所示。

4)随机抽题功能。考生在单击“开始考试”按钮的同时,系统自动从数据库对应表中通过循环产生的随机数生成40道选择题、4道填空题的题号,逐个保存至数组,然后将抽取的试题题号植入考生考试试卷表中。在考试界面中需新建一个Adodc控件,将Adodc控件的数据源设为考生考试试卷表和选择题表与填空题表的条件连接体。随机抽题的流程如图4所示。

5)统计考生的成绩。考生顺利答完所有题目,单击“交卷”按钮,或者考生考试已到120分钟的真实考试时间,系统会自动判断考生的答案正确与否,统计出考生所得分数,关闭模拟考试界面。统计分数的流程如图5所示。

4 总结

本文是针对计算机三级网络技术的学习和模拟考试所做出的一些研究,对于自主学习三级网络技术的学生来说,具有很高的研究价值和广泛的应用前景。本系统经过多次修改和调试,基本能实现模拟考试、总结学习成果等功能,具有较高的稳定性。但是本系统分数统计的细化方面还需要进一步深入和完善。

参考文献

[1]许洋,李胜.基于VB的计算机二级考试练习系统设计[J].徐州师范大学学报:自然科学版,2006(3):27-29.

[2]唐建国.基于VB+ACCESS的无纸化考试系统的设计与实现[J].软件,2012(2):19-20,23.

[3]唐赞玉,瞿绍军,彭华.基于VB的计算机考试复习系统的设计与实现[J].吉首大学学报:自然科学版,2006,27(2):39-42.

[4]武怀生.基于VB&ACCESS的考试系统中生成不重复随机试题的算法及程序设计[J].自动化与仪器仪表,2015(10):132-134.

篇5:基于VB技术的仓库管理系统的设计与实现

实时测定坦克在行进过程中舱室内的状态参数和环境参数对分析噪声、冲击、振动及有害气体对舱室人员身心健康的影响具有重要意义.采用PCM/FM体制的遥测系统来实现坦克在行进过程中舱室内被测参数的实时传输.对舱室环境参数测试方法、遥测系统的容量和信道设计等关键技术进行了详细的分析.试验测试结果表明,系统具有数据远距离和高速实时传输的.优点,既可满足地面环境要求,又能够满足实车野外测试的实际应用环境,达到了工程实用化.

作 者:孙发鱼 郑海起 纪立红 曾蕾 SUN Fa-yu ZHENG Hai-qi JI Li-hong ZENG Lei 作者单位:孙发鱼,SUN Fa-yu(军械工程学院火炮工程系,河北,石家庄,050003;西安机电信息研究所,陕西西安,710065)

郑海起,ZHENG Hai-qi(军械工程学院火炮工程系,河北,石家庄,050003)

纪立红,曾蕾,JI Li-hong,ZENG Lei(西安机电信息研究所,陕西西安,710065)

篇6:基于VB实现复杂报表设计

基于VB实现复杂报表设计

(陕西理工学院 物理系 电子信息科学与技术07级2班,陕西 汉中 723000)

[摘要] 本文介绍了报表设计的几种方法和以往报表设计所存在的问题,并以实例介绍自动生成复杂报表的方法。实例基于VB软件开发,并以word为模板,通过调用access数据库数据自动生成复杂报表。

[关键词]VB;数据库;Word;复杂报表

The Design Of Complex Reports Based VB

(Grade 2007,Class2, Major electronical information and technology,Physics Dept, Shaanxi University of Technology,Hanzhong 723000,Shaanxi)

[Abstract] This paper reports detailed description of several common methods, previous reports of the existence of the problem, and makes use of example to achieve a complex reporting by using of software.The example based on VB software and used word template, to achieve the common complex reporting software through reallocating database.[Key words] VB;Database;Word;Complex Statements

陕西理工学院毕业设计

1引言

报表是人们在日常生活中对某类相关信息进行集中处理的重要手段,是企业信息化不可缺少的部分。报表在各行各业中应用广泛,是信息浏览、分析和打印的有力工具。传统报表系统均以国外简单报表模型为基础设计,不能适应复杂报表的开发。特别是在处理复杂数据源报表时,常常需要编写代码准备数据或进行子报表拼接才能实现。1.1传统报表系统存在的问题

目前,国内外的报表系统种类繁多,功能界面各具特色,对这些报表系统的比较研究,有助于我们设计出更好的报表系统。国外的报表系统的技术都比较成熟,适合制作样式简单的报表,但一般都为高端产品,价格不菲,并且在处理具有强烈中国特色的报表时,国外产品不仅报表处理能力相当不适应,甚至某些技术也略显落后,例如部分产品不能稳定地在UNIX上部署,只能支持IE浏览器,统计图输出仍采用原始的CGl方式等。国内的传统报表系统更适合制作复杂的中国式报表,在报表设计和价格等方面国内报表系统也具有一些优势,但国内的报表系统在服务质量和产品本身的品质等方面还存在着一些不足和缺陷,有待进一步的改进和完善。无论是国外的高端报表系统,还是国内的传统报表系统,每一种报表系统都有各自的优点和缺点,都有各自擅长的领域,在实际工作中应该根据需要选择合适的报表系统。面对日益复杂的报表开发需求,尤其是复杂的中国式报表,这些报表系统或多或少都有些力不从心,其主要问题表现在以下三个方面:

(1)复杂数据源的处理能力不足。报表需要从复杂的数据源或者多个不同类型的数据源中获得数据,获得的数据还可能需要统计,格式转换或其他处理,这些需求都是传统报表系统难于实现的。

(2)报表的可维护性差。传统的报表系统生成报表的种类固定,使用方便,但很多软件系统无论在实施还是在维护阶段,报表都会进行频繁的新增和修改,而传统的报表系统缺乏无编码定制能力,系统扩展网难。一旦用户对报表样式的需求发生改变,就会给软件维护带来许多不必要的麻烦。

(3)报表保存格式的通用性较差。报表保存格式不统一,保存格式理解困难,各种报表工具各自为政,报表模板无法兼容,行业也没有形成统一的标准,一旦用户选定了某一报表工具就意味着要一直使用。如果不幸选择失误,已经做的工作都要重新再来。

总之,利用传统的报表系统制作报表维护量相当大,一个需求对应一个报表文件,不同

陕西理工学院毕业设计 的组合要求制作大量的报表文件,使得开发过程变得极为繁琐,难以实现用户的需求。在设计复杂数据源的报表时,或者需要人工转换数据格式,或者要编写大量代码将多个数据源运算成为一个数据源再使用,或者使用拼接子报表的方式来实现,但都没有从根本上解决问题,严重影响报表的设计和使用效率。因此如何快速制作符合多层结构特点的复杂数据源报表,减轻开发工作量,已经成为报表系统开发的重要问题。

在计算机出现之前,数据需要以纸制文件等形式保存,数据处理是手工进行的,报表的编制也是手工实现的。随着计算机的广泛应用,人们开始使用计算机及计算机软件实现数据处理,使用数据库管理系统来管理数据,使用应用程序来完成具体的业务操作,报表的编制也开始使用软件来实现。完成报表编制工作的软件程序称为报表系统或者报表工具。报表系统的产生改变了报表编制的流程、方法以及编制手段。

报表是信息管理系统中各种数据信息的最终输出结果,是其重要的组成部分。在信息管理系统的开发过程中,软件设计人员常常需要设计大量的报表,其中相当一部分报表的结构比较类似,需要软件设计人员逐一定义每一个报表的报表对象、数据模型、显示格式等属性,同时还可能对数据存储、导入和导出等操作带来诸多不便,这些繁琐的重复性工作常常花费软件设计人员、操作人员、维护人员大量的精力和时间,影响系统的开发、使用效率。同时,报表还是信息管理系统中变化性很强的部分。应用系统交付用户后,随着时间的推移,用户可能需要新的报表,报表的格式、报表的数据要求都有可能发生变化,用户的各种各样的报表要求,仅依靠应用系统预先提供的报表是很难实现的。

从报表系统的发展历史来看,在应用系统进入数据共享的时候,比较专业的报表系统或控件就出现了,并且一直沿用至今。这些工具的理论模型和需求都出自于国外的需求,这种模型和需求比较符合国外用户的使用习惯,比较适合设计制作样式非常规整,没有表格线,没有斜线表头和分层分组的简单报表。然而中国人的报表习惯与国外用户存在很大差别,中国的报表也比国外的报表复杂许多。报表是由“报’’和“表"两部分组成,“报”指数据的汇总统计,即将数据从数据库中取出按一定规则运算统计后排列。“表”则指格式,数据需要放在单元格中,才能清楚定位,体现数据之间的层次与对应关系。目前市场上的报表系统大致分为两类,一类基本上能把数据库的数据取出来运算排列制作出动态的报表。但其格式设计功能不好,一般是采用控件拖放的方式编辑报表,靠一个个矩形边线重合对齐绘制表格,一条直线要拼接多条线段,而且还和分辨率相关,打印出来不整齐。还有一类仿制Excel的产品,合并单元格、添加边框非常方便,可以快捷地设计出一个复杂格式的报表。但它们的缺点是数据处理能力太弱,除了简单的格内运算外,与数据库打交道的过滤、分组等统计运算都需要编程实现。

中国报表最困难的地方是数据统计。中国报表具有的多数据源、整表规则分片、不完全划分、跨行组运算及独立格间运算、行列对称等特征,是传统报表系统无法满足的,常常导致要求编写代码准备数据或拼接子报表才能完成一个复杂报表的制作。表样格式复杂也是中国报表比较麻烦的地方,中国报表均要求有整齐的表格线,多层表头层次分明。业内有名的报表系统一般采用控件式拖拽的绘制方案,制作表格非常烦琐,且还与分辨率相关,屏幕与打印不一致,而中国报表对打印样式要求向来很高。中国报表还会有填写的需求,前端需要支持各种填写控制,如编辑风格、自动计算、合法性校验等;填写好的数据能够方便地写入数据库以进行下一步的统计汇总。而很多报表软件不支持填写能力,一般的填报解决方案都不能自动处理数据入库的问题,导致相应的编程工作量仍然很大。1.2国内外研究现状

大部分通用软件领域,国外产品都要相对优秀。早期的报表系统软件是由国外的公司和研究机构设计实现的,适合制作样式非常规整,没有格线,表头简单的国外报表。国外的报表系统都具有各自的原创技术,又经过了多年的发展和完善,其技术相对都比较成熟,但是国外的报表系统在报表样式绘制方面的能力比较弱,在价格上一般都比较昂贵,所以经常被称作高端产品。例如挪威QuSoR公司专门为Delphi编写的QuickRepon报表组件,使用

陕西理工学院毕业设计 QuickReport可以迅速设计出符合西方人习惯的报表,从功能和设计上来说,不失为一个较好的报表设计工具,但对于报表设计的灵活性,及在程序编译完毕后用户对报表的可修改性等方面还远远不能满足用户的需要。

国外典型报表系统中,著名的有Excel,Cwstal Report,Fo彻ula One等,随着.NET技术的不断发展,近年来国外已经出现了一些基于.NET环境的报表系统,例如MicrosoR的Reporting Services技术,Ⅵsual Studio 2005集成的报表解决方案,C搿stal Reports f1叫Visual Studio.NET,Developer Express公司开发的X仃aReports报表组件和ComponentOne公司开发的C 1 Reports报表组件等等。其中MicrosoR的Reportillg Services技术是基于服务器的报表解决方案,可以用来创建和管理包含关系数据源和多维数据源中的数据的表格、矩阵、图形和自由格式的报表,并可通过网络连接来查看和管理报表。Reporting Services在报表的制作、分发和报表数据的安全性等方面都有很好的表现,功能比较全面,但是需要微软众多企业级解决方案的支持,并且价格相当昂贵。

国内的报表系统主要是使用Java和Visual C++设计实现的传统报表系统,传统报表系统是指一些主要以条带式设计为基础的开源软件以及国内的一些仿制产品。这些报表系统的数学模型都是基于SQL/OLAP理论设计的,虽然不断地进行改进,但根本处理方案并没有本质的变化,远远不能满足国内复杂报表的制作需求。近年来不断推出的新版本以及新报表系统都只是在技术上改进,如从C/S移植到B/S、支持JaVa等,而理论模型仍是原来的传统方式,所以仍然算是传统报表系统。传统报表系统最显著的特征是主编辑画面呈条带状,以模拟SQL中的seIect和Group运算;大部分报表系统采用繁琐的拖拽式编辑(有个别报表系统开始采用方便的表格式);交叉表要采用专门的类OLAP模型处理,样式和运算都比较死板。

国内比较有名的报表系统基本上都是Java报表系统,主要有用友华表(Cell)和润乾报表等。润乾报表是一个功能非常强大的纯Java报表产品,各方面都很出色,其新一代报表模型采用了革命性的多源分片、不规则分组、动态格间运算、行列对称等技术,能设计实现很多原来传统报表系统中很复杂,甚至很难实现的报表。但是由于润乾报表设计方式完全依赖手写表达式,对于没有编程基础的普通用户来说,学习使用润乾报表的难度较大。1.3常见的典型报表工具及其介绍

目前常见的典型报表工具中,著名的有Excel,UniversalForms,Oracle9i Reports,Formula One等,国内也推出了许多报表工具。对现有报表工具的比较研究,有助于我们设计出更好的报表工具。1.3.1 Excel Excel是历史悠久的电子表格程序之一,功能强大。许多后来出现的Windows报表系统均受其影响,甚至在功能和界面上加以模仿。Excel具有如下特点:

(1)可视化界面:Excel提供工作簿和工作表,一个工作簿包括若干张工作表,一张工作表即是一张报表。每张工作表由若干单元格组成,每个单元格可以单独操纵:设计单元格的数据格式,定义数据公式等。对报表作出修改后,可以立即看到修改效果;

(2)丰富的格式支持:Excel报表中可以包括文字,数字,图形等多种内容;提供文字的字体大小、颜色,数字的显示格式等格式控制;

(3)丰富的数据处理功能:提供多种数据处理函数:数据库函数、日期与时间函数、工程函数、财务函数、逻辑函数、查询和引用函数、数学和三角函数、统计函数、文本函数;

(4)支持多种数据源,可访问的数据库包括: Microsoft SQL Server OLAP Services、Microsoft Access 2000、dBASE、Microsoft FoxPro、Microsofl Excel、Oracle、Paradox、陕西理工学院毕业设计 SQL Server以及文本文件数据库,此外,还可以使用ODBC驱动程序或数据源驱动程序以获取其他类型数据库中的信息。

(5)WEB发布支持

Excel支持将报表放置到Web页上,用户不需要在计算机上安装Excel就可以访问报表。(6)支持交互式报表

如果希望用户可以与报表中的数据进行交互,则可以将数据设置为交互式。在交互式报表中,用户可以进行以下操作:筛选,输入新值以进行计算或汇总和分析数据。

(7)提供编程环境

EXcel提供了Visual Basic for Applications(VBA)和Ⅵsual Basic编程环境,同时支持OLE。用户可以使用VBA编写自定义函数,实现对已有数据处理函数库 的扩充,满足实际需要,但有时编程相对比较复杂。1.3.2 Crystal Report Crystal Report是Crystal Decisions公司推出的比较著名的报表系统,使用Crystal Report是一种大型报表系统常用和推荐的解决方案。它能够实现对数据的检索、分组、分析,并把分析结果以表格的方式展现给用户,为用户解决现实中各种各样的商业问题。与其他的报表创建和分析软件相比,Crystal Report软件具有稳定性、可伸缩性以及应用平台广泛等优点。Crystal Report不仅有功能强大的Java版的Crystal Report报表引擎,而且也有直接集成到了Visual Studio开发环境当中来使用的Crystal Report for visual Studio.NET,开发人员可以从任何项目访问报表编辑器,完成显示、统计、分组和插入图表等多种操作,它也允许和各种主要的Java集成开发环境集成在一起。Crystal Report主要具备以下一些功能:

(1)形式多样的内容创建:允许用户添加图表、下拉式菜单、警示、参数提示以及超链接,并将报表转化为引入注目的交互式文件或Web内容,使用标志、图画、形状和色彩来定制报表。而且内置了广泛的公式,使得开发人员可以对于报表格式、综合业务逻辑和数据进行全面的控制;

(2)支持多数据源:可以直接编辑SQL,以便不受限制地控制数据库连接。数据源包括XML,OLAP或其它相关的内容。通过在Microsoft Excel和Access中的Crystal Reports Add-in功能,用户可以利用现有的Microsoft数据创建报表;

(3)提供分析工具:Crystal Report提供趋势判断、促进入际关系和保留重要论据的工具。另外附属报表、公式、总计运算,以及可自定义的交叉标签提供了更进一步的分析能力;

(4)支持Web应用:利用Web的权限设置功能,Crystal Report让所有在不同平台和地点的用户都可以访问报表。Crystal Report与Report Streaming技术相结合,以最优化处理报表在线需求(即时)和Web报表排序次序的效能。

Crystal Report帮助开发者做出了大量的报表,它的功能也在不断地加强。但是,开发人员也经历了很多时刻,不仅仅是费劲地去画格子,摆位置,更发现很多报表,需要先做一个复杂的视图,甚至写程序准备数据;发现许多报表运行起来的效率会很低;发现有些报表很难做出来。另外,Crystal Report for Visual Studio.NET未注册版本功能可用。在此之后的Save Option将不能使用。为了使用全部的功能,你不得不为之付费。1.3.3 Fomula One 它是一个OLE ActiveX报表控制引擎,支持Excel电子表格的编辑与运行,Formuloone6以前为基于C/S环境,其后的版本(如Repert,SPreodsheet等)主要面向B/S环境。胡于进等(2004)在它的基础上设计新报表组件FIBOOKREPORT,其主要具有以下特点:

(1)可以嵌入到应用程序中提供报表功能,也可以独立使用;

(2)支持HTML格式输出:它包括一组API,能够将选定范围的表格输出到一个HTML文件中;

(3)内置计算器:具有强大的电子表格功能,且与Excel兼容;

陕西理工学院毕业设计(4)编程支持:Formula One包含了广泛而丰富的API函数,帮助开发者灵活自如地控制电子表格的制作,为程序员提供了便利的电子表格设计工具箱。

虽然,目前通用报表有了较大的发展,但是在实际应用中,既开源免费或价格便宜,又能满足用户要求通用报表系统能够简单灵活地实现连接数据源、设定报表样式等的报表很少,市场上的报表系统存在以下不足:

1.工作量大:企业的需求是动态、复杂、多变的。目前的报表系统中,出于数据的显示或打印格式都是由程序员根据客户需要直接在程序制作期间生成的。如果报表的科目稍有变化,都需重新编译程序发布,加重了程序员的维护工作量;

2。缺乏灵活性:目前的通用报表系统是不可以自定义取数据源与取函数或公式,而只能选择系统提供的有限的取数函数与公式来自定义报表,如果需要实现对这些取数函数或公式以外的数据资源的访问就十分不方便;

3.未实现跨平台连接多个数据源:目前的报表大部分只能实现连接单一目标数据源,未能实现跨平台连接多个数据源,即不能实现异构数据库。例如Excel,水晶报表等都只能连接多种数据源,但不能实现同时。

2在VB中利用word实现复杂报表

在数据库应用系统中开发word 文档自动生成程序,可以实现以下功能:文档自动生成;自动添加页眉页脚;目录自动生成;格式自动调整;文档格式大众化,便于传输与交流;对大文档、复杂表格处理具有明显优势:可依用户要求智能化地生成风格各异的文档等等。实践证明,在数据库应用系统开发中,用word文档自动生成程序取代传统的数据库报表输出,使得开发的数据库应用系统的报表处理大大改观,优点突出,很值得推广,本文就是基于word实现复杂报表的设计。2.1 VB中Word对象模型

在VB调用Word之前,首先要引进对象库,然后才能以Word为对象编程。引进Word对象库的方法是:在编程环境下,选择“工程”菜单,选中“引用”项,打开“引用”对话框,在“可用的引用”列表中选中“Microsoft Word11.0 Object Library”,即可在Word中引进对象库。

Visual Basic支持的Word对象集合直接对应于Microsoft Word中的各个元素。例如,Document对象代表了一个打开的文档,Bookmark对象代表了一个文档中的书签,而Selection对象则代表了在一个文档窗口窗格中的选定内容。在Word中,每一类元素(文档、表格、段落、书签、域等等)都可以用Visual Basic的对象来表示。要在Word中自动执行任务,可以使用这些对象的方法和属性。

主要Word对象有以下6个:(1)Application对象

当用户打开一个Word文档,也创建了一个Application 对象,它表示运行的应用程序。也可以把Application对象看成应用程序对象的容器,Application对象中包容了Word 的菜单栏、工具栏、Word命令等的相应对象以及文件对象等。菜单栏对象中包容了所有的菜单及菜单命令。工具栏对象中包容了各种命令按钮。文件对象中则包容了所有的文字、表格、图像等文件组成部分的相应对象。

用户可以利用Application对象的属性或方法来控制或返回应用程序范围内的特性、控制Word窗口的外观或调整Word对象模型的其它方面。例如Application.PrintPreview=True 将从视图状态切换到打印预览状态。

Application对象的属性也可以访问处于对象层次中较低级的对象,比如Windows集合(代表了当前所有打开的窗口)和Documents集合(代表了当前所有打开的文档)。用户可以通过一些属性,从对象层次中最高一级的Application 对象向下访问到较低级的对象(Document对象、Window对象、Selection对象等)。

(2)Document对象

陕西理工学院毕业设计 当用户在Word中打开或创建一个文件的同时,也创建了一个Document对象。在Word中,Document对象表示一个打开的文档,而且所有的Document对象都是Application对象的Documents集合的成员。几乎所有的操作都要调用Document对象本身或其内容,用户可以使用Document对象或Documents 集合的属性或方法来打开、创建、保存、启动或者关闭文件。

每一个Document对象都具有Characters、Words、Sentences和Paragraphs四个集合。可以使用语法Documents(index)来返回作为一个Document对象的任何打开的文档,index是该文件的名字或索引号。但是当用户添加或关闭多个文档时,某个特定文件的索引号会发生改变,所以最好使用文档的名字来对Documents集合中的Document对象进行索引。

要打开一个文档,可以使用open方法;要创建一个新文档,可以对Documents应用Add方法;要保存文档可以使用SaveAS方法或是Save方法;要关闭一个文件,可以对Document对象应用Close方法。可以使用Add方法来向文件中添加诸如表格、备注、注脚这样的对象。

要使一个文档成为活动文档,可以对Document应用Active方法启动它。具有焦点的文档称为活动文档,由Active-Document属性表示。使用Open方法打开的文档,或者使用Add方法创建的文档,都将成为用ActiveDocument属性表示的当前活动文档。

(3)Range对象

Range对象表示文件中的一块连续的区域。每一个Range对象都由一个起始字符位置和一个终止字符位置定义。这个连续范围可以小到只是一个插入点,大可到整个文档。在同一个文档中也可以定义多个Range对象。Range对象中的字符包含非打印字符,例如空格、回车符和段落标记。在确定Range对象后,就能够应用该对象的方法和属性来修改相应范围内的内容或格式。

可以通过使用Range方法在指定文档中创建一个Range对象。可以将Start和End参数设置为同一个数字,将创建一个不包含任何字符的Range,相当于一个插入点。也可以通过其它对象(例如Paragraph对象、Bookmark 对象、Character对象、Word对象、Sentences对象或Selction对象)的Range属性来返回一个Range对象。

使用Range对象的Text属性可以返回或设置这个Range对象中的内容或格式。

可以使用SetRange方法来设置或重新定义一个已经存在的Range对象。也可通过使用Range对象的Start 属性或MoveStart方法指定或重新定义Range 开始的位置,或是使用Range对象的End属性或MoveEnd方法指定或重新定义Range结束的位置。可以使用Bookmark、Selection或Range对象的Start和End属性来指定Range方法的Start和End参数。

(4)Selection对象

当用户想要自己的代码对选定内容做出响应或是改变选定内容,就可以通过Selection对象来完成任务。Selection对象可以在Application对象,Window对象,Pane对象中使用。Selection对象就像在Word对话中交互式工作时的插入点或当前选项。所以Selection对象可以收缩为插入点,也可以包括一个或几个字符和文件项目,甚至可以包括任何文档部分的内容。

用户可以在一个选定内容中控制操纵对象。

可以使用Selection属性来返回Selection对象,如果随同Application对象使用Selection属性,则该Selection对象表示活动的选定内容。如随同一个Windows对象或是Pane对象使用Selection属性,则返回一个在特定窗口或窗口窗格中Selection对象。

每个文件的每个窗口中都可以有Selection对象,但每个窗口中只能启动一个Selection对象,在任何时刻都只能有一个活动的Selection选项。

用户也可以通过MoveStart和MoveEnd方法,或者通过改变Selection对象的Start属性及End 属性的值来移动或扩展选定内容。用户也可以通过GoToNext方法、GoToPrevious方法或GoTo方法来移动选定内容。在一个文件窗口或窗格中只能有一个选定内容,因此用户也可以通过使用Select方法选择文档的另一个对象来移动选定内容。在使用Select方法

陕西理工学院毕业设计 之后,就可以使用Select属性返回一个Select对象。

(5)Find和Replacement对象

Find对象包含与“查找”和“替换”对话框(在“编辑”菜单中)里的选项有关的属性。可以使用Find和Replacement对象来查找并且替换文档中文字的特定范围。Replacement对象表示查找-替换操作的替换条件。Replacement对象的属性和方法对应于“查找”和“替换”对话框(在“编辑”菜单中)里的选项。

Find对象可以在Selection对象或Range对象中使用(根据Find对象是从Selection对象还是从Range对象返回的,查找操作也略有不同)。可以在Find对象中使用Replacement对象。

如果是在Selection对象中使用Find对象,那么当找到符合选择条件的文本后选定内容将会改变。如果是在Range对象中使用Find对象,选定内容不会改变,但是当找到符合选择条件的文本时范围会被重新定义。

(6)Table、Column、Row、Cell对象

word对象模型包含了表格对象,也包含了表格中各种不同元素的对象。

上一篇:讲规矩守纪律个人心得体会下一篇:2010年县公安局三项重点工作汇报