ante todo gracias por pararte a leer esto.
me encuentro con un problema en un update que intento realizar a traves de una ADOQuery. Parece ser que el dataset relacionado no me permite editar la fila seleccionada. Paso un trozo del código :
Código Delphi
[-]
ADOConec: TADOConnection;
ADOQyArticles: TADOQuery;
DSarticles: TDataSource;
ADOQyStocks: TADOQuery;
DSstocks: TDataSource;
while not ADOQyArticles.Eof do
begin
ADOQystocks.SQL.Clear;
ADOQyStocks.SQL.Add('update F_ARTSTOCK ' +
' set AS_QTEMINI= :Parm_min,AS_QTEMAXI= :Parm_max ' +
' where AS_PRINCIPAL = 1 ' +
' AND AR_REF = '+ #39 + codrefe + #39
);
ADOQyStocks.Parameters.ParamValues['Parm_min'] := round (dias_min * venta_dia);
ADOQyStocks.Parameters.ParamValues['Parm_max'] := round (dias_max * venta_dia);
ADOQyStocks.ExecSQL;
ADOQystocks.Active;
AdoQyStocks.Post;
end;
ADOQyArticles.Next;
end;
ADOConec.CommitTrans;
Leo los registros de la Query ADOQyArticles y realizo el update con ADOQyStocks en una tabla diferente. Creo que me he hecho un lio con el open,close,active ...
El error que me devuelve al hacer el Post es "DataSet not in Edit or insert mode".
Tengo dudas acerca de como hacer el commit una vez realizado todo el proceso.
Gracias por vuestra ayuda.