MyTetra Share
Делитесь знаниями!
Connection.Database Property (DAO)
Время создания: 16.03.2019 23:43
Текстовые метки: vba, dao
Раздел: !Закладки - VBA - Access - DAO
Запись: xintrea/mytetra_db_adgaver_new/master/base/1531512731bsnwug8zni/text.html на raw.githubusercontent.com

   

   

Connection.Database Property (DAO)       

 Office 2013 and later                        

      

              expression  .Database           

              expression   A variable that represents a Connection object.                                                   

On a Connection object, use the Database property to obtain a reference to a Database object that corresponds to the Connection. In DAO, a Connection object and its corresponding Database object are simply two different object variable references to the same object. The Database property of a Connection object and the Connection property of a Database object make it easier to change connections to an ODBC data source through the Microsoft Access database engine to use ODBCDirect.                                                   

         

           

                                              Example                           

                                           

                                                             

                                                 

This example uses the Database property to show how code that used to access ODBC data through the Microsoft Access database engine can be converted to use ODBCDirect Connection objects.           

The OldDatabaseCode procedure uses a Microsoft Access database engine-connected data source to access an ODBC database.

   

       

VBA       

       

           

                                           

           

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

 

 

                       

The NewDatabaseCode example opens a Connection object in an ODBCDirect workspace. It then assigns the Database property of the Connection object to an object variable with the same name as the data source in the old procedure. None of the subsequent code has to be changed as long as it doesn't use any features specific to Microsoft Access workspaces.

   

       

VBA       

       

           

                                            

           

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

 

 

 

                                           

 

Так же в этом разделе:
 
MyTetra Share v.0.59
Яндекс индекс цитирования