Datenbanken erstellen mit ADOx

Autor: André Minhorst, Duisburg

ADOx kann man vom Namen her leicht mit ADO verwechseln. Sieht man sich allerdings den vollen Namen statt der Abkürzung an, erfährt man, dass es sich um eine Erweiterung der Active Data Objects handelt: Das x steht nämlich für Extended, zu deutsch: erweitert. Während die Active Data Objects die Objekte zum Zugriff auf die Daten einer Datenbank liefern, beschäftigt sich ADOx mit dem Erstellen der Datenbank sowie der Objekte der Datenbank.

Active Data Objects Extensions for Data Definition Language and Security lautet die genaue ausgeschriebene Variante von ADOx. Und damit ist auch schon ziemlich genau umrissen, worum es sich dabei handelt: eine Erweiterung der Active Data Objects um die Objekte, die zum Definieren der Datenbank und ihres Zugriffsschutzes dienen.

Während Sie im Beitrag Datenbankzugriff mit ADO (UPDATE-Heft Nr.1/Januar 2001) einiges über ADO erfahren haben, lernen Sie im vorliegenden Beitrag, wie Sie mit Hilfe der Erweiterung ADOx eine Datenbank erstellen und das Aussehen des Datenmodells definieren.

Bevor Sie auf die ADOx-Objekte und deren Methoden, Eigenschaften und Ereignisse zugreifen können, müssen Sie zunächst für deren Verfügbarkeit sorgen.

Am besten legen Sie zunächst eine neue Datenbank an, mit der Sie die folgenden Beispiele nachvollziehen können.

Legen Sie anschließend ein neues Modul an. Wechseln Sie dazu im Datenbankfenster in das Register Module und klicken Sie auf die Schaltfläche Neu. Access öffnet nun automatisch den Visual Basic-Editor und zeigt den Inhalt des neuen Moduls an.

Im Visual Basic-Editor sorgen Sie auch dafür, dass Access die ADOx-Bibliothek für die aktuelle Datenbank verfügbar macht. Gehen Sie folgendermaßen vor:

  • Wählen Sie den Menübefehl Extras ( Verweise aus.
  • Im nun erscheinenden Dialog wählen Sie den Eintrag Microsoft ADO Ext. 2.5 for DDL and Security aus (s. Abb. 1).
  • Abb. 1: Auswahl der benötigten Verweise

    Nun können Sie auf die Objekte zur Definition der Datenstruktur und der Zugriffsrechte zugreifen.

    Das Erstellen einer Datenbank ist wahrscheinlich eine der weniger häufig verwendeten Aktionen von ADOx. Dennoch soll sie hier kurz anhand eines Beispiels erläutert werden.

    Abb. 2: Das Catalog-Objekt enthält einige weitere Objekte.

    Das Catalog-Objekt

    Das übergeordnete Objekt des ADOx-Modells ist das Catalog-Objekt. Das Catalog-Objekt repräsentiert bei allen Aktionen, die Sie mit ADOx durchführen, die Datenbank. Das gilt sowohl für das Erstellen der Datenbank als auch für die spätere Bearbeitung der Datenbankstruktur und der Zugriffsrechte.

    Das Objektmodell von ADOx hat fünf Objekte, die unmittelbar unter dem Catalog-Objekt liegen (s. Abb. 2). Neben den beiden Objekten Groups und Users, mit denen man Gruppen- und Benutzerrechte festlegen kann, und den Objekten Procedures und Views gibt es noch das Table-Objekt, mit dem man Tabellen erstellen und ihre Eigenschaften festlegen kann.

    Deklarieren des Catalog-Objektes

    Die Definition eines Catalog-Objektes erfolgt mit der folgenden Anweisung:

    Dim cat As ADOX.Catalog

    Erstellen der neuen Datenbank

    Die neue Datenbank erstellen Sie anschließend mit der Create-Methode des soeben deklarierten Catalog-Objektes. Dazu erfolgen drei Schritte:

  • Setzen einer neuen Catalog-Objektvariablen
  • Erstellen der Datenbank mit bestimmten Eigenschaften
  • Löschen der Objektvariablen
  • Das genaue Aussehen einer Prozedur zum Erstellen einer neuen Datenbank finden Sie in Quellcode 1. Bei der Zeichenkette hinter dem Befehl cat.Create handelt es sich um einen Connection-String. Der Connection-String beinhaltet Informationen über die Beschaffenheit der zu erstellenden Datenbank. Dazu gehört – wie im Beispiel zu sehen – die Angabe eines Datenbanktreibers und eines Speicherortes für die Datenbank.

    Sie können noch weitere Informationen eingeben, die bei der Erstellung der Datenbank Verwendung finden sollen.

    Setzen eines Passworts

    Wenn die Datenbank beim öffnen ein Passwort abfragen soll, hängen Sie beispielsweise den folgenden String an den bestehenden Connection-String an:

    Jet OLEDB:Database Password=Testpasswort

    Abb. 3: Abfrage des Datenbankkennworts

    Wenn Sie die erstellte Datenbank nun öffnen, erscheint eine entsprechende Passwortabfrage (s. Abb. 3).

    Weitere Optionen beim Erstellen einer neuen Datenbank

    Neben dem Anlegen einer Datenbank mit Passwort gibt es noch weitere Optionen beim Anlegen einer neuen Datenbank:

  • Anlegen einer neuen Systemdatenbank
  • Angabe einer Systemdatenbank
  • Angabe eines Benutzers mit Passwort, der zum Besitzer der neuen Datenbank wird
  • Anlegen neuer Datenbanken in Fremdformaten, beispielsweise älteren Access-Versionen, dBase, Lotus, Paradox usw.
  • Da die meisten Optionen mit dem Sicherheitssystem von Access in Zusammenhang stehen, soll hier nicht weiter darauf eingegangen werden.
  • Bevor Sie eine neue Tabelle in einer Datenbank erstellen können, müssen Sie mit einer Catalog-Objektvariablen die Datenbank festlegen, in der Sie die neue Tabelle erstellen möchten.

    Festlegen einer Datenbank

    Dazu gibt es zwei Möglichkeiten: Entweder Sie erstellen im gleichen Zuge mit der Zuweisung der Variablen eine neue Datenbank, wie Sie es im vorherigen Kapitel gelernt haben, oder Sie legen eine Verbindung zu einer bestehenden Datenbank fest.

    Verwenden einer externen Datenbank

    Dazu können Sie ruhig die Datenbank verwenden, die Sie im Beispiel des vorhergehenden Kapitels angelegt haben. Dazu verwenden Sie die Prozedur aus Quellcode 2.

    Verwenden der aktuellen Datenbank

    Alternativ können Sie natürlich auch die aktuelle Datenbank verwenden. Dazu müssen Sie lediglich die Anweisung zum Festlegen der Verbindung aus Quellcode 2 in den die folgende Anweisung ändern:

    cat.ActiveConnection = Application._CurrentProject.Connection

    Das Table-Objekt

    Das Table-Objekt stellt alle Methoden, Eigenschaften und Ereignisse zur Erstellung von Tabellen und zur Definition ihrer Eigenschaften zur Verfügung (s. Abb. 4).

    Sie haben das Ende des frei verfügbaren Textes erreicht. Möchten Sie ...

    Workplace

    Jahresabonnement TestzugangOder haben Sie bereits Zugangsdaten? Dann loggen Sie sich gleich hier ein:

    Schreibe einen Kommentar