BEISPIEL
Abbildung 9.2 Übersicht ADOX-Library
Datenbanken erstellen
Ausgangspunkt für das Erstellen einer neuen Datenbank ist ein Catalog-Objekt. Um welchen Datenbanktyp
es sich handelt, ist zu diesem Zeitpunkt unerheblich. Es muss lediglich ein entsprechender OLEDB-Pro-
vider (z.B. Jet, SQL Server) vorliegen, der diese Funktionen auch unterstützt.
Mit einem einzigen Methodenaufruf (Create) ist die komplette Datenbank erstellt.
Erstellen einer Access 2007-Datenbank:
Sub Erstelle_Access_Datenbank()
Dim cat As New ADOX.catalog
cat.Create "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\Kunden.accdb"
End Sub
Wer etwas sauberer programmieren möchte, wird die folgende Variante verwenden:
Sub Erstelle_Access_Datenbank()
Dim cat As ADOX.catalog
Set cat = New ADOX.catalog
cat.Create "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\Kunden.accdb"
Set cat = Nothing
End Sub
511
Datenbankverwaltung mit ADOX
BEISPIEL
BEISPIEL
Kapitel 9: Fortgeschrittene Datenbankprogrammierung
Erstellen einer Access 2003-Datenbank:
Dim cat As New ADOX.Catalog
cat.Create "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\Kunden.mdb"
Wer etwas sauberer programmieren möchte, wird die folgende Variante verwenden:
Dim cat As ADOX.Catalog
Set cat = New ADOX.Catalog
cat.Create "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\Kunden.mdb"
Set cat = Nothing
Was auf den ersten Blick nicht gleich ersichtlich ist, mit den Parametern der Create-Methode lassen sich
noch weitere Optionen an den jeweiligen OLEDB-Provider übergeben. So können Sie beispielsweise bei
Access-Datenbanken zusätzlich
die System-Datenbank,
einen Usernamen und ein Kennwort (der neue Besitzer der Datenbank)
oder ein Datenbankkennwort vorgeben.
Datenbankkennwort vorgeben (nur Access)
Dim cat As New ADOX.Catalog
cat.Create "Provider=Microsoft.ACE.OLEDB.12.0;Data Source = C:\New.accdb;" & _
"Jet OLEDB:Database Password=geheim;"
Wie Sie sehen, werden zusätzliche Eigenschaften bzw. Optionen einfach an den bestehenden String ange-
hängt (Semikolon nicht vergessen!).
Die folgende Tabelle listet alle relevanten Optionen auf:
Option Beschreibung
User ID,
Password
Mit diesen beiden Optionen können Sie Anmeldename und Passwort vorgeben. Dieser Nutzer wird
zum Besitzer der neuen Datenbank. Meist müssen Sie diese beiden Werte zusammen mit der Angabe
der Systemdatenbank (siehe folgende Option) einsetzen.
Jet OLEDB:System database Gibt den Standort der gewünschten Systemdatenbank vor.
Locale Identifier Gibt Sortierfolge, Zeichensatz für die neue Datenbank vor (diesen Wert können Sie in Deutschland
weglassen).
Extended Properties Durch Zuweisen eines Wertes können Sie Datenbanken in Fremdformaten (dBase etc.) erstellen.
Jet OLEDB:Database Password Setzt ein Datenbank-Passwort (bitte nicht mit der Userverwaltung verwechseln).
Jet OLEDB:Registry Path Gibt einen Registry-Eintrag an, in dem alternative Jet-Optionen gespeichert sind.
Jet OLEDB:Create System Database Erzeugt eine neue Systemdatenbank (True/False).
Jet OLEDB:Engine Type Erzeugt Datenbanken in Fremdformaten (siehe folgende Tabelle 9.2).
Tabelle 9.1 Optionen für das Erstellen von Datenbanken
512
HINWEIS
BEISPIEL
Typ Wert
Microsoft Jet 1.0 1
Microsoft Jet 1.1 2
Microsoft Jet 2.0 (Access 95) 3
Microsoft Jet 3.x (Access 97) 4
Microsoft Jet 4.x (Access 2000/2002/2003) 5
Microsoft ACE 12 (Access 2007) 6
dBASE III 10
dBASE 4 11
dBASE 5 12
Excel 3.0 20
Excel 4.0 21
Excel 5.0 22
Excel 8.0 23
Excel 9.0 24
Exchange 4 30
Lotus WK1 40
Lotus WK3 41
Lotus WK4 42
Paradox 3.x 50
Paradox 4.x 51
Paradox 5.x 52
Paradox 7.x 53
Text 1.x 60
Html 1.x 70
Tabelle 9.2 Zulässige Werte für den Parameter Jet OLEDB:Engine Type
Microsoft ACE 12 (Access 2007) erfordert als Provider »Provider=Microsoft.ACE.OLEDB.12.0;«.
Eine alte Access 97-Datenbank erstellen
Sub Erstelle_Access_Datenbank()
Dim cat As ADOX.catalog
Set cat = New ADOX.catalog
cat.Create "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=c:\access97.mdb;Jet OLEDB:Engine Type=4"
Set cat = Nothing
End Sub
513
Datenbankverwaltung mit ADOX

Get Microsoft Office Access 2007-Programmierung - Das Handbuch now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.