Primärindex per VBA-Code festlegen

Hallo Experten,

mit einer SELECT INTO -Anweisung habe ich eine neue Tabelle im Access (Acc97+2000) angelegt.

Anschließend möchte ich per VBA-Code festlegen, daß eine bestimmte Spalte (immer die erste!) als Primärindex eingerichtet wird.

Mit der Access-Hilfe komm’ ich nicht richtig weiter. Wer kann mir einen Denk-Anstoß geben oder vielleicht mit einem kleinen Beispielcode weiterhelfen?

Dank und Gruß
(Woly)

Am allereinfachsten, indem du keine Tabellenerstellungsabfrage (SELECT … INTO), sondern eine Anfügeabfrage (INSERT INTO…) nimmst. (Vorher die Tabelleninhalte natürlich löschen.) Dann bleibt dein Tabellendesign erhalten, mit Indizes und allem Pipapo…

Gruß aus dem Norden
Reinhard Kraasch (http://www.kraasch.de - Access Tipps & Tricks)

Hallo Reinhard,

normalerweise würde ich das auch so machen. In diesem speziellen Fall wird allerdings jedesmal eine neue Tabelle benötigt. Hast Du da evtl. trotzdem einen Tipp für mich?

Danke und Gruß,
zur Zeit aus’m Schwaabeländle
(Woly)

Hallo Woly,

eigentlich ist es bloss eine Zeile:
DoCmd.RunSQL („CREATE INDEX [idx1] ON Tabelle1 ([feld1]) with primary;“)
Sieh doch mal in der Access-Hilfe nach, unter Primärschlüssel oder Index, da gibts noch mehr.

Gruß
Christoph

1 Like

Oder über die Datenzugriffsobjekte (ADOX bzw. DAO), Indexes-Auflistung, CreateIndex-Methode usw.

Gruss
Reinhard Kraasch

Ja! Das war’s!!! Supi! Danke!!!

Bei Access-VBA musste ich das zwar umsetzen, aber das war kein Problem:

db.Execute "CREATE INDEX ...;"

Gruß
(Woly)