[firebase-br] duvidas
renato
centriscorps em gmail.com
Qui Set 4 10:28:25 -03 2008
Paulo,
Não vejo muito sentido em guardar no banco a quantidade de dias em atraso de
um determinado título. Todo dia tens que rodar, ou agendar, essa rotina.
Seria muito mais prático se você o tivesse como campo calculado.
O barato disso é que o cálculo ocorre somente quando o registro é exibido.
Voltando ao seu código tente fazer assim:
btnDiasAtraso.Enabled := False;
tblTitulos.First; //pra ter certeza que o ponteiro do arquivo está no início
While *NOT* tblTitulos.Eof do //enquanto não chega no final da tabela.
begin
DtAtual := DataFim.Date;
DtInic:=tblTitulos.fieldbyname('DataVencimento').AsDateTime;
Dias := DaysBetWeen(DtAtual,DtInic);
*tblTitulos.Edit;*
tblTitulos.fieldbyname('DiasAtrazo').AsInteger:=Dias;
*tblTitulos.Post;*
tblTitulos.Next;
end;
Renato.
2008/9/4 Paulo Cesar <pcyz em uol.com.br>
> Bom dia pessoal estou com um problema e não estou conseguindo identificar
> tenho uma tabela que desejo fazer calculos de data no campo e ter o como
> resultados dias em atrazo
>
> fica assim
>
> datainicio-dataatual = dias em atrazo´
>
> consegui fazer o calculo e tudo..so não conseguir fazer o while na
> tabela... ele quebra o while no proximo registro achei muito estranho, esta
> fazendo o calculo somente no registro atual exemplo do codigo.
>
> procedure TfrmAcordos.btnDiasAtrasoClick(Sender: TObject);
> var
> Dias:Integer;
> DtInic,DtAtual:TDate;
> begin
> tblTitulos.Edit;
> btnDiasAtraso.Enabled:=False;
> While tblTitulos.Eof do //enquanto não chega no final da tabela.
> begin
> DtAtual := DataFim.Date;
> DtInic:=tblTitulos.fieldbyname('DataVencimento').AsDateTime;
> btnDiasAtraso.Enabled:=False;
> Dias := DaysBetWeen(DtAtual,DtInic);
> tblTitulos.fieldbyname('DiasAtrazo').AsInteger:=Dias;
> tblTitulos.Next;
> end;
> btnDiasAtraso.Enabled:=True;
> end;
> end.
>
> Como peguei o sistema ja começado, esta com o banco paradox, mas ja estou
> migrando para o banco firibird com os componetes DBEXpress
>
> Alguem pode me ajudar?
>
>
>
>
> ______________________________________________
> FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
> Para saber como gerenciar/excluir seu cadastro na lista, use:
> http://www.firebase.com.br/fb/artigo.php?id=1107
> Para consultar mensagens antigas: http://firebase.com.br/pesquisa
>
Mais detalhes sobre a lista de discussão lista