Freigeben über


Databases Collection (DAO)

Gilt für: Access 2013, Office 2013

Eine Databases-Auflistung enthält alle offenen Database-Objekte, die in einem Workspace-Objekt erstellt oder geöffnet wurden.

Hinweise

Wenn Sie ein vorhandenes Database-Objekt öffnen oder ein neues aus einem Workspace-Objekt erstellen, wird es automatisch der Databases-Auflistung hinzugefügt. Wenn Sie ein Database-Objekt mit der Close -Methode schließen, wird es aus der Databases-Auflistung entfernt, aber nicht von der Festplatte gelöscht. Sie müssen alle geöffneten Recordset-Objekte schließen, bevor Sie ein Database-Objekt schließen.

In einem Microsoft Access-Arbeitsbereich handelt es sich bei der Einstellung der Name-Eigenschaft für eine Datenbank um eine Zeichenfolge, die den Pfad der Datenbankdatei angibt.

Der Verweis auf ein Database-Objekt in einer Auflistung erfolgt über dessen Ordnungszahl oder den Wert der Name-Eigenschaft, wobei Sie die folgenden Syntaxformen verwenden können:

  • Datenbanken(0)

  • Datenbanken("Name")

  • Datenbanken! [Name]

Hinweis

[!HINWEIS] Sie können dieselbe Datenquelle oder Datenbank mehrmals öffnen, wodurch Duplikatnamen in der Databases-Auflistung erstellt werden. Sie sollten Database-Objekte zu Objektvariablen zuweisen und mit Variablennamen darauf verweisen.

Beispiel

In diesem Beispiel wird ein neues Database-Objekt erstellt und ein vorhandenes Database-Objekt im Workspace-Standardobjekt geöffnet. Dann wird die Database -Auflistung und die Properties -Auflistung der einzelnen Database -Objekte aufgezählt.

Sub DatabaseObjectX() 
 
 Dim wrkAcc As Workspace 
 Dim dbsNorthwind As Database 
 Dim dbsNew As Database 
 Dim dbsLoop As Database 
 Dim prpLoop As Property 
 
 Set wrkAcc = CreateWorkspace("AccWorkspace", "admin", _ 
 "", dbUseJet) 
 
 ' Make sure there isn't already a file with the name of 
 ' the new database. 
 If Dir("NewDB.mdb") <> "" Then Kill "NewDB.mdb" 
 
 ' Create a new database with the specified 
 ' collating order. 
 Set dbsNew = wrkAcc.CreateDatabase("NewDB.mdb", _ 
 dbLangGeneral) 
 Set dbsNorthwind = wrkAcc.OpenDatabase("Northwind.mdb") 
 
 ' Enumerate the Databases collection. 
 For Each dbsLoop In wrkAcc.Databases 
 With dbsLoop 
 Debug.Print "Properties of " & .Name 
 ' Enumerate the Properties collection of each 
 ' Database object. 
 For Each prpLoop In .Properties 
 If prpLoop <> "" Then Debug.Print " " & _ 
 prpLoop.Name & " = " & prpLoop 
 Next prpLoop 
 End With 
 Next dbsLoop 
 
 dbsNew.Close 
 dbsNorthwind.Close 
 wrkAcc.Close 
 
End Sub 
 

In diesem Beispiel wird CreateDatabase zum Erstellen eines neuen verschlüsselten Database -Objekts verwendet.

    Sub CreateDatabaseX() 
     
     Dim wrkDefault As Workspace 
     Dim dbsNew As DATABASE 
     Dim prpLoop As Property 
     
     ' Get default Workspace. 
     Set wrkDefault = DBEngine.Workspaces(0) 
     
     ' Make sure there isn't already a file with the name of 
     ' the new database. 
     If Dir("NewDB.mdb") <> "" Then Kill "NewDB.mdb" 
     
     ' Create a new encrypted database with the specified 
     ' collating order. 
     Set dbsNew = wrkDefault.CreateDatabase("NewDB.mdb", _ 
     dbLangGeneral, dbEncrypt) 
     
     With dbsNew 
     Debug.Print "Properties of " & .Name 
     ' Enumerate the Properties collection of the new 
     ' Database object. 
     For Each prpLoop In .Properties 
     If prpLoop <> "" Then Debug.Print " " & _ 
     prpLoop.Name & " = " & prpLoop 
     Next prpLoop 
     End With 
     
     dbsNew.Close 
     
    End Sub