Свойство Connection.Database (DAO)
Область применения: Access 2013, Office 2013
Синтаксис
выражение .Database
выражение: переменная, представляющая объект Connection.
Примечания
Используйте свойство Database объекта Connection, чтобы получить ссылку на объект Database, соответствующий этому объекту Connection. В DAO объект Connection и соответствующий ему объект Database — это просто две разных ссылки на один и тот же объект. Свойство Database объекта Connection и свойство Connection объекта Database упрощают установку подключений к источникам данных ODBC через ядро СУБД Microsoft Access для использования ODBCDirect.
Пример
В этом примере используется свойство Database, чтобы показать, как код, используемый для доступа к данным ODBC через ядро СУБД Microsoft Access, можно преобразовать для использования объектов Connection в 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 открывается объект Connection из рабочей области ODBCDirect. Затем свойство Database объекта Connection назначается объектной переменной с тем же именем, что и у источника данных в старой процедуре. Никакой последующий код менять не требуется, если в нем не используются функции, применимые исключительно к рабочим областям 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