snake88
Goto Top

Autowert und Primärschlüssel in Access bei vorhandenen Tabellen per Vba erstellen

ich habe eine export/import funktion für eine access datenbank geschrieben.
Beim Export werden die Daten werden mittels DoCmd.OutputTo als Excel Datei gespeichert.
Beim Import lese ich sie mittels DoCmd.TransferSpreadsheet wieder ein.
Das klappt auch alles wunderbar.

Die Tabellen haben nach dem Import keinen Primärschlüssel mehr
Diesen füge ich mit folgendem SQL Befehl ein:
ALTER TABLE tabelle ADD CONSTRAINT xID PRIMARY KEY (ID) AUTOINCREMENT

Das Problem ist jetzt, dass er zwar den Primärschlüssel erstellt, aber keinen autoincrement einfügt.
(Das geht auch manuell nicht, da schon Daten in den Tabellen vorhanden sind)

Ich habe auch schon den Befehl
ALTER TABLE tabelle ALTER COLUMN ID COUNTER(100)
probiert... klappt allerdings auch nicht

hatt jemand ne idee woran das liegt bzw wie ich es Lösen kann?

Content-ID: 129576

Url: https://administrator.de/contentid/129576

Ausgedruckt am: 25.11.2024 um 15:11 Uhr

Biber
Biber 20.11.2009 um 19:03:38 Uhr
Goto Top
Moin snake88,

wenn ich mir die Bemerkung erlauben darf - wenn ich den Plan in seiner ganzen Tragweite erfasst habe, dann hoffe ich, du hast noch einen Plan B im Keller.

Zuerst alle Sätze aus einer Excel-Tabelle oder einer Textdatei importieren und danach die Eindeutigkeit der Zeilen über einen Kunstschlüssel sicherstellen.. na ja.

Rein syntaktisch sollte es mit folgendem schlichten und schmucklosen Statement ausreichen
ALTER TABLE  ImpWhatever 
ADD COLUMN mySuperPK COUNTER
CONSTRAINT MyPlanA PRIMARY KEY

Daraufhin erhält die Tabelle "ImpWhatever" eine neue Spalte "mySuperPK" vom Typ Autowert.
Mit der CONSTRAINT-Clause wird diese unter dem Namen "myPlanA" als Primary Key inclusive Daten angelegt.
Vorausgesetzt, es gibt weder einen PK noch ein Autowert-Feld und auch kein Feld mySuperPK zu diesem Zeitpunkt in der Tabelle.

So geschrieben, weil du explizit danach gefragt hast.

Ansonsten... gerade gestern habe ich schon etwas über Stevie Wonder als Datenmodellierer geschrieben.. egal.

Schönes Wochenende
Biber
snake88
snake88 20.11.2009 um 20:24:33 Uhr
Goto Top
Ok jetz weis ich zwar wie ich wieder nen primärschlüssel hinbekomm...
aber die PKs kann man natürlich nicht gebrauchen...

dann denk ich mal über einen Plan B nach ;)
vielleicht gibt es ja noch eine ellegantere Lösung für Backups in Access

Vielen Dank für deine Antwort
Biber
Biber 21.11.2009 um 17:36:05 Uhr
Goto Top
Moin snake88,

nachdem wir ja nun die eigentlich gestellte Frage relativ stressarm abfrühstücken konnten, könnten wir doch jetzt nochmal richtig durchstarten.

Vorschlag wäre:
  • du setzt diesen Thread mit einem Häkchen in der Gesichtsfarbe eines Restauranttesters bei McDonalds auf "Erledigt"
  • du machst einen neuen Beitrag "Datenbankbackup/Replikation unter Access" und beschreibst dort das Ziel, das du eigentlich erreichen willst.

Grüße
Biber