Si hubiera sido un stringrid hubiera sido facil, ya que moverse de un lado a otro, lo que queria es que cuando validara el codigo en el evento .., busque si encuentra un codigo igual anterior y directamente se traslade al registro anterior.
Ejemplo:
Código Delphi
[-]
procedure TForm1.ClientDataSet1codigoArticuloValidate(Sender: TField);
begin
for i:=0 to cantidad_de_registros do
begin
if (CodigoArticulo.Value = Array_con_codigos_anteriores[i]) then
begin
dbgrid1.col := i; dbgrid1.row := 3; end;
end;
end;
ESTO ERA LO QUE BASICAMENTE QUERIA HACER, LA SOLUCION ES FACIL PERO COMO DIJE ANTES, CADA VEZ QUE REALIZA ESA RUTINA DISTORCIONA LOS VALORES DE LA TABLA..
SALUDOS Y GRACIAS POR EL APOYO...