Connection.Database 属性 (DAO)
适用于:Access 2013、Office 2013
语法
表达式 .Database
表达式 一个表示 Connection 对象的变量。
说明
对于 Connection 对象,使用 Database 属性可以获取指向对应于 Connection 的 Database 对象的引用。 在 DAO 中,Connection 对象及其对应的 Database 对象只是对同一对象的两个不同对象变量引用。 使用 Connection 对象的 Database 属性和 Database 对象的 Connection 属性可以更轻松地将通过 Microsoft Access 数据库引擎与 ODBC 数据源建立的连接更改为使用 ODBCDirect。
示例
以下示例使用 Database 属性演示如何将通过 Microsoft Access 数据库引擎访问 ODBC 数据时使用的代码转换为使用 ODBCDirect 连接对象。
OldDatabaseCode 过程使用 Microsoft Access 数据库引擎连接的数据源访问 ODBC 数据库。
Sub OldDatabaseCode()
Dim wrkMain As Workspace
Dim dbsPubs As Database
Dim prpLoop As Property
' Create a Workspace object.
Set wrkMain = CreateWorkspace("", "admin", "", dbUseJet)
' Open a Database object based on information in
' the connect string.
'Note: The DSN referenced below must be configured to
' use Microsoft Windows NT Authentication Mode to
' authorize user access to the Microsoft SQL Server.
Set dbsPubs = wrkMain.OpenDatabase("Publishers", _
dbDriverNoPrompt, False, _
"ODBC;DATABASE=pubs;DSN=Publishers")
' Enumerate the Properties collection of the Database
' object.
With dbsPubs
Debug.Print "Database properties for " & _
.Name & ":"
On Error Resume Next
For Each prpLoop In .Properties
If prpLoop.Name = "Connection" Then
' Property actually returns a Connection object.
Debug.Print " Connection[.Name] = " & _
.Connection.Name
Else
Debug.Print " " & prpLoop.Name & " = " & _
prpLoop
End If
Next prpLoop
On Error GoTo 0
End With
dbsPubs.Close
wrkMain.Close
End Sub
NewDatabaseCode 示例将打开 ODBCDirect 工作区中的一个 Connection 对象。 然后将 Connection 对象的 Database 属性分配给与旧过程中的数据源具有相同名称的对象变量。 只要后续代码不使用特定于 Microsoft Access 工作区的任何功能,就不必更改此代码。
Sub NewDatabaseCode()
Dim wrkMain As Workspace
Dim conPubs As Connection
Dim dbsPubs As Database
Dim prpLoop As Property
' Create ODBCDirect Workspace object instead of Microsoft
' Access Workspace object.
Set wrkMain = CreateWorkspace("", "admin", "", dbUseODBC)
' Open Connection object based on information in
' the connect string.
' Note: The DSN referenced below must be configured to
' use Microsoft Windows NT Authentication Mode to
' authorize user access to the Microsoft SQL Server.
Set conPubs = wrkMain.OpenConnection("Publishers", _
dbDriverNoPrompt, False, _
"ODBC;DATABASE=pubs;DSN=Publishers")
' Assign the Database property to the same object
' variable as in the old code.
Set dbsPubs = conPubs.Database
' Enumerate the Properties collection of the Database
' object. From this point on, the code is the same as the
' old example.
With dbsPubs
Debug.Print "Database properties for " & _
.Name & ":"
On Error Resume Next
For Each prpLoop In .Properties
If prpLoop.Name = "Connection" Then
' Property actually returns a Connection object.
Debug.Print " Connection[.Name] = " & _
.Connection.Name
Else
Debug.Print " " & prpLoop.Name & " = " & _
prpLoop
End If
Next prpLoop
On Error GoTo 0
End With
dbsPubs.Close
wrkMain.Close
End Sub