李禄权
摘 要:随着科学技术的不断发展,Access数据库和Excel在我们生活中的应用越来越广泛,在实际的生活工作中,Access数据库和Excel发挥着重要作用,该文主要研究了Access数据库和Excel之间的通信技术,分析了数据库和Excel在通信技术中的应用,把这两项技术结合在一起,以更好地满足我们生活和工作的需要。
关键词:Access数据库 Excel通信技术 应用
中图分类号:TP311.138 文献标识码:A 文章编号:1674-198X(2015)05(c)-0047-02
Access数据库的优势是存储简单,便于系统的维护,操作起来也比较简单。这项技术在中小型企业、大型企业中广泛应用。这些部门和喜欢编程的开发人员运用Access数据库,制作处理数据的桌面系统。而Excel则是微软办公软件中的一个重要组成部分,它的主要功能是处理各种数据、进行数据统计分析和帮助决策操作。这项技术被广泛应用与管理领域和金融领域。还可以运用VB6编程实现ACCESS、EXCEL、SQL SERVER数据库之闻的数据交换。
1 Access数据库与Excel数据的通信
因为Access数据库和Excel间无法进行直接的通信,所以只能在第三方的支持下进行。本文以SQL Scrver 2000数据库工具为例,把Access数据库的内容和Excel数据进行融合处理。SQL Scrver 2000数据库联系了Access数据库和Excel。一方面,它可以将Access和Excel中的数据进行转移,另一方面,也可以将数据转化为Access数据库形式或者Excel格式。下面介绍了使用SQL Scrver 2000数据库的两种操作方法。
(1)使用SQL Scrver 2000数据库的具体操作方法是:利用DTS导入导出数据,同时,也可以使用Transact-SQL语句来进行操作。但是在Transact-SQL语句中,OpenDataSource函数、OPENROWSET 函数的导入方式比较常见。
下面介绍一些SQL SERVER 和ACCESS的数据导入导出方法,具体步骤是:先使用DTS向导将Access数据导入SQL Server中,然后在企业管理器中的Tools菜单上,选择Data Transformation,接着选择czdImport Data,并且在Choose a Data Source的操作中选择Microsoft OLE DB Provider for SQL Server,运行数据库服务器,单击必要的验证方式。在Specify Table Copy或Query的提示下,选择Copy tables。最后在Select Source Tables对话框中,单击Select All。
(2)使用Transact-SQL在Access数据库和SQL Server中进行数据的导入导出的语句。将access导入SQL server的语句:SELECT*INTO newtableFROM OPENDATASOURCE('Microsoft.Jet.OLEDB.4.0','Data Source="Access数据库地址";User ID=;Password=')表名;将Excel的数据导入SQL server 的语句:
SELECT*in to new table FROMO pen Data Source('Microsoft.Jet.OLEDB.4.0', 'Data Source="Excel文件地址";UserID=;Password=;Extended properties=Excel 5.0')...[Sheet1$]。
通过以上方法,可以实现Access数据库和Excel数据库之间的间接通信,运用SQL Scrver可以实现两大数据库之间的传递,共同处理相关的数据。同时,借助于SQL Server实现了Access数据库与Excel数据的共享,满足了实际工作中的数据处理需求。
2 ADO与SQL技术介绍
通过图书馆系统的入库查询,采用报表打印技术,在VB中可以采用ADO数据库连接技术及SQL语句查询的方法,实现Access数据库和Excel报表的一体化,并且实现两者之间的通信功能。ADO是ActiveX数据对象,是Microsoft在开发数据库应用程序时,创造出的对象的新接口。ADO也会使用COM接口,在进行封装OLE DB的程序中,这是一种建立在OLE DB技术基础上的高级技术。它其实是一种面向对象的接口。它的优势就是数据处理功能很强大,编程接口很简单、易于操作。VB是一种面向对象的可视化编程语言,它同时可以利用ActiveX技术,扩展其他应用程序提供的服务。SQL是一种结构化查询语言,它由一组专门的程序命令组成,在管理关系数据库系统中发挥重要作用,使语言标准化。
3 利用ADO与SQL实现Access与Excel的通信
3.1 使用ADO访问对象自动识别Access数据库路径
在Visual Basic 6.0中,可以采用多种技术手段建立與数据库之间的连接,主要有:数据控件、数据对象、数据环境设计器等。在Visual Basic 6.0中,ADO访问对象自动识别Access数据库路径,可以自动操作,实现一体化的功能。可以有效避免程序复制到其他位置的问题,也有助于解决找不到数据库路径的问题。ADO连接方法:主要依靠数据库接口,程序设计者首先创建几个对象,进行数据来源的连接,然后获取所需的数据,进行数据访问后,再保存操作。ADO连接数据库编程的具体操作步骤是:正确选择ADO数据对象,在VB 6.0集成开发环境中,打开[工程]菜单,然后再点击[引用]菜单项,在出现的对话框中选择[Microsoft Ac-tiveX Data Objects 2.0 Library]选项,把ADO数据对象类型库添加到其中。用到的代码有Dim strCnn,SQL As String,Dim cnn As ADODB.Connection,Dim rs As ADODB.Recordset。
3.2 使用ADO访问对象自动识别Excel文件路径
(1)MicroSoft Excel数据报表。
MicroSoft Excel是一个电子表格和数据库,它功能强大,容易操作。如果同时使用Excel数据报表和Visual Basic,两者之间相互配合,就可以制作出复杂的数据报表。
(2)ADO连接Excel编程。
连接的具体方法是:首先进入VBA编程界面,找到[工具]菜单,然后单击[引用]菜单项,在[引用]窗体,单击[现有引用]列表,在出现的对话框中选择名为[Microsoft Excel x.0 ObjectLibrary]的项目,并且勾选。接着,要准备一张空白的Excel表格,设置好表格的字体、边框和打印纸张。将所有的信息存入硬盘。操作代码是:
Dim exlapp As New Excel.Application
Dim exlbook As Excel.Workbook
Dim exlsheet As Excel.Worksheet
创建EXCEL应用程序
Set exlapp = New Excel.Application
打开已设定好的Excel文件(销售报表tushu.xlt)
exlapp.Workbooks.Open App.Path & "\tushu.xlt "
3.3 SQL数据查询技术在VB中的应用
3.3.1 SQL查询语句
数据库查询依照指定的条件,从数据库中按照操作指令,查找符合条件的记录。下面以Access数据库为例,介绍SQL语句查询的几种常用查询方法。
(1)运用Select语句,在单个或者是多个数据库中,按照一个字段或者是多个字段检索需要的数据,并且在动态集或表中显示检索得到的数据动态。
(2)数据排序。Select语句不仅有查询的功能,还有进行数据排序的功能,可以由Or-der By组成的句子对记录进行相應的排序。Order By子句需要指定字段的值,然后在此基础上进行排序。
(3)数据计算。SQL支持的函数可以完成检索出的数据的各种计算工作,并且将计算的结果输出,做成表格。如:count( ):(计算满足条件的记录数);first( ):(返回记录集的第一个记录的某个域值);sum ( ):(求和计算);max( ):(求最大值)。
3.3.2 入库查询的几种设计
可以按照选定的字段、条件和输入的内容查询,查询术语是将查询条件“/like”或“=”运算符添加到查询条件组合框中,输入查询内容即可;按日期查询,可以使用SQL语句中的between–and语句进行查询;还可以设计选控件check,结合按选定的字段、条件和输入的内容查询和按日期查询方法。
4 结语
在企业的管理系统中,采用ADO与SQL技术实现Access与Excel的数据通信,促进一体化、自动化的数据管理,进行报表的自动输出。所以Access与Excel的数据通信是非常重要的。同时,还可以运用VB6编程把Access数据库或Excel数据库中的数据导入到SQLSERVER数据库中,实现Access与Excel的数据共享,可以参考以上代码进行。同时,使用ADO与SQL技术也可以根据需要设计出复杂的报表,满足工作的特殊需要。上面的设计思路具有很好的指导作用,相关的程序设计员可以在此基础上开发和扩展,有利于满足实际数据通信的需要。
参考文献
[1] 熊亚军.Access数据库与Excel通信技术的研究[J].信息与电脑:理论版,2010(12):91.
[2] 李静燕.将Access数据导出到Excel的应用[J].科技视界,2012(30):116-117.
[3] 王若慧,常永奋.ADO与SQL实现Access与Excel的通信[J].电力学报,2010(4):345-348.
[4] 牛晓华,王荣.用VB6实现多种数据库之间的数据交换[J].光电技术应用,2010(2):49-52.
[5] 王毅飞.基于.Net的Excel和数据库数据转换—— 以军事理论练习系统为例[J].计算机时代,2013(5):33-36.