[firebase-br] Res: Re: calcular dias

Jáber S. C. Lima cpd em lekagi.com.br
Ter Maio 12 16:30:37 -03 2009


Zottis, 

Apesar de já ter um sistema funcionando, sou totalmente iniciante em
Firebird. Quando desenvolvi meu sistema não tinha nenhum conhecimento do
Firebird e por isso fiz tudo o que precisava na aplicação. 

Agora estou estudando a fim de corrigir isso. 

Sua resposta resolveu o problema 100% 

 

Muito obrigado pela ajuda... 

 

Abraço.. 

 

 

Jáber S. C. Lima 

Rondonópolis/MT 

 

-------Mensagem original------- 

 

De: Zottis 

Data: 05/14/09 17:13:44 

Para: FireBase 

Assunto: Re: [firebase-br] calcular dias 

 

Olá Jabér, o código que passei já é para o banco calcular automaticamente os


dias de atraso. 

veja que é para um campo calculado, pela sua pergunta, nota-se que vc não 

conhece ou 

não reparou no código que postei sobre os campos calculados no firebird. 

 

faça assim: 

 

alter table TUA_TABELA 

ADD PAGO VARCHAR(1), 

 

ADD DIASATRASO COMPUTED BY (CASE 

 

WHEN (PAGO = 'N' ) AND ( VENCIMENTO < CURRENT_DATE) THEN 

 

CURRENT_DATE - VENCIMENTO 

 

WHEN ( PAGO = 'S' ) AND ( VENCIMENTO < DATAPGTO ) THEN 

 

DATAPGTO - VENCIMENTO 

 

ELSE 

 

0 

 

END); 

 

 

Espero que ajude, e desculpe pela demora na resposta, fiquei sem internet 

estes dias 

 

 

Zottis(TeamFB Users) 

 

Zottis Sistemas - 2009 Ano XII 

Programação Delphi/PHP/Firebird/MySQL 

 

"Um homem só tem o direito de olhar 

a um outro de cima para baixo, quando 

vai ajuda-lo a levantar-se". 

Gabriel Garcia Marquez 

----- Original Message ----- 

From: "Jáber S. C. Lima" <cpd em lekagi.com.br> 

To: "FireBase" <lista em firebase.com.br> 

Sent: Thursday, May 07, 2009 2:42 PM 

Subject: [firebase-br] calcular dias 

 

 

Caro Zottis... 

 

 

 

No ultimo dia 17/03/2009 você postou a seguinte mensagem: 

 

 

 

-------Mensagem original------- 

 

 

 

De: Zottis 

 

Data: 03/17/09 08:06:19 

 

Para: FireBase 

 

Assunto: Re: [firebase-br] calcular dias 

 

 

 

Bom, se for só calcular os dias, a sugestão do amigo Carlos magno ja 

 

resolve, mas temos um porém.... 

 

e se ele ja pagou? 

 

o contador ficará contando os dias ainda? 

 

 

 

para resolver isso eu faço assim: 

 

 

 

tenho um campo Chamado "PAGO" do Tipo varchar(1) que coloco 'S' ou 'N' 

 

e outro DATAPGTO do Tipo Date 

 

 

 

e por eles verifico o calculo. 

 

 

 

DIASATRASO COMPUTED BY (CASE 

 

WHEN (PAGO = 'N' ) AND ( VENCIMENTO < CURRENT_DATE) THEN 

 

CURRENT_DATE - VENCIMENTO 

 

WHEN ( PAGO = 'S' ) AND ( VENCIMENTO < DATAPGTO ) THEN 

 

DATAPGTO - VENCIMENTO 

 

ELSE 

 

0 

 

END), 

 

 

 

espero que ajude. 

 

 

 

 

 

Zottis(TeamFB Users) 

 

 

 

Zottis Sistemas - 2009 Ano XII 

 

Programação Delphi/PHP/Firebird/MySQL 

 

 

 

-----------------------------------------------------------------------------


--------------------- 

 

Existe a possibilidade de se colocar isso no Firebird para que ele calcule o


campo DIASATRASO automaticamente? 

 

Você poderia dar um exemplo de como fazer? Sou iniciante e isso ajudaria 

bastante.. 

 

 

 

Grato desde já... 

 

 

 

Jáber S. C. Lima 

 

 

 

______________________________________________ 

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 

 

 

______________________________________________ 

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