una solucion "cutre" sería que vieses cuantos ceros te deja por arriba cuando haces el locate una vez hecho esto ya sabes que el locate tiene que ser de la primera posición + esa cantidad, de esa manera el cursor a lo mejor se te colocaría en otra posición pero el primero del dbgrid sería el 1. Una vez hecho esto puedes hacer otro locate consecutivo y buscar el uno de nuevo... no se si me he explicado
Código Delphi
[-]query.locate('posicion',1+Cantidaddecerosqueahoraveoporencima,[]);
query.locate('posicion',1,[]);
pruebalo y me cuentas
