Ver Mensaje Individual
  #5  
Antiguo 25-08-2010
Dclase Dclase is offline
Miembro
 
Registrado: ene 2007
Posts: 35
Reputación: 0
Dclase Va por buen camino
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;  //Este Cds no esta conectado a ningun provider 
                                      //Solo lo utilizo para actializar datos en memoria
         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.
Responder Con Cita