Como hago para hacer un bucle donde asignas un número, intentas grabarlo y si da error (porque ya existe) entonces le sumas 1, hasta que no dé error.
el numero lo asigno consultando una base de datos y le sumo uno pero si por error esta repetido que haga el bucle aca coloco un poco del codigo.
Código Delphi
[-]procedure Todespacho.BitBtn1Click(Sender: TObject);
var
AccExclusivo:Boolean;
proximonumero:Integer;
numero:Integer;
tord:Real;
tpart:Real;
begin
with Data.sqcaval do
begin
Close;
SQL.Clear;
SQL.Add('SELECT');
SQL.Add('MAX(IDORDEN) as idorden');
SQL.Add(' FROM cartaavaleulalia');
Open;
proximonumero := FieldByName('IDORDEN').AsInteger +1;
numero := 0;
end;
begin
Data.orden.Append;
Data.mtiva.Append;
Data.ttrans.Append;
Data.orden.FieldByname('programa').AsString := programa.LookupValue;
Data.ejecucion.FieldByname('programa').AsString := programa.LookupValue;