Puedes utilizar El Locate del Query, por ejemplo supongamos que tenemos una tabla llamada "Datos", con un campo Autonumerico llamado "CodDato" y que el ultimo registro ingresado fue el 100 , entonces podriamos utilizar un LOCATE del componente Query para ubicar en la grilla el registro seleccionado ( en este caso el Último registro )..
Código Delphi
[-]
/*********************************************************
function ObtenerDato(Consulta: String): Variant;
begin
TRY
QueryLocal.SQL.Clear;
QueryLocal.SQL.Text:=Trim(Consulta);
QueryLocal.Open;
IF QueryLocal.RecordCount > 0 THEN
Result:=QueryLocal.Fields[0].Value
ELSE
Result:='0';
FINALLY
QueryLocal.Close;
END;
end;
/*********************************************************
Procedure ResfrecarGrilla;
Var
UltimoNumero : Integer;
begin
UltimoNumero:=ObtenerDato('Select Max(CodDato) From Datos')
Query.Locate('CodDato',UltimoNumero,[]);
end;
/*********************************************************