Propiedad Connection.Database (DAO)
Se aplica a: Access 2013, Office 2013
Sintaxis
expression .Database
expression Variable que representa un objeto Connection.
Comentarios
En un objeto Connection, use la propiedad Database para obtener una referencia a un objeto Database correspondiente al objeto Connection. En DAO, un objeto Connection y su objeto Database correspondiente son simplemente dos referencias diferentes de variable de objeto al mismo objeto. La propiedad Database de un objeto Connection y la propiedad Connection de un objeto Database facilitan el cambio de conexión a un origen de datos ODBC mediante el motor de base de datos de Microsoft Access para utilizar ODBCDirect.
Ejemplo
En este ejemplo, se usa la propiedad Database para mostrar cómo se puede convertir código que solía tener acceso a datos ODBC mediante el motor de base de datos de Microsoft Access para que utilice objetos Connection de ODBCDirect.
El procedimiento OldDatabaseCode utiliza un origen de datos conectado al motor de base de datos de Microsoft Access para tener acceso a una base de datos 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
En el ejemplo NewDatabaseCode, se abre un objeto Connection en un área de trabajo de ODBCDirect. Después, se asigna la propiedad Database del objeto Connection a una variable de objeto con el mismo nombre que el origen de datos del procedimiento antiguo. No hay que cambiar el código posterior si no se utilizan características específicas de las áreas de trabajo de 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