en la parte dodne almaceno la factura y dodne tengo el problema es el siguiente:
Código Delphi
[-]
begin
g.tiempo:=0;
progres:=tprogres.Create(self);
try
progres.bar.Progress:=0;
progres.mensaje.Lines.Clear;
progres.mensaje.Lines.Add('Guardando la factura, espere...');
progres.show;
progres.Refresh;
Application.ProcessMessages;
progres.bar.MaxValue:=8;
M.TFactura.Open;
progres.bar.Progress:=1;
M.TFactura.Refresh;
progres.bar.Progress:=2;progres.Refresh;Application.ProcessMessages;
IF M.TFactura.Locate('Folio',folio.text,[]) then
BEGIN
m.TFactura.Edit;
progres.bar.Progress:=3;progres.Refresh;Application.ProcessMessages;
M.TFactura.Fields[3].Value:=TOTALT.Value;
M.TFactura.Fields[4].Value:=memo1.TEXT;
M.TFactura.Fields[5].Value:='NO';
progres.bar.Progress:=4;progres.Refresh;Application.ProcessMessages;
M.TFactura.Fields[7].Value:='NO';
M.TFactura.Fields[9].Value:=IVAT.Value;
M.TFactura.Fields[10].Value:=SUBTOTALT.Value;
progres.bar.Progress:=5;progres.Refresh;Application.ProcessMessages;
IF MEMO2.Text<>'< ESCRIBA AQUI LAS OBSERVACIONES >' THEN
M.TFactura.Fields[8].Value:=MEMO2.TEXT
ELSE
M.TFactura.Fields[8].Value:='';
progres.bar.Progress:=6;progres.Refresh;Application.ProcessMessages;
m.TFactura.Post;
M.TFactura.CLOSE;
progres.bar.Progress:=7;progres.Refresh;Application.ProcessMessages;
END;
progres.bar.Progress:=8;progres.Refresh;Application.ProcessMessages;
progres.bar.Progress:=0;
progres.Close;
finally
progres.Free;
end;
Podria ser que en lugar de locate, aplique una consulta SQL buscando la factura con el foli a editar? a caso eso resolveria el problema?