Perdon, me falto algo de codigo, previamente lleno el ClienteDataSet2 con campos de una tabla, (TablaA), luego lo recorro y actualizo un registro X de otra tabla (TablaB).
Código Delphi
[-]
With ClientDataSet3 Do
Begin
Close;
ClientDataSet1.Commantext := ' Select * from TablaA';
Open
If Not Eof Then
Begin
First;
While Not Eof Do
Begin
ClientDataSet2.Append;
ClientDataSet2.FieldByName('Codigo').AsString := FieldByName('Codigo').AsString;
ClientDataSet2.FieldByName('CAMPO1').AsFloat := 0;
Next;
End;
End;
End;
With ClientDataSet1 Do
Begin
ClientDataSet1.Close;
ClientDataSet1.Commantext := ' Select * from TablaB';
ClientDataSet1.Open
If Not Eof Then
Begin
First;
While Not Eof Do
Begin
IF ClientDataSet2.Locate('Codigo', FieldByName('Codigo').AsString, []) Then
Begin
ClientDataSet2.Edit; ClientDataSet2.FieldByName('CAMPO1').AsFloat := FieldByName('CAMPO1').AsFloat;
End;
Next;
End;
End;
End;
Intento editar el campo si lo encuentra. No creo que sea por usar locate, porque tambien lo intente poniendo un While al ClientDataSet2 para recorrerlo y comparar registro por registro, pero igual me da el mismo error.