Autowert in Tabelle Zurücksetzen?
Karl Donaubauer
Gesendet: 01.02.12 18:02
Betreff: RE: Autowert in Tabelle Zurücksetzen?



Elite Veteran

Beiträge: 744
50010010025
Ort: Wien
wolf33 - 01.02.12
wollte den Tipp 3.2 gerade verwenden, geht aber bei mir nicht?

Einfache Tabelle "Jahresumsatz":

Umsatz_Nr Autowert
UJahr Zahl (Integer)
...
die ersten Tabellenzeilen :

Umsatz_Nr UJahr UMonat Mitarbeiter Kundenname Leistung LUmsatz VUmsatz
1861 2006 12 Paradiso, N. Passant 34'114.40 29'594.10 4'520.30
1862 2006 12 Paradiso, N. Abbas, Gabriela 63.00 63.00 0.00
...
letzte Zeile:
5464 2008 12 Bassi-Ferrarelli, M. Zweifel, Judith 37.00 37.00 0.00

Nach der SQL-Anweisung:

db.Execute "ALTER TABLE Jahresumsatz ALTER COLUMN Umsatz_Nr COUNTER(1,1)"

bleibt alles beim Alten, d.h. 1.Zeile 1861

Wenn ich richtig verstehe, dann hast du in http://www.donkarl.com/?FAQ3.2 die Problembeschreibung nicht fertig gelesen.
Der Artikel geht von der Problemstellung aus, dass Datensätze gelöscht wurden und man möchte, dass neu einzugebende DS mit einer bestimmten Nummer beginnen. Die häufigste Variante davon ist, dass man alle DS in einer Tabelle löscht und will, dass neue Datensätz wieder mit 1 beginnen. Dafür sorgt der o.a. SQL Befehl.

Du hingegen willst bereits vergebene Nummern in bestehenden Datensätzen ändern. Das ist etwas ganz anderes und geht nicht direkt.
Die Frage ist, warum du das willst. Wie in der FAQ beschrieben, sind Autowertfelder nicht für "hübsche" Nummern gedacht. Ihr Wert sollte egal sein. Wenn er das nicht ist, dann verwende kein Autowertfeld und kümmere dich per Programmierung um die richtige Nummernvergabe!

Falls du die Werte unbedingt ändern willst, ist eine wichtige Frage, ob das Feld "Umsatz_Nr" für Beziehungen zu anderen Tabellen genutzt wird. Wenn ja, wird's etwas komplizierter. Wenn nein, kannst du z.B. so vorgehen:

- Sicherheitskopie der Datenbank-Dateien anlegen (bei solchen Aktionen immer ratsam)
- den Datentyp von Umsatz_Nr von Autowert auf Long Integer ändern, Feldname auf "Umsatz_Nr_alt" ändern, Tabelle speichern
- neues Feld "Umsatz_Nr" anlegen mit Datentyp Autowert, Tabelle speichern

Hast du nun die Nummerierung, die du willst? Wenn ja, dann
- falls das alte Umsatz_Nr-Feld Primärschlüssel der Tabelle ist, ändere den auf das neue Feld
- das alte Feld kannst du löschen

-----
Servus
Karl
*********
Internationale Access-Konferenz: http://AccessDevCon.com
Access-Entwickler-Konferenz: https://www.donkarl.com/?aek
Top of the page Bottom of the page