AutoWert-Problem Access 2000

Meine Access 2000-DB „Aufträge“ hat folgenden Primärschlüßel/AutoWert
„00001/04“ „00002/04“ usw. wobei „/04“ (Jahreszahl) hinter dem Inkrement automatisch angefügt wird (Tabellen-Entwurfsansicht -> Allgemein/Format).

Wie bekomme ich einen manuellen oder zumindest einen automatischen Jahreswechsel incl. AutoWert-Zurückstellung hin?

Wichtig ist, daß die bisherigen Datensätze dabei nicht verändert oder gar gelöscht werden !!!

Habe ich überhaupt den richtigen Weg zur Lösung, oder gehe ich da falsch ran?

PS: In der Datenbank befinden sich 2 weitere Tabellen & Formulare, die ich soweit erfolgreich alle miteinander verknüpfen konnte, wie ich es brauche. :smile:

Bin mir nicht ganz sicher was du meinst.
Erstelle einfach für die Jahreszahl eine eigene Spalte.

Bin mir nicht ganz sicher was du meinst.

Eigentlich ganz einfach:
Ich habe in der Datenbank „Aufträge“ den AutoWert/Primärschlüßel 00001/04 - 00002/04 - 00003/04 usw. …

zum Jahreswechsel benötige ich eine Zurückstellung dieses Wertes auf 1 mit der neuen Jahreszahl, also: 00001/05 - 00002/05 - 00003/05 usw. …

Wichtig ist aber dabei, daß alle bisherigen Datensätze (00001/04 - 00002/04 - 00003/04 usw.) nicht verändert werden, da ich auf diese Daten immer wieder Einblick haben muß.

Erstelle einfach für die Jahreszahl eine eigene Spalte.

Leider auch nicht möglich, da ich doch ansonsten doppelte Auftragsnummern habe, oder?

Wie bekomme ich einen manuellen oder zumindest einen
automatischen Jahreswechsel incl. AutoWert-Zurückstellung hin?

Autowertzurückstellung geht nicht, entweder du erzeugst deine Autowerte selbst, nicht schwierig, musst nur die richtige Stelle finden, an der dass passieren soll, oder du machst einen Art Jahresabschluss, speicherst deine Aufträge in einer „Archivtabelle“ und beginnst das neue Jahr mit einer „jungfräulichen“ Tabelle. Denk drüber nach, soll nur ein Denkanstoss sein.

Gruß Kurt

Erstelle einfach für die Jahreszahl eine eigene Spalte.

Leider auch nicht möglich, da ich doch ansonsten doppelte
Auftragsnummern habe, oder?

Wennst einen Autowert hast, dann hast bestimmt keine doppelten Auftragsnummern.

Verständnisproblem Access 2000
Hi A.,

lies Dir bitte das hier durch (Auszug aus der Access-Hilfe):

_Welche Primärschlüsselart soll verwendet werden?
(…)
In Microsoft Access können drei Primärschlüsseltypen definiert werden: AutoWert-, Ein-Feld- und Mehr-Felder-Primärschlüssel.

AutoWert-Primärschlüssel

Ein-Feld-Primärschlüssel

Mehr-Felder-Primärschlüssel_

und fang dann bitte nochmal von vorne an. Die Behauptung

Meine Access 2000-DB „Aufträge“ hat folgenden Primärschlüßel/AutoWert

ist unsinnig. Entweder hast Du einen Autowert oder einen Primärschlüssel, der sich aus Feldern zusammensetzt. Beides gleichzeitig geht nicht.

Gruß Ralf

Erstelle einfach für die Jahreszahl eine eigene Spalte.

Leider auch nicht möglich, da ich doch ansonsten doppelte
Auftragsnummern habe, oder?

Du kannst die zählung durch vba zurücksetzen du darfst nur keinen Autow. verwenden sondern einen wert der um einen hoch zählt!

Das heist du zählst mit einer formel hoch eigendlich nicht al zu schwer zu bewerkstelligen schick mir deine db mal per mail und ich schau mir die mal an.
Danach schreibe ich dir den vorschlag im Forum und schig sie dier zurück.

MfG
Sebastian Stöcker

AutoWert ist AutoWert, und der erzeugt immer aufsteigende Werte. Die Formatierung zeigt das Ding lediglich anders an. Der zugrunde liegende Wert für 00001/04 ist aber de facto 1, was Du bemerkst, wenn Du Dir diesen Wert per Abfrage in eine andere Tabelle schreiben lässt.

Entweder baust Du Dir einen eigenen Zähler. Das wird wahrscheinlich das einfachste sein.

Oder Du erzeugst Dir eine einfache Hilfstabelle mit nur einem AutoWert-Feld. Hier schreibst Du einfach einen Datensatz rein, liest den zuletzt angelegten Datensatz aus und klebst Deine Jahreszahl dran.

Zum Jahreswechsel löschst Du diese Autowert-Tabelle und erzeugst sie neu, damit der Zähler wieder von vorne anfängt. Eine andere Variante wäre das Löschen aller Datensätze und das Komprimieren der Datenbank; damit wird der Autowert auch zurückgesetzt. Geht aber wahrscheinlich nicht bei SQL-Datenbanken (dort heißen die Autowerte auch Sequences.).

Wie gesagt: Das Format zeigt Dir nicht den realen Wert in der Datenbank, sondern formatiert die Ausgabe um. 00001/04 wird so sicherlich nicht als Zahl zu interpretieren sein. In der Datenbank steht aber eine, nämlich die 1.

Gruß, Manfred