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-Key: 114088

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

Printed on: April 19, 2024 at 14:04 o'clock

Member: kristov
kristov Apr 17, 2009 at 09:48:50 (UTC)
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
Member: partydevil
partydevil Apr 17, 2009 at 10:06:18 (UTC)
Goto Top
ja ich brauche eine richtige Reihenfolge für eine Aufzählung. Wüsstest du gerade die Regel?
Member: kristov
kristov Apr 17, 2009 at 10:44:54 (UTC)
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
Member: partydevil
partydevil Apr 17, 2009 at 10:46:11 (UTC)
Goto Top
ou shit das mit dem löschen dazwischen hab ich mir noch gar nicht überlegt.


thx
Member: SlainteMhath
SlainteMhath Apr 17, 2009 at 10:49:57 (UTC)
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
Member: partydevil
partydevil Apr 17, 2009 at 11:12:10 (UTC)
Goto Top
und wie funktioniert das überhaupt? Ich habe nicht wirklich viel Ahnung von VBS