Ver Mensaje Individual
  #4  
Antiguo 20-10-2006
[maeyanes] maeyanes is offline
Capo de los Capos
 
Registrado: may 2003
Ubicación: Campeche, México
Posts: 2.732
Reputación: 26
maeyanes Va por buen camino
Lo podrías hacer mediante un query, aquí una función que hace los dos procesos al mismo tiempo:

Código Delphi [-]
function GetKeyValue: string;
var
  ValorAnterior: string;
  ParteNumerica: Integer;

begin
  { Esto depende un poco del tipo de base de datos y los componentes que uses,
  por ejemplo, si es Interbase y usas los IBX sería algo como TIBQuery.Create }
  with TQuery.Create(nil) do
    try
      // Configuras la base de datos
      SQL.Text := 'select max(campokey) from tabla'; // Obtienes el valor mas alto del campo
      Open;
      ValorAnterior := Fields[0].AsString;
      Close
    finally
      free
    end;
  ParteNumerica := StrToInt(Copy(ValorAnterior, 2, 4));
  Inc(ParteNumerica);
  Result := Format('A%.4d', [ParteNumerica])
end;


Saludos...
Responder Con Cita