ActiveConnection 属性 (ADO)

适用于:Access 2013、Office 2013

指示指定的 CommandRecordsetRecord 对象当前属于哪个 Connection 对象。

设置和返回值

如果某个连接处于关闭状态,则设置或返回一个 String 值,其中包含该连接的定义;如果某个连接处于打开状态,则设置或返回一个 Variant ,其中包含当前的 Connection 对象。 默认值为一个空对象引用。 请参阅 ConnectionString 属性。

备注

使用 ActiveConnection 属性可以确定 Connection 对象,通过该对象将执行指定的 Command 对象或打开指定的 Recordset

命令

对于 Command 对象,ActiveConnection 属性为读/写属性。

如果在将此属性设置为打开的 Connection 对象或有效的连接字符串前,尝试对 Command 对象调用 Execute 方法,则将发生错误。

Microsoft Visual Basic:将 ActiveConnection 属性设置为 Nothing 会取消 将 Command 对象与当前 Connection 的关联,并使提供程序释放数据源上的任何关联资源。 然后可以将 Command 对象与同一个或另一个 Connection 对象关联。 某些提供程序允许将属性设置从一个 Connection 更改为另一个 连接 ,而无需先将属性设置为 Nothing

如果 Command 对象的 Parameters 集合包含提供程序提供的参数,并且将 ActiveConnection 属性设置为 Nothing 或另一个 Connection 对象,则会清除该集合。 如果手动创建 Parameter 对象,然后用它们填充 Command 对象的 Parameters 集合,则将 ActiveConnection 属性设置为 Nothing 或另一个 Connection 对象不会更改 Parameters 集合的内容。

如果将与 Command 对象关联的 Connection 对象关闭,则会将 ActiveConnection 属性设置为 Nothing。 将此属性设置为已关闭的 Connection 对象将生成错误。

Recordset

对于打开的 Recordset 对象或其 Source 属性设置为有效 Command 对象的 Recordset 对象, ActiveConnection 属性为只读属性。 否则,该属性为读/写属性。

可以将此属性设置为有效的 Connection 对象或有效的连接字符串。 在这种情况下,提供程序将使用此定义创建一个新 Connection 对象,并打开该连接。 此外,提供程序还可能将此属性设置为新 Connection 对象,以便提供访问 Connection 对象获得扩展错误消息或执行其他命令的方式。

如果使用 Open 方法的 ActiveConnection 参数打开 Recordset 对象,ActiveConnection 属性将继承该参数的值。

如果将 Recordset 对象的 Source 属性设置为有效的 Command 对象变量,RecordsetActiveConnection 属性将继承 Command 对象的 ActiveConnection 属性的设置。

远程数据服务用法:在客户端 Recordset 对象上使用时,此属性只能设置为 Microsoft Visual Basic 或 Visual Basic 中的连接字符串或 (,Scripting Edition) 为 Nothing

记录

Record 对象关闭时此属性为可读/写属性,可以包含连接字符串或对打开的 Connection 对象的引用。 当 Record 对象打开时,此属性为只读属性且包含对打开的 Connection 对象的引用。

当从 URL 打开 Record 对象时,会隐式地创建一个 Connection 对象。 通过将该 Connection 对象分配给此属性,或在 Open 方法调用中使用 Connection 对象作为参数,可以使用现有的已打开的 Connection 对象打开 Record 。 如果 从现有 RecordRecordset 打开 Record,则会自动与该 RecordRecordset 对象的 Connection 对象关联。

注意

[!注释] 使用 HTTP 架构的 URL 将自动调用 Microsoft OLE DB Provider for Internet Publishing。 有关详细信息,请参阅 绝对 URL 和相对 URL