Creo que es demasiado tarde para que le sirva a koalko84, pero como a mi también me pasó y encontré el porque, lo explico.
Este error me dió cuando utilizaba valores que superaban el tamaño definido del campo, en delphi 5.
Es decir, en el ejemplo que indica koalko84:
Código Delphi
[-]
if QRYExcel.Locate('CLAVE',QRYAdminpaqccodigop01.AsString,[loPartialKey]) then
begin
end;
Seguramente la longitud del campo QRYAdminpaqccodigop01.AsString supera a la longitud definida para el campo 'CLAVE'.
Saludos.