Autor Beitrag
Tau
Hält's aus hier
Beiträge: 5



BeitragVerfasst: Di 11.03.03 05:52 
Hallo Leute

bin neu im Forum

habe ein kleines Problem. Möchte in meiner Datenbank fortlaufend Adress Nr. halten.

Es kommt vor das verschieden Adressen gelöscht werden warum auch immer ist auch gleichgültig. Dann kann die Nummerirrung so z.B. aussehen. 1-20 22-25 27-40 42-80 usw.

Wie kann ich jetzt die nicht vergebenen Nummer wieder belegen.

Mit Grüssen

Tau
bis11
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 1247
Erhaltene Danke: 2

Apple Mac OSX 10.11

BeitragVerfasst: Di 11.03.03 12:49 
Wird diese Nummer durch die Datenbank erzeugt oder erzeugst Du die laufende Nummer selber ?
Tau Threadstarter
Hält's aus hier
Beiträge: 5



BeitragVerfasst: Di 11.03.03 13:14 
Hallo Rolf
Die Laufende Nummer wir nicht durch einen AutoWert in der DatenBank erzeugt.

Mit Grüssen
Tau
CenBells
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 1547

Win 7
Delphi XE5 Pro
BeitragVerfasst: Di 11.03.03 13:49 
Hallo,
du musst dann im OnDelete event, bzw im AfterDelete event die datensätze updaten, daß heißt, daß du alle datensätze, deren laufende nr größer als die des gelöschten waren um eins herabsetzt

zb.
Update Tabellenname
SET Laufende_Nr = Laufende_nr -1
where laufende_Nr > :geloeschte_Nr

Dann bekommst du mittels
Select max(laufende_nr) from Tabellenname
immer den aktuell zur verfügung stehenden wert.

Gruß
Ken
Tau Threadstarter
Hält's aus hier
Beiträge: 5



BeitragVerfasst: Di 11.03.03 14:00 
Hallo Ken

Ich möchte nicht das die bestehenden Nummern verändert werden sondern nur die Datenbank nach der nächsten freien Nummer durchsuchen. So das der NEUE Datensatz eine der freien Nummer bekommt.

Sorry habe mich vielleicht etwas schlecht ausgedrückt.

Mit Grüssen
Tau