partydevil
Goto Top

Gültigkeitsregel erstellen für Primärschlüssel

Der Primärschüssel ist nicht Autowert, sondern...

Hallo zusammen

Da der Autowert immer hochzählt, auch wenn man einen Datensatz gelöscht hat, stimmt die reihenfolge nicht mehr überein.
z.b.
Datensatz 1
2
3
4
5
6
7

löscht man jetzt die nummer 7 ist der nächste Datensatz aber 8 sprich:

1
2
3
4
5
6
8

Deshalb habe ich meinem Primärschlüssel eine Integer Zahl gegeben, damit der User selber eine Zahl hineinschreiben kann.
Jetzt zum Problem:

Wie kann ich das realisieren, dass der User nur gerade die nächste Zahl schreiben kann.
Also eine Gültigkeitsregel die verhindert, dass in diesem Beispiel der User eine andere Zahl hineinschreiben kann als 7.

wäre euch dankbar für rasche Vorschläge.

Danke

Content-ID: 114088

Url: https://administrator.de/contentid/114088

Ausgedruckt am: 25.11.2024 um 18:11 Uhr

kristov
kristov 17.04.2009 um 11:48:50 Uhr
Goto Top
Hallo,

Du hast sicher einen Grund für Deinen unüblichen Wunsch. Jedenfalls sind Primärschlüssel eindeutig, dh, wenn es Datensatz 7 nicht mehr gibt, dann gibt es ihn nicht mehr und das ist auch gut so. Wenn Du Dich mal mit Datenbanken beschäftigst, weißt Du auch, warum.

lg,
kristov
partydevil
partydevil 17.04.2009 um 12:06:18 Uhr
Goto Top
ja ich brauche eine richtige Reihenfolge für eine Aufzählung. Wüsstest du gerade die Regel?
kristov
kristov 17.04.2009 um 12:44:54 Uhr
Goto Top
Da würd ich mir jetzt an Deiner Stelle Gedanken über den Aufbau der Tabelle machen:

Was ist, wenn Datensatz 4 gelöscht wird? Müssen dann alle darauffolgenden Datensätze eine neue Nummer bekommen oder nicht?

Eine Aufzählung braucht man imho nicht in einer Datenbank, sondern in einer externen Anwendung, die mit den Daten der Datenbank verknüpft sind. Und die soll dann gefälligst die Aufzählung (Nummerierung?) übernehmen.

lg,
kristov
partydevil
partydevil 17.04.2009 um 12:46:11 Uhr
Goto Top
ou shit das mit dem löschen dazwischen hab ich mir noch gar nicht überlegt.


thx
SlainteMhath
SlainteMhath 17.04.2009 um 12:49:57 Uhr
Goto Top
Moin,

die REIHENFOLGE der Autowerte ist IMMER richtig! face-smile

Wenn Du die Datensätze aufsteigend, ohne lücken, numeriert haben willst musst Du das selber Programmieren - etwa im "BeforeUpdate" Event des Formulars. Gleich eine Warnung: wenn mehrere user gleichzeitig Daten erfassen, wird auch das knifflig face-smile

lg,
Slainte
partydevil
partydevil 17.04.2009 um 13:12:10 Uhr
Goto Top
und wie funktioniert das überhaupt? Ich habe nicht wirklich viel Ahnung von VBS