将 ADO 与 Microsoft Visual Basic 和 Visual Basic for Applications 配合使用
无论是使用 Visual Basic 还是 Visual Basic for Applications,设置 ADO 项目和编写 ADO 代码都类似。 本主题介绍将 ADO 与 Visual Basic 和 Visual Basic for Applications 配合使用,并说明任何差异。
引用 ADO 库
项目必须引用 ADO 库。
从 Microsoft Visual Basic 引用 ADO
在 Visual Basic 中,从“项目”菜单中,选择 引用...。
从列表中选择 Microsoft ActiveX 数据对象 x.x 库。 验证是否还选择了至少以下库:
Visual Basic for Applications
Visual Basic 运行时对象和过程
Visual Basic 对象和过程
OLE 自动化
单击确定。
例如,通过使用 Microsoft Access,可以轻松地将 ADO 与 Visual Basic for Applications 配合使用。
从 Microsoft Access 引用 ADO
在“Microsoft Access”中,从“数据库”窗口中的“模块”选项卡中选择或创建模块。
在 工具 菜单中,选择 引用……。
从列表中选择 Microsoft ActiveX 数据对象 x.x 库。 验证是否还选择了至少以下库:
Visual Basic for Applications
Microsoft Access 8.0 对象库(或更高版本)
Microsoft DAO 3.5 对象库(或更高版本)
单击“确定” 。
在 Visual Basic 中创建 ADO 对象
若要为该变量创建自动化变量和对象的实例,可以使用两种方法:Dim 或 CreateObject。
昏暗
可以将 New 关键字与 Dim 配合使用,在一个步骤中声明和创建 ADO 对象的实例:
Dim conn As New ADODB.Connection
或者,Dim 语句声明和对象实例化也可以是两个步骤:
Dim conn As ADODB.Connection
Set conn = New ADODB.Connection
备注
无需将 ADODB
progid 与 Dim 语句显式使用,前提是已在项目中正确引用了 ADO 库。 但是,使用它可确保不会与其他库发生命名冲突。
注意
例如,如果在同一项目中同时包含对 ADO 和 DAO 的引用,则应包括一个限定符,以指定在实例化 Recordset 对象时要使用的对象模型,如以下代码所示:
Dim adoRS As ADODB.Recordset
Dim daoRS As DAO.Recordset
CreateObject
使用 CreateObject 方法,声明和对象实例化必须是两个离散步骤:
Dim conn1
Set conn1 = CreateObject("ADODB.Connection") As Object
使用 CreateObject 实例化的对象是后期绑定的,这意味着它们不是强类型化,命令行完成被禁用。 但是,它确实允许跳过从项目中引用 ADO 库,并允许实例化特定版本的对象。 例如:
Set conn1 = CreateObject("ADODB.Connection.2.0") As Object
还可以通过专门创建对 ADO 版本 2.0 类型库的引用并创建对象来实现此目的。
使用 CreateObject 方法实例化对象通常比使用 Dim 语句慢。
处理事件
若要在 Microsoft Visual Basic 中处理 ADO 事件,必须使用 WithEvents 关键字声明模块级变量。 变量只能声明为类模块的一部分,并且必须在模块级别声明。 有关处理 ADO 事件的更深入的讨论,请参阅 处理 ADO 事件。
Visual Basic 示例
ADO 文档随附了许多 Visual Basic 示例。 有关详细信息,请参阅 Microsoft Visual Basic 中的ADO 代码示例。
另请参阅
Microsoft ActiveX 数据对象(ADO)将 ADO 与 Microsoft Visual C++结合使用 ADO 和脚本语言