PDA

Vollständige Version anzeigen : AutoWert zurücksetzten


toja
28.08.2001, 11:54
Hallo liebe Access-Freunde,
kann mir jemand sagen, wie ich einen Primärschlüssel vom Typ "AutWert" wieder zurücksetzen kann, also beginnend mit 1, dann 2,3,4 usw.
Ich habe nämlich durch rumtesten (löschen von DS) jetzt Person_ID's beginnend bei 114.
Ich habe schon in der Access-Hilfe nachgeschaut: Dort war eine Methode dokementiert (Anfügeabfrage), die ich irgend wie nicht geschnallt habe.
Wer kann mir helfen??
VG toja

peppi
28.08.2001, 11:55
Hallo,
Datenbank komprimieren - und schon fängt's wieder bei 1 an.

hermi
28.08.2001, 12:03
hallo Toja,

Komprimieren setzt die Autowerte aller Tabellen auf den nächsthöheren freien Wert zurück.

Um wieder bei 1 anzufangen musst du in der Tabelle das Autowertfeld löschen (vorher Verküpfungen lösen) und erneut eingeben. Verknüpfungen wieder herstellen.

aber Achtung: Autowertfelder, die als Referenz einer Beziehung dienen, sollten nicht reinitialisiert werden, sonst gibt's Datensalat.

cu hermi

toja
28.08.2001, 12:13
hallo peppi,
hat bei mir leider irgendwie nicht geklappt (?)
und so hab ich es versucht: Menü Extras auf Datenbank-Dienstprogramme, dann auf Datenbank komprimieren und reparieren

war doch richtig, oder??
Gruß toja

toja
28.08.2001, 12:17
hallo hermi,
vielen dank für deine antwort :-)
habe ein relationales datenmodell gemacht, also sieben tabellen, die alle irgendwie in beziehung stehen. wenn ich dich richtig verstanden habe, wird das zurücksetzen des autowerts wohl im chaos enden?
ich probier das mal aus, bin ja jetzt vorgewarnt ;)
Gruß toja

peppi
28.08.2001, 12:23
Hallo,
also - bei mir klappt das immer. Alle "Spieldaten" in den Tabellen löschen, Datenbank komprimieren (richtig unter Extras/Datenbank Dienstprogramme) und schon fangen meine Autowerte wieder bei 1 an zu zählen ?
Warum das bei Dir nicht klappt weiß ich nicht. Die Geschichte mit Feldern löschen habe ich noch nie gemacht, weil es ja, wie gesagt, immer wie oben beschrieben geklappt hat.

hermi
28.08.2001, 14:07
hallo nochmals,

wenn du schon Daten in deiner mdb, dann lass das Löschen und Wiedereineinfügen des Autowertfeldes lieber sein. Das gibt nur ein heilloses Datenchaos.
Diese Lösungsmöglichkeit nimmt man meist nur dann, wenn Testdatensätze eingeben wurden, um das sichere Abarbeiten von Abfragen, Forms, usw. zu testen.
Normalerweise kann der Autowert unangetastet bleiben, egal ob dort eine 1, 4 oder sonst eine andere Zahl steht. Der Autowert ist überwiegend dazuda, um den jeweiligen Datensatz als eindeutig zu kennzeichnen.

Wenn du dir das antun willst, mach unbedingt vorher eine Sicherungskopie der mdb.

Ansonsten komprimieren.

@ peppi,

meine Vorgehensweise hab ich schon öfter gemacht und es hat 'gefunzt'. Aber nur solange Testdatensätze vorhanden waren.
cu hermi

peppi
28.08.2001, 14:21
@Hermi,
hab' ja nicht gesagt, daß es nicht funktioniert. Die Antwort war auch nicht auf Deinen Beitrag gemünzt, sondern auf den Beitrag von toja, den Sie an mich gerichtet hat, daß es nicht funktioniert.
Da toja in ihrem ersten Beitrag geschrieben hat, daß sie durch rumtesten bis auf DS 114 ist, bin ich davon ausgegangen, daß es bis jetzt nur Testdaten gibt und die zu löschen ist doch sehr sinnvoll.

toja
28.08.2001, 14:59
hallo zusammen,

@hermi, vielen dank, hat geklappt, aber auch nur, weil die db noch so klein, dass ich die verknüpfungen manuell wiederherstellen konnte. hat zwar ein bissi gedauert, ist aber ok. dank dir noch mal :)

@peppi, auch dir vielen dank. meine 'spieldaten' sind schon realistische daten, so dass ich diese nicht so gerne löschen wollte. außerdem hattest du in deiner ersten antwort von löschen nichts gesagt, so dass es bei mir wahrschl. deshalb nicht hingehauen hat...übrigens, bis du dir da ganz sicher, dass ich weibl. bin? ;)

viele grüße an euch zwei beiden
toja

Phillip-Berlin
28.08.2001, 18:55
@toja und peppi

oh du ha ...

:)

gruß
phillip

wenn ihr mal was durchnumerieren wollt .. egal ob neu oder sonstwie

<div><link href="http://www.ms-office-forum.net/forum/externals/codeconv.css" rel="stylesheet"><pre><span class="TOKEN">Private Sub</span> durchnummerieren()
<span class="TOKEN">Dim</span> z&auml;hler <span class="TOKEN">As</span> <span class="TOKEN">String</span>
<span class="TOKEN">Dim</span> DB <span class="TOKEN">As</span> DAO.Database
<span class="TOKEN">Dim</span> Select1 <span class="TOKEN">As</span> <span class="TOKEN">String</span>
<span class="TOKEN">Dim</span> rs <span class="TOKEN">As</span> DAO.Recordset
&nbsp;
&nbsp;
<span class="TOKEN">Set</span> DB = CurrentDb()
Select1 = &quot;SELECT tblBestellung.Reihenfolge FROM tblBestellung;&quot;
<span class="TOKEN">Set</span> rs = DB.OpenRecordset(Select1, dbOpenDynaset)
&nbsp;
z&auml;hler = 0
&nbsp;
<span class="TOKEN">Do</span> <span class="TOKEN">Until</span> rs.EOF
z&auml;hler = z&auml;hler + 1
rs.Edit
rs!Reihenfolge = (z&auml;hler * 1)
rs.Update
rs.MoveNext
<span class="TOKEN">Loop</span>
&nbsp;
rs.Close: <span class="TOKEN">Set</span> rs = <span class="TOKEN">Nothing</span>
DB.Close: <span class="TOKEN">Set</span> DB = <span class="TOKEN">Nothing</span>
&nbsp;
<span class="TOKEN">End</span> <span class="TOKEN">Sub</span></pre></div>

peppi
28.08.2001, 19:20
@Phillip,
mit 'nem Autowert-Feld? Sorry, daß ich so doof frage, aber meine VBA-Kenntnisse sind am Anfang.

gruß
fragende(r) peppi

toja
29.08.2001, 09:54
@philip
erst mal besten dank für deine antwort.
ich würde mich aber auch wundern, wenn es mit 'nem AutoWert-Feld funktioniert. normalerweise kann man die doch nicht editieren...ich probier das gleich mal aus...
vg toja

Phillip-Berlin
29.08.2001, 14:05
@peppi und toja
nein mit nem autowertfeld geht das nicht
aber wenn du mal ein feld brauchst das einfach durchnumeriert ist ... dann machst du dir halt
ein neues und numerierst es durch

peppi
29.08.2001, 14:19
DANKE Phillip

toja
03.09.2001, 08:00
@ Philip
dann ist alles klar :D
Besten Dank für Deine Antwort. Dein Zähler-Code kann als Alternative zum Autowert durchaus nützlich sein und jetzt hab ich auch verstanden, dass Du das so gemeint hast.

Viele Grüssse und alles Gute
toja

Phillip-Berlin
22.09.2001, 13:29
freut mich das euch der code gefällt .. mir hat er auch geholfen ...

ich habe ihn nicht selbst geschrieben .... ich glaube jemand hier im forum hat ihn mal gepostet ... also wejen der loorbeeren :)

toja
24.09.2001, 11:34
@Philip: :)
VG toja