Zur Hauptseite ... Zum Onlinearchiv ... Zum Abonnement ... Zum Newsletter ... Zu den Tools ... Zum Impressum ... Zum Login ...

Data Definition, Teil 2: Index per DAO hinzufgen

Der zweite Teil dieser Beitragsreihe beschreibt, wie man einer Tabelle einen Index mit VBA und DAO hinzufgt. Die Beispieltabelle namens tblKontakte soll einen Primrindex sowie einen aus den Feldern Vorname und Nachname bestehenden zusammengesetzten eindeutigen Schlssel erhalten.

Teil 1: Tabelle per DAO erstellen

Teil 2: Index per DAO hinzufgen

Prozedur zum Hinzufgen von Indizes per DAO

Die folgende Prozedur sorgt fr die Erstellung der gewnschten Indizes. Sie erzeugt zunchst Objektvariablen fr die aktuelle Datenbank und die Tabellendefinition der Tabelle tblKontakte.

Anschlieend erstellt sie mit der CreateIndex-Methode einen neuen Index fr die Tabelle tblKontakte. Der Zuweisung des Namens des Index folgt das Hinzufgen des einzigen Feldes des Index, KontaktID.

Damit der Index eindeutig ist, stellt die Prozedur anschlieend die Eigenschaft Primary auf den Wert True ein. Die Append-Methode sorgt schlielich fr das Hinzufgen des Index zu der Tabelle tblKontakte.

hnliches geschieht zur Erstellung des aus den beiden Feldern Vorname und Nachname zusammengestellten Index. Der einzige Unterschied ist, dass hier die Eigenschaft Unique den Wert True erhlt und dass dem Index zwei Felder angehren.

Public Sub IndexErstellen()

    Dim db As DAO.Database

    Dim tbl As TableDef

    Dim idx As Index

    On Error GoTo IndexErstellen_Err

    Set db = CurrentDb

    Set tbl = db.TableDefs("tblKontakte")

    Set idx = tbl.CreateIndex

    idx.Name = "Primrschlssel"

    idx.Fields.Append idx.CreateField("KontaktID")

    'Primrschlssen und Eindeutig

    idx.Primary = True

    tbl.Indexes.Append idx

    'Eindeutiger zusammengesetzter Schlssel

    Set idx = tbl.CreateIndex

    idx.Name = "Zusammengesetzter eindeutiger Schlssel"

    idx.Fields.Append idx.CreateField("Vorname")

    idx.Fields.Append idx.CreateField("Nachname")

    idx.Unique = True

    tbl.Indexes.Append idx

IndexErstellen_Exit:

    Set idx = Nothing

    Set tbl = Nothing

    Set db = Nothing

    Exit Sub

IndexErstellen_Err:

    If Err.Number = 3284 Then

        MsgBox "Der Index ist bereits vorhanden."

        Resume Next

    Else

        MsgBox "Err: " & Err.Number

    End If

End Sub

Zuweisung weiterer Eigenschaften

Nachfolgend finden Sie eine Auflistung gngiger Index-Eigenschaften:

Unique: Eindeutiger Schlssel
IgnoreNulls: Ignorieren von Nullwerten
Primary: Primrschlssen, gleichzeitig eindeutiger Schlssel

© 2003-2018 André Minhorst Alle Rechte vorbehalten.