TRUNCATE TABLE relations in MS Access nicht möglich

  • VB.NET

Es gibt 4 Antworten in diesem Thema. Der letzte Beitrag () ist von VB1963.

    TRUNCATE TABLE relations in MS Access nicht möglich

    Hey Leute,

    ich stehe vor folgendem Problem:
    Ich habe eine Tabelle in meiner MS Access Datenbank die mit vielen Werten gefüllt ist. Beim Speichern neuer Werte ist es allderings wichtig, dass die Tabelle vor dem speichern der neuen Daten komplett leer ist.
    Jetzt hab ich aus MySQL schon gute Vorkenntnisse und wollte die Tabelle mit TRUNCATE leeren (es ist nämlich wichtig, dass der Index zurück gesetzt wird) jedoch bekomme ich die Fehlermeldung, dass TRUNCATE nicht unterstützt wird.
    Ein Einfaches "DELETE * FROM relations" reicht nicht, weil dann der Index von ID nicht zurück gesetzt wird.

    Gibt es eine Möglichkeit, die Tabelle so zu löschen, dass sich der Index auch zurück setzt?
    Hab schon versucht die ganze Tabelle per DROP einfach rauszuhauen und dann mit CREATE wieder zu erstellen aber auch da tauchen Fehler auf und es funktioniert nicht wie gewünscht.

    Wäre über Hilfestellungen sehr dankbar.

    PS: Google spuckt bei "vb.net ms access truncate" nur unbrauchbaren Crap aus.

    Gruß
    Jings
    Hi,

    soweit ich weiß funktioniert der Truncate Tabel bei Access nicht.
    Ich hatte auch einmal nach so etwas gesucht und leider nur die Antworten bekommen, dass du wohl oder übel die Tabelle löschen mußt und neu erstellen. Evtl. reicht es aber aus, nur die Schlüsselspalte zu löschen und dann neu zu erstellen. Hab ich allerdings noch nicht probiert.

    Um eine Access Datenbank zu erstellen gibt es ADOX , ich weiß nicht ob es auch noch eine andere Möglichkeit gibt.Mit SQL Befehlen funktioniert das glaube ich nicht.

    Hier noch ein paar Beispiele.

    Jings schrieb:

    Ein Einfaches "DELETE * FROM relations" reicht nicht, weil dann der Index von ID nicht zurück gesetzt wird.
    Ich würde mal sagen: Design-Fehler.
    Entweder der Wert des Index ist völlig gleichgültig, dann nehme ich einen AutoWert.
    Oder er ist nicht gleichgültig, dann nehme ich keinen AutoWert als Index.
    --
    If Not Program.isWorking Then Code.Debug Else Code.DoNotTouch
    --
    Das ist auch ne Möglichkeit, die ID nicht als Index und auf auto_increment zu stellen.

    Dann funktioniert das reseten per DELETE natürlich auch komplett.

    Danke schon mal für eure Hilfe ich werde mich da nochmal dran versuchen und wenn ich noch Fragen haben sollte, melde ich mich nochmal.