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