GARANTIR DESCONTO

Fórum Lentidão na Hora de Gravar Arquivo - Interbase 6 #271444

08/03/2005

0

Eae Filhotes...

Estou trabalhando com Delphi 6 Interbase 6. No meu sistema de ´contas a receber´ quando um cliente paga a conta, automaticamente o é geradas estas entradas de registro; um ´Recibo´, um ´Lançamento no caixa´, um ´Novo Cupom´, uns ´Novos Itens do Cupom´,as entradas de registro são feitas assim:

//exemplo do ´Lançamento do Caixa´
With Dm1.TbItCaixa do
begin
Append;
FieldbyName(´CODCAIXA´).AsString := Label19.Caption;

With IBSQL5 do
begin
Close;
SQL.Clear;
SQL.Add(´SELECT MAX(NUMITCAIXA)AS CODIGO FROM ITCAIXA´);
SQL.Add(´WHERE CODCAIXA = ´´´ +Label19.Caption + ´´´´);
ExecQuery;

Dm1.TbItCaixa.FieldbyName(´NUMITCAIXA´).AsInteger :=
IBSQL5.FieldbyName(´CODIGO´).AsInteger + 1;

Close;
end;

FieldbyName(´DATAITCAIXA´).AsDateTime := Date;
FieldbyName(´HORAITCAIXA´).AsDateTime := Time;
FieldbyName(´TIPOITCAIXA´).AsString := ´RECTO´;
FieldbyName(´HISTORICOCAIXA´).AsString:=´RECTO - RECIBO N. ´+
Dm1.TbRecibo.FieldbyName(´NUMRECIBO´).AsString+´ DO CLIENTE ´+
Edit2.Text;
FieldbyName(´SAIDAITCAIXA´).AsFloat := 0.00;
FieldbyName(´ENTRADAITCAIXA´).AsFloat := Dm1.TbRecibo.FieldbyName(´VRRECIBO´).AsFloat;

With IBSQL3 do
begin
Close;
SQL.Clear;
SQL.Add(´SELECT SUM(ENTRADAITCAIXA), SUM(SAIDAITCAIXA) FROM ITCAIXA´);
SQL.Add(´WHERE CODCAIXA = ´´´ +Label19.Caption+ ´´´´);
ExecQuery;

saldo := Fields[0].AsFloat-Fields[1].AsFloat;

Close;
end;

FieldbyName(´SALDOITCAIXA´).AsFloat := saldo + Dm1.TbRecibo.FieldbyName(´VRRECIBO´).AsFloat;

Post;
Refresh;
end;

... fora a impressão do recibo e do novo cupom com ..Whileln..

Este processamento esta muito LENTO.
Gostaria de saber...

>>> O QUE ESTOU FAZENDO DE ERRADO!!! <<<<

douglas-altonia

Valeu!


Douglasaltonia

Douglasaltonia

Responder

Posts

14/03/2005

Ricardo.vano

Você está usando Table? Query?

Experimente substituí-los pelo componente IBDataSet


Responder

Gostei + 0

14/03/2005

Faelcavalcanti

Cara tu tais fazendo muita coisa, tipow fechando e abrindo muitas tabelas, salvando, utilizando refresh.

Para ficar mais fácil, era bom agente saber quantos registros totais têm nesta tabela independente de filtro. Sei que possa até não fazer sentido, mas tentasse depurar também que parte do código é que deixa mais lento. Outra pergunta também é sobre o componente que estais utilizando é o ´TIBQuery´ ?


Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar