Hallo Leute,
das ist alles ganz ok nur kommen bei mir noch einige randbedingungen hinzu.
Ich löse das jetzt folgendermassen:
Es gibt zwei Tabellen:
Eine Stück-Tabelle, also die mit der gearbeitet wird
und eine Pool Tabelle, in der sich alle freien IDs befinden.
Wird nun in der Stücktabelle ein Datensatz angelegt so wird inkrementell geschaut, ob die ID bereits vorhanden Ist. Etwa so
Delphi-Quellcode:
Fuction IDErzeugen(ID:
String):
String;
begin
if ID < 1000
then
begin
if Query.locate(nummer)
then
result:= nummer;
else
result:= IDErzeugen(Nummer+1);
end
else
begin
result:= FindeIDInPool(nummer);
end
end;
Function FindeIDInPool(Nummer:
String):
String;
begin
try
QueryPool.locate
except
result:= nummer+1;
end;
end;
Da kommt aufgrund der Rahmenbed. noch einiges hinzu...
Danke für die rege Beteiligung,
Barnti