2000访问远程数据的四种方法

<script type="text/javascript"><!-- google_ad_client = "pub-2947489232296736"; /* 728x15, 创建于 08-4-23MSDN */ google_ad_slot = "3624277373"; google_ad_width = 728; google_ad_height = 15; //--> </script> <script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"> </script>
<script type="text/javascript"><!-- google_ad_client = "pub-2947489232296736"; /* 160x600, 创建于 08-4-23MSDN */ google_ad_slot = "4367022601"; google_ad_width = 160; google_ad_height = 600; //--> </script><script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"> </script>
    Excel2000作为一个电子表格,它不仅有强大的数据处理能力,而且它的报表功能也是十分强大。因而常常用Excel2000去调用、、、等软件建立的大型数据库的内容。用户可以在工作表中对这些数据进行筛选、排序、查询、编辑和打印报表,十分方便,这也是大多数人都熟悉的。但如何去调用这数据呢?本人在这里提供4种方法。
   下面四种方法必须要先创建一个数据源,我们以SQLServer7.0内的样本数据库pubs为例。在控制面板/ODBC数据源/系统DSN,单击增加按纽,选取SQLServer驱动程序,建立一个与pubs数据库连接的叫pubs名称数据源。
          方法一:
   在Excel2000中,选择数据/获取外部数据/新建数据库查询,然后按向导的提示一步一步做,最后将数据返回Excel2000中就行了
   这种方法是大家常用的,也是最方便的。但这种方法只能对远程数据进行查询,不能对远程数据进行增加和修改。
   方法二:
   这种方法需要VBA(方法三、方法四也一样),在编程中,我们经常用ADO来访问数据。ADO是Microsoft提供的针对各种各样数据源的新型高级编程接口。它支持大多数据库操作,在Excel2000中应用ADO来访问数据,是十分理想的方法。看看下面一个实例:
   Subopendb()
   DimcnAsADODB.Connection
   DimrsAsADODB.Recordset
   Setcn=NewADODB.Connection
   Setrs=NewADODB.Recordset
   cn.Open"Provider=MSDASQL.1;PersistSecurityInfo=False;DataSource=pubs"
   rs.Open"select*fromauthors",cn
    Range("a1").CopyFromRecordsetrs
    Rs.close
   cn.Close
   EndSub
   宏中第一、二句定义了一个ADO的Connection对象和一个Recordset对象,第三、四句创建了一个ADO的Connection对象和一个Recordset对象。第五句连接到前面我们建立的数据源pubs数据库。第六句是ADO的Recordset对象执行一条SQL里select语句。在这也可以执行insert,update等等SQL语句的。第七句是将rs里的记录返回当前表里。第八、九句是关闭连接。运行前要在Excel2000工具/引用中引用ADO的库文件。
          在Excel2000中应用ADO对象,不仅可以对数据库进行查询,而且可以作增加,修改数据库的记录,甚至可以调用SQLSERVER7.0的存储过程,加强Excel2000对数据库处理能力。
   方法三:
   Excel2000的功能是十分强大的,它自带了一个ODBC加载宏,我们在Excel2000中引用这个宏文件xlodbc.xla,就可以通过下面的方法去访问我们建立的数据源了
   Subopendb()
       Dimidasinteger
       id=SQLOpen(“DSN=pubs”)
       SQLExecQueryid,“select*fromauthors”
       Setoutput=Worksheets("Sheet1").Range("A1")
       SQLRetrieveid,output,,,
       TrueSQLCloseid       
   Endsub
   第二句是调用xlodbc.xla宏中的SQLOpen函数建立一个对数据库pubs连接,第三句是SQLExecQuery函数执行了一条select语句,id是由SQLOpen函数返回的唯一连接标识,第四句是SQLRetrieve函数将SQLExecQuery函数执行的查询的结果返回到Excel2000中。
          这种编程方法可以说来的容易,用得方便。也是一种好的访问远程数据方法。1 <script type="text/javascript"><!-- google_ad_client = "pub-2947489232296736"; /* 728x15, 创建于 08-4-23MSDN */ google_ad_slot = "3624277373"; google_ad_width = 728; google_ad_height = 15; //--> </script> <script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"> </script>
<script type="text/javascript"><!-- google_ad_client = "pub-2947489232296736"; /* 160x600, 创建于 08-4-23MSDN */ google_ad_slot = "4367022601"; google_ad_width = 160; google_ad_height = 600; //--> </script><script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"> </script>
阅读更多
个人分类: 数据库
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!
关闭
关闭