Ayuda: "Record not found or changed by another user"
Hola,
Tengo un proceso que sumariza los detalles de una factura para determinar el importe e impuesto totales, en base a tales detalles.
pe_regoper es un objeto que contiene propiedades (property) que escriben los datos a los campos de la tabla. También tiene asociado el ClientDataSet que accede a la tabla. Partidas es otro objeto relacionado a pe_regoper que contiene propiedades de las partidas, y su ClientDataSet, que accede a la tabla de partidas.
if (pe_regoper.Cierre = 'N') and (not pe_regoper.Partidas.z_DataSet.EOF) then
begin
pe_regoper.z_DataSet.Edit;
pe_regoper.TotalImporte:= 0;
pe_regoper.TotalIVA:= 0;
with pe_regoper.Partidas.z_dataSet do
begin
First;
while not Eof do
begin
pe_regoper.TotalImporte:= pe_regoper.TotalImporte + pe_regoper.Partidas.Importe;
pe_regoper.TotalIVA:= pe_regoper.TotalIVA + pe_regoper.Partidas.IVA;
next;
end;
end;
pe_regoper.z_dataSet.Post;
if TClientDataSet( pe_regoper.z_dataSet ).ApplyUpdates(0) > 0 then
TClientDataSet( pe_regoper.z_dataSet ).CancelUpdates;
end;
En el debugger veo que entra a la condición sin problema, y efectúa las operaciones de totalización correctamente. El problema viene al aplicar el ApplyUpdates, obtengo "Record not found or changed by another user". Cada ClientDataSet está asociado al Provider, y este a su vez a un ZQuery de Zeos que conecta a MySQL 5. Uso Delphi 7
Qué podrá estar pasando?
Gracias,
Guillermo
|