Diferenca de datas em CalcField

Delphi

15/10/2003

Tenho uma tabela com dois campos datas
Imagino não ser necessário criar nesta tabela um campo Qtd_Dias, porem preciso de um campo no form que me mostre a diferenca entre essas duas datas.

Este dbedit (ou edit!?) exibirá essa o registro for exibido;
O calculo da diferenca entre essas datas ocorrerá sempre que o 2º DBEDIT, perder o foco;

[b:9d491a5029]Alguem pode me dizer como posso fazer isso?
Por favor detalhe, ao explicar para eu entender o que estou fazendo.[/b:9d491a5029]
desde já agradeço...


Rafaelunp

Rafaelunp

Curtidas 0

Respostas

Marcio.theis

Marcio.theis

15/10/2003

Use o componente Calendar do Delphi


GOSTEI 0
Rafaelunp

Rafaelunp

15/10/2003

[quote:d6bb4056c5=´/]/]@t´]Use o componente Calendar do Delphi[/quote:d6bb4056c5]
:idea: :?: :? :?: :idea: :?
Amigo,

Não entendi como posso fazer isso....
Minha aplicação já está pronta... Gostaria apenas de acrescentar esse campo...
Estou usando interbase, com isso uso um dataset no form com os dados que vou trabalhar (inserir, alterar, excluir)... Pensei em criar um campo calculado no dataset para faze isso, mas nao estou conseguindo...

Por favor detalhe, ao explicar para eu entender o que estou fazendo.


GOSTEI 0
Adilsond

Adilsond

15/10/2003

De um clique duplo sobre sua table/query, new field, coloque-o como integer e calculado.

No evento OnCalcField coloque:

if (tabeladata1.IsNull) or (tabeladata2.IsNull) then
tabelacampocalculado.value := 0
else
tabelacampocalculado.value := Trunc(tabeladata2.Value - tabeladata1.Value);


GOSTEI 0
Rafaelunp

Rafaelunp

15/10/2003

De um clique duplo sobre sua table/query, new field, coloque-o como integer e calculado. No evento OnCalcField coloque: if (tabeladata1.IsNull) or (tabeladata2.IsNull) then tabelacampocalculado.value := 0 else tabelacampocalculado.value := Trunc(tabeladata2.Value - tabeladata1.Value);


Caro Adilson,

Obrigado pela ajuda, era o que estava imaginando que fosse resolver, mas ainda não está dando certo...
Sempre que vou fazer uma inclusão
(estou usando IBDataSet - IBDataSet1.Insert;)

Ele ativa o OnCalcField e retorna o ´0´ para o campo de ´dias´.
Gostaria de saber como posso fazer para que o calculo desses dias seja executado sempre que eu precisar, ou seja, sempre que a data 2 perder o foco, ou sempre que for salvar, ou sempre que houver uma alteralção...
Como posso fazer isso?
Acho que ainda não está funcionando completamente por causa disso.
Desde já agradeço...


GOSTEI 0
Rafaelunp

Rafaelunp

15/10/2003

UP!

Preciso dessa resposnta, to precisando disso funcionando...

Grato,


GOSTEI 0
Rafaelunp

Rafaelunp

15/10/2003

Aê Galera,

Deu certo aqui...

Era do jeito que adilson tinha dito mesmo!
Ficou primeira!


GOSTEI 0
POSTAR