Señores ya pude encontrar el problema , al parecer el locate no funciono y puse un Query pero aun asi me ponia el error , lo que pasa es que el "Selec * from " me regresaba todos los campos de la tabla cuando yo solo quiero actualizar un solo campo y la consulta era bastante grande. La solucion fue la siguiente:
Código Delphi
[-]tblact.First;
while not tblact.Eof do
begin
Consulta:='SELECT ccodigop01,cidunida01 FROM MGW10005 WHERE CCODIGOP01=''';
Consulta:=Consulta +TRIM(TblActcodigo_pro.Value);
Consulta:=Consulta +'''';
qRYPROD.SQL.Clear;
qRYPROD.SQL.ADD(consulta);
qRYPROD.Active := TRUE;
qRYPROD.Open;
IF qRYPROD.RecordCount<>0 THEN
BEGIN
qRYPROD.Edit;
qRYPRODcidunida01.Value:=TblActunidad_bas.Value;
qRYPROD.Post;
END;
tblact.Next;
end;
SHOWMESSAGE('Proceso Terminado');
Si se dan cuenta solo me estoy trayendo los campos que necesito, asi me funciono muy bien el Post.
Gracias por su tiempo...