Ver Mensaje Individual
  #1  
Antiguo 20-03-2009
alquimista_gdl alquimista_gdl is offline
Miembro
 
Registrado: ago 2008
Ubicación: Guadalajara, México
Posts: 78
Reputación: 16
alquimista_gdl Va por buen camino
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
Responder Con Cita