Compartilhar via


Propriedade Connection.Database (DAO)

Aplica-se ao: Access 2013, Office 2013

Sintaxe

expressão .Database

expressão Uma variável que representa um objeto Connection.

Comentários

Em um objeto Connection, use a propriedade Database para obter uma referência a um objeto Database que corresponda ao Connection. No DAO, um objeto Connection e seus objetos Database correspondentes são simplesmente duas referências diferentes de variáveis de objeto para o mesmo objeto. A propriedade Database de um objeto Connection e a propriedade Connection de um objeto Database facilita a alteração das conexões para uma ODBC data source por meio do mecanismo de banco de dados do Microsoft Access a fim de usar o ODBCDirect.

Exemplo

Este exemplo usa a propriedade Database para mostrar como o código utilizado para acessar os dados do ODBC por meio de mecanismo de banco de dados do Microsoft Access pode ser convertido para usar os objetos Connection do ODBCDirect.

O procedimento OldDatabaseCode utiliza uma fonte de dados conectada ao mecanismo de banco de dados do Microsoft Access para acessar um banco de dados do 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 

O exemplo NewDatabaseCode abre um objeto Connection em um espaço de trabalho ODBCDirect. Em seguida, ele atribui a propriedade Database do objeto Connection a uma variável de objeto com o mesmo nome da fonte de dados no procedimento antigo. Nenhum código subsequente tem que ser alterado enquanto ele não usa nenhum recurso específico dos espaços de trabalho do 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