Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi AutoNumber in Access zurücksetzen (https://www.delphipraxis.net/61533-autonumber-access-zuruecksetzen.html)

Avax2k 22. Jan 2006 18:00

Datenbank: ACCESS • Version: 2003 • Zugriff über: ADO

AutoNumber in Access zurücksetzen
 
habe eine Datenbank in der viel gelöscht wurde.
Leider hat sich dabei nie die AutoNumber oder eben der PrimaryKey zurückgesetzt sondern hat immer fortlaufend mitgezählt.
Das Problem ich habe nun 3 Einträge in der Tabelle aber die AutoNumber steht bei 300-303 ich würde diese gerne wieder bei 1-3 haben...und somit zurücksetzen..

Habe im Internet auf der Microsoft Homepage folgenden VBA Code gefunden.

Zitat:

Function ChangeSeed(strTbl As String, strCol As String, lngSeed As Long) As Boolean
'You must pass the following variables to this function.
'strTbl = Table containing autonumber field
'strCol = Name of the autonumber field
'lngSeed = Long integer value you want to use for next AutoNumber.

Dim cnn As ADODB.Connection
Dim cat As New ADOX.Catalog
Dim col As ADOX.Column

'Set connection and catalog to current database.
Set cnn = CurrentProject.Connection
cat.ActiveConnection = cnn

Set col = cat.Tables(strTbl).Columns(strCol)

col.Properties("Seed") = lngSeed
cat.Tables(strTbl).Columns.Refresh
If col.Properties("seed") = lngSeed Then
ChangeSeed = True
Else
ChangeSeed = False
End If
Set col = Nothing
Set cat = Nothing
Set cnn = Nothing

End Function
weiss jemand wie das funktionieren könnte??

Danke im Voraus

Sharky 22. Jan 2006 18:27

Re: AutoNumber in Access zurücksetzen
 
Hai Avax2k,

eine Frage: Warum möchtest Du den AutoInc wert denn zurücksetzen?
Es ist doch "egal" (lassen wir mal extrem grosse Tabellen ausser acht) ob der Wert jetzt mit 1 beginnt oder mit 1 000 000.

Avax2k 22. Jan 2006 19:41

Re: AutoNumber in Access zurücksetzen
 
möchte sie gerne zurücksetzen weil ich die ID Nummer mit der Summe der Einträge vergleichen will um sicherzustellen, dass alles einwandtfrei funktioniert.
Wenn ich nun aber in der Summe der Einträge 3 habe aber die ID Nummer 303 max ist kommt ein Fehler und mein Programm denk dass die Datenbank korrupt ist.

Wie gesagt, wenn man es ändern könnte wäre super, wenn nicht löse ich das Problem auf eine andere Art und Weise aber ich dachte mir ich poste zuerst, vielleicht hat jemand einen Einfall und kann mir zur Seite stehen.


Alle Zeitangaben in WEZ +1. Es ist jetzt 00:47 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz