Hola Roman, tarde pues me puse a seguir tu consejo y solo tengo un ultimo problema. Genero la consulta y campos persistentes para el Query q la construye. Ademas añadi un campo calculado (MONTOCOMISION) q obtiene el total q deseo asignar a un campo fisico (COMISION) de una de las tablas involucradas en la consulta, ahora lo q me falta es pasarle una clave consecutiva para identificar a los regsitros incluidos en dicha consulta en particular y el valor del campo calculado que corresponde a cada registro.
Hago lo siguiente en AfterPost de la cabecera:
Código:
procedure TDM.ComisionesAfterPost(DataSet: TDataSet);
begin
UpdateComision.ModifySQL.Text:='update Ventas_Mov '+
'set '+
' CLAVECOMISION = :'+QuotedStr(IntToStr(ComisionesCLAVE.Value))+','+
' COMISION = :MONTOCOMISION '+
' where'+
' NUM_RECIBO = :OLD_NUM_RECIBO and'+
' NCONTRATO = :OLD_NCONTRATO and'+
' IDUsuario = :OLD_IDUsuario and'+
' FECHA = :OLD_FECHA and'+
' EFECTIVO = :OLD_EFECTIVO and'+
' CHEQUE = :OLD_CHEQUE and'+
' BANCO = :OLD_BANCO and'+
' NUM_CHQ = :OLD_NUM_CHQ and'+
' CVE_COBRADOR = :OLD_CVE_COBRADOR and'+
' CLAVECOMISION = :OLD_CLAVECOMISION and'+
' COMISION = :OLD_COMISION';
UpdateComision.ExecSQL(ukModify);
DetailComision.ApplyUpdates;
end;
Y el error es que al dar ExecSQL, me manda un mensaje de error q dice q el valor de COMISIONESClave.Value no es un campo. La razon es obvia pues no es un campo de la consulta. Pero el punto es q debo de asignar dicho valor a todos los registros. Asi q cual es la sintaxis para q acepte dicho valor?. Busque en los mensajes del Foro y en la ayuda de Delphi pero no encontre la solucion.
Espero haberme explicado.
Salu2.
Nota: Al asignar update Object al Query la Rejilla me permite agregar valores y supuestamente se guardan pero no ocurre en la realidad.