Hola The Cid James,
quizas te sirva esto, yo uso un autoincremental de esta manera y al mismo tiempo le indico de que numero iniciar y
podras manejar el ID a tu antojo, solo haz como te indico y pruebalo y analizalo si te sirve luego lo personalizas
a tu agrado.
te menciono que uso componentes UniDac, creo que no va haber diferencias con otros componentes.
Necesitaras un Query y renombralo como Generador, vas al Fields Editor -> New Field -> en
Name -> dale un nombre ID
Type -> indica el tipo de campo a INTEGER
Component -> teva a generar un nombre algo asi GeneradorID
luego usa esta FUNCION
Código Delphi
[-]function GenerarID( tTabla, tCampoId :string; tNum :integer): Integer;
var
NCodigo: Integer;
begin
with Generador do
begin
Close;
SQL.Clear;
SQL.Add('SELECT MAX(' + tCampoId );
SQL.Add(') AS ID FROM ' + tTabla );
Open;
NCodigo := GeneradorID.AsInteger;
if NCodigo = 0 then
Result := tNum
else
Result := NCodigo + 1;
Close;
Active := False;
end;
end;
NOTA: probado en PostgreSQL y Acces. en SQLite no va hay que adaptarla.
mas claro imposible...