你目前正处于脱机状态,正在等待 Internet 重新连接

如何使用 DAO 的 Excel 中从 Access 中检索表

注意:这篇文章是由无人工介入的微软自动的机器翻译软件翻译完成。微软很高兴能同时提供给您由人工翻译的和由机器翻译的文章, 以使您能使用您的语言访问所有的知识库文章。然而由机器翻译的文章并不总是完美的。它可能存在词汇,语法或文法的问题,就像是一个外国人在说中文时总是可能犯这样的错误。虽然我们经常升级机器翻译软件以提高翻译质量,但是我们不保证机器翻译的正确度,也不对由于内容的误译或者客户对它的错误使用所引起的任何直接的, 或间接的可能的问题负责。

点击这里察看该文章的英文版: 146406
本文已归档。它按“原样”提供,并且不再更新。
概要
在上面列出的 Microsoft Excel 版本中,可以使用 Visual Basic 应用程序中的数据访问对象 (DAO) 从 Microsoft Access 检索的表。

若要以便从 Microsoft Access 检索的表,您就可以使用 DAO 的示例在本文中介绍的宏,请使用与 Microsoft Office 专业版的 Windows 95、 版本 7.0 和 Microsoft Office 97 专业参加 Windows 的装运的罗斯文数据库。如果您选择了默认选项,当您安装了 Microsoft Office 专业版的 Windows 95,版本 7.0,该数据库位于:
   \MSOffice\Access\Samples\Northwind.mdb				
安装 Microsoft Office 97 专业参加 Windows 时,您可以选择默认选项,如果数据库位于:
   \Program Files\Microsoft Office\Office\Samples\Northwind.mdb				
罗斯文数据库位于您的计算机上的其他文件夹中,如果您需要编辑在运行它之前,下面提供的代码。

若要在宏中使用 DAO,必须引用在 Microsoft DAO 对象库,或者您可能会收到错误"用户定义类型未定义"。若要引用在 Microsoft Excel 版本 7.0 中的此库,激活模块工作表、 在工具菜单上单击引用并检查"Microsoft DAO 3.0 对象库"选项。若要引用在 Microsoft Excel 版本 97 此库,Visual Basic 编辑器中工具菜单上单击引用,并检查在"Microsoft DAO 3.5 对象库"中。
更多信息
Microsoft 提供的编程示例只,用于说明不附带任何明示或暗示保证。这包括,但不限于对适销性或针对特定用途的适用性的暗示的担保。本文假定您熟悉演示了正在使用的编程语言以及用于创建和调试过程的工具。Microsoft 支持工程师可以帮助解释某个特定过程的功能,但他们不会修改这些示例以提供额外的功能或构建过程来满足您的具体要求。若要从 Microsoft Access 检索表,请按照下列步骤操作:

  1. 建立一个数据库对象。
  2. 建立一个 Recordset 对象。
  3. (如果需要),则检索该邮件头。
  4. 从表中检索数据。
检索数据后,您应关闭通过发出.Close 命令打开的所有对象。

以编程方式从 Microsoft Access 检索表,用于以下 Visual Basic 应用程序代码:
Sub GetTable()'This sub will retrieve all the data in the "Customers" table in'Northwind   'Declare variables   Dim Db As Database   Dim Rs As Recordset   Dim Ws As Object   Dim i As Integer   Dim Path as String   'This line will define the Object "Ws" as Sheets("Sheet1")   'The purpose of this is to save typing Sheets("Sheet1")   'over and over again   Set Ws = Sheets("Sheet1")   'Set the Path to the database. This line is useful because   'if your database is in another location, you just need to change   'it here and the Path Variable will be used throughout the code   Path = "c:\msoffice\access\samples\northwind.mdb"   'This set of code will activate Sheet1 and clear any existing data   'After clearing the data it will select cell A1   Ws.Activate   Range("A1").Activate   Selection.CurrentRegion.Select   Selection.ClearContents   Range("A1").Select   'Set the Database, and RecordSet  This Table exists in the database   Set Db = Workspaces(0).OpenDatabase(Path, ReadOnly:=True)   'This will set the RecordSet to all records in the Customers table   Set Rs = Db.OpenRecordset("Customers")   'You could instead set the RecordSet to, for example, the records   'where the Country Code is "UK", without quotes. To do this, replace   'the line above: Set Rs = Db.OpenRecordset("Customers") with the   'following:   '   'Set Rs = _   'Db.OpenRecordset("SELECT * FROM Customers WHERE Country = 'UK';")   'This loop will collect the field names and place them in the first   'row starting at "A1"   For i = 0 To Rs.Fields.Count - 1      Ws.Cells(1, i + 1).Value = Rs.Fields(i).Name   Next I   'The next line simply formats the headers to bold font   Ws.Range(Ws.Cells(1, 1), Ws.Cells(1, Rs.Fields.Count)).Font.Bold=True   'The next line will get the data from the recordset and copy it   'into the Worksheet (Sheet1).   Ws.Range("A2").CopyFromRecordset Rs   'This next code set will just select the data region and   'auto-fit the columns   Sheets("Sheet1").Select   Range("A1").Select   Selection.CurrentRegion.Select   Selection.Columns.AutoFit   Range("A1").Select   Rs.Close   Db.CloseEnd Sub				
参考
有关数据访问的详细信息,请单击 Microsoft Excel 帮助中的索引选项卡,键入以下文本
在 DAO 中的数据访问
,然后双击所选的文本以转至"访问外部数据库与 DAO"主题。
off7 xl7 8.00 97 xl97 off97 XL

警告:本文已自动翻译

属性

文章 ID:146406 - 上次审阅时间:12/04/2015 14:09:28 - 修订版本: 2.3

Microsoft Excel 97 标准版, Microsoft Excel 95 标准版

  • kbnosurvey kbarchive kbmt kbdtacode kbhowto kbinterop kbprogramming KB146406 KbMtzh
反馈