利用VB访问数据库和操控Excel完善HBGys报表输出

2011-02-28 08:35朱庆国
水科学与工程技术 2011年1期
关键词:表单概预算报表

朱庆国

(河北省水利水电勘测设计研究院,天津 300250)

利用VB访问数据库和操控Excel完善HBGys报表输出

朱庆国

(河北省水利水电勘测设计研究院,天津 300250)

HBGys是广泛应用在河北省的造价编制软件,利用VB访问数据库和操控Excel完善对河北水利水电工程概预算系统的报表输出功能,使输出的报表更加格式化、规范化,减轻后期编辑的工作量。

水利水电工程概预算系统;报表输出;VB;Excel的Ole;数据访问对象DAO

河北水利水电工程概预算系统(以下简称HBGys)是广泛应用在河北省的造价编制软件,其成果输出主要采用:①利用软件中集成的报表打印工具直接打印已设置好格式的报表;②利用Excel的自动化技术(Excel的Ole)将数据直接生成Excel表单。相对于第1种输出方法,第2种方法具有更大的灵活性,可进行个性化编辑,也更适合各单位的文件印刷系统。但目前HBGys此功能编写的较为简单,虽然能将数据输出为Excel表单,但Excel表单格式设计较为简陋,输出速度慢,后期编辑量较大,难以满足直接打印输出的要求。针对软件的问题,利用VB访问数据库和操控Excel来完善HBGys的报表输出,可提高工作效率,使概预算系统的报表输出更加规范化、格式化。

1 实现方法

HBGys的单个工程项目的数据输入、中间计算成果、数据输出成果均保存在后缀为“Slg”文件中,究其实质,它是一种纯粹的Access型数据库,利用Microsoft Office软件包中的Access软件将其打开,可仔细研究数据输出成果存放的各个表单名称及其数据结构。如其水利概算的第1~5部分输出成果分别保存在gsb1、gsb2、gsb3、gsb4、gsb5表单中。

当熟悉了数据库的表单内容和数据库结构后,就可以利用各种高级编程语言和数据访问对象对数据库进行查询、编辑、建表修改结构等,此次只是利用查询功能,将查询到的数据通过高级编程语言,利用Excel的Ole来操控Excel,将数据传输到Excel中。为实现以上功能主要通过2个步骤实现:①数据库操作,打开数据库,查找到合适数据,关闭数据库;②自动打开Excel,建立Excel文件,将查找到的数据输出到文件中,并设立相应的格式。本文将利用VB、数据访问对象DAO及Excel的Ole来实现以上功能。

1.1 对数据库操作

VB是种高级编程语言,常常被工程技术人员应用在工作中编写工程实用程序,DAO全称为数据访问对象,是数据库编程的重要方法之一。DAO是一种面向对象的界面接口,不是可视化的对象,使用它全部都要靠编码来完成。

DAO使用之前必须先引用。方法为打开VB6.0,从VB的“工程”菜单中,选择“引用”项,当“引用”对话框出现后,从库的列表中,选择“Microsoft DAO 3.51 Object Library”,单击“确定”。现在便可以使用DAO对象库提供的所有对象进行编程。

1.1.1 打开数据库

在VB中对一个对象变量引用之前必须加以说明,DAO也是如此,必须先声明数据库变量。建立了数据库对象变量后,我们便可打开数据库了,当打开数据库后再对数据库中的各个记录进行操作,这就要用到Recordset对象建立记录集。例如:

这样,“南水北调概算.slg”中“gsb1”的表单数据便放到Recordset中,可以进行后续操作。当然也可以使用结构化查询语言代替“gsb1”。

1.1.2 使用数据库

当打开数据库,建立Recordset记录集后,便可浏览、删除、添加、查找数据库中的内容。例如:

通过以上程序,表单gsb1中的主要内容就分别存储在各个变量中,以备使用。

1.2 Excel操作

Excel使用前必须先引用。 方法为打开VB6.0,从VB的“工程”菜单中,选择“引用”项,当“引用”对话框出现后,从库的列表中,选择“Microsoft Excel 9.0 Object Library”,单击“确定”。现在便可以通过Excel的Ole来使用Excel对象库提供的所有对象进行编程了。

为了在VB应用程序中调用Excel,必须要了解Excel对象模型。其中最重要的对象,即涉及VB调用Excel最可能用到的对象有:

1.2.1 生成、保存、关闭工作簿

Application对象是Excel对象模型的顶层,表示整个Excel应用程序。其下就是Workbook,利用Workbook就可以完成新建一个Excel文件并保存它。例如:

1.2.2 生成和使用工作表

Sheets集合表示工作簿中所有的工作表。可以通过Sheets集合来访问、激活、增加、更名和删除工作表。可以通过对其下的ranges、columns、rows、cells对象赋予数据和格式, 来完成最终的Excel表格。例如:

以上介绍几种完善Excel表单格式的方法,由于篇幅所限,不能一一完整列出,只是介绍一些主要方法。只要熟悉Excel对象模型,就可以在程序中设置更多、更细致的格式。

2 提高速度的技巧

由于受到Excel的Ole技术限制,表格的输出速度不快,通过以下几种方法,可以使输出速度得到成倍提高。

2.1 设置默认的本地打印机

Excel的自动化技术技术受打印机影响非常大,目前的办公条件下,一般是很多计算机使用一台网络打印机,在默认此打印机的条件下,输出速度就会受到很大限制。可以在系统下设置一台虚拟的本地打印机,在输出前先将打印机设置为这台虚拟本地打印机,此时的输出速度就会成倍提高。

2.2 预先设置报表文件格式

Excel自动化技术在设置格式时一般较从数据库直接输出数据要慢得多。为了提高速度,创建一个Excel文件,将水利水电工程概预算成果的表格题头及格式均预先设置好,保存在计算机上。当要输出表格式,直接打开此文件,输出数据到文件里,此时的输出速度也会成倍提高。

3 结语

利用VB访问数据库和操控Excel来完善河北水利水电工程概预算系统的报表输出,目前已全面完成软件的编制,并应用在实际工程中。通过该软件大大提高了工作效率,使繁重的表格编辑工作变得更加轻松。

[1]Jeffery P.MeManus著.罗四维,韩臻,等译.用Visual basic 访问数据库[M].北京:电子工业出版社,1999.

[2]萧枫,尧远.Visualbasic实用技术精粹[M].北京:人民邮电出版社,1999.

[3]伍远高.Excel VBA开发技术大全[M].北京:清华大学出版社,2009.

[4]本书编委会.水利工程设计概(估)算编制规定[M].郑州:黄河水利出版社,2002.

TV512

B

1672-9900(2011)01-0086-03

2011-01-11

朱庆国(1969-),男(汉族),陕西西安人,高级工程师,主要从事水利水电工程施工组织设计及造价工作,(Tel)13612055252。

猜你喜欢
表单概预算报表
探讨土建工程概预算编制对工程造价的影响
电子表单系统应用分析
水利工程概预算及造价控制分析
土建工程概预算编制对工程造价的影响
LabWindows/CVI中Excel报表技术研究
浅谈网页制作中表单的教学
从三大报表读懂养猪人的成绩单
水利工程的概预算及造价控制探讨
动态表单技术在教学管理中的应用*
基于Java可视化测绘生产流程表单的设计及实现