Supportnet Computer
Planet of Tech

Supportnet / Forum / Datenbanken

Autowert ändern





Frage

Bin Neueinsteiger, wie kann man den Autowert manipulieren, d.h. das nicht automatisch mit "1" angefangen wird sondern z.B. mit "4241". Kann mir jemand helfen

Antwort 1 von Joachim

Hallo erstmal,
diese Änderung des Autowertes ist nicht auf direktem Weg möglich. Als erstes mußt du die Tabellenstruktur kopieren in eine neue Tabelle, KEINE DATEN, nur die Struktur!
Als zweites wird die Struktur der Ausgangstabelle geändert: AUTOWERT--->Zahl, long int.
Jetzt kann der "alte" Autowert auf die gewünschten Werte gesetzt werden; ist die Tabelle noch leer, dann muß ein Dummy-Satz angelegt werden.
Und zum Schluß: Eine neue Anfügeabfrage erstellen, Ausgangstabelle ist die Ursprungstabelle, Ziel ist die neue, leere Tabelle. Ausführen!
So klappts! Habs gleich noch mal bei mir probiert...

Viel Erfolg
Joachim

Antwort 2 von ElBobbele

Hallo Joachim!

Es gibt zwei zusätzliche Möglichkeiten, den Autowert zu manipulieren.

DAO-/SQL-Variante:
Public Sub DAO_SetSeed(TableName As String, FieldName As String, NextValue As Long)
    CurrentDb.Execute "ALTER TABLE " & TableName & " ALTER COLUMN " & FieldName & " COUNTER(" & NextValue & ");"
End Sub


ADO-Variante:
Public Sub ADO_SetSeed(TableName As String, FieldName As String, NextValue As Long)
    Dim cat As ADOX.Catalog
    Dim tbl As ADOX.Table
    Dim col As ADOX.Column
    
    Set cat = New ADOX.Catalog
    With cat
        .ActiveConnection = CurrentProject.Connection
        Set tbl = .Tables(TableName)
    End With
    
    Set col = tbl.Columns(FieldName)
    col.Properties("Seed").Value = NextValue
    
    Set col = Nothing
    Set tbl = Nothing
    Set cat = Nothing
End Sub


Der Nachteil bei der DAO-Variante ist, dass auf dem Autowert-Feld keinerlei Beziehungen definiert sein dürfen. Ggfs. müssten sie vorübergehend entfernt und hinterher wieder hinzugefügt werden. Die ADO-Variante kennt diese Einschränkung nicht, hier klappt das bei jedem Autowert-Feld. Ausserdem funktioniert die DAO-Variante erst ab Access 2000.

Bei der ADO-Variante muss ein Verweis auf "ADO DDL and Security" gesetzt werden. Die DAO-Variante braucht den regulären DAO-Verweis.

Gruss
El Bobbele

Antwort 3 von Quarzius

@Joachim,

habs eben probiert. Hat leider nicht geklappt. Bin auch nach der Access Hilfe vorgegangen, aber trotzdem ging es nicht!
Kannst du mir vielleicht eine Datenbank schicken, mit einer Tabelle, die bei 10029 beginnt?
Das wäre echt klasse!!!

Gruß
Quarzius

Ich möchte kostenlos eine Frage an die Mitglieder stellen:


Ähnliche Themen:


Suche in allen vorhandenen Beiträgen: