Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Marostegan

Comparação de datas

Recommended Posts

olá amigos... mais uma vez estou recorrendo a ajuda para poder aprendr mais sobre Delphi!!!

 

o que queria fazer agora é o seguinte:

 

no cadastro de clientes tem um campo que chama vencimento do contrado, este campo está como TEXTO e armazena a seguinte informação (por exemplo) 17/03/2008

 

O QUE PRECISO: que no ano que vem (2009), com um mes de atencedencia ao entrar no sistema apareça uma mensagem "contrato de cliente vencendo".

 

ou seja, uma programação que compare a data atual com a data cadastrada e e calcule exatamente 1 mes antes, se a compração for falsa nada acontece, se for verdadeira retorna a mensagem..

 

meu sistema é BD Access....

 

aguem pode me dar uma forcinha pra fazer isso?

 

obrigado pessoal!!!

 

abraços!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Teria como você mudar este campo para tipo DATE? Pois como texto pode dificultar outras ações que no futuro precise fazer, e ainda acaba armazenando o dado de forma correta no BD, depois basta você montar um SQL, no qual fazer uma seleção pegando todos os registros onde a data atual - 30 coincida com a data gerada.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Teria como você mudar este campo para tipo DATE? Pois como texto pode dificultar outras ações que no futuro precise fazer, e ainda acaba armazenando o dado de forma correta no BD, depois basta você montar um SQL, no qual fazer uma seleção pegando todos os registros onde a data atual - 30 coincida com a data gerada.

olá amigo!

 

já mudei o campo para data, porém não sei como fazer esse SQL..

 

você poderia me ajudar?

 

 

obrigado!

Compartilhar este post


Link para o post
Compartilhar em outros sites

na inicialização do sistema, faça um while na tabela de cadastro de clientes,verificando um por um a se a data de vencimento do contrato é menor que a de hoje menos 30, assim:

while not TabelaClientes.EOF do

begin

if TabelaClientes.DataVEncimentoContrato > ( Date - 30 ) then

ShowMessage('Contrato do cliente'+tabelaClientes.NomeCliente+'Vencido');

 

 

TabelaClinetes.Next;

end;

o correto seria guardar todos os vencidos em uma String ou StringList e mostrar no final do while todos os clientes com contrato vencidos, Manja?

Compartilhar este post


Link para o post
Compartilhar em outros sites

na inicialização do sistema, faça um while na tabela de cadastro de clientes,verificando um por um a se a data de vencimento do contrato é menor que a de hoje menos 30, assim:

while not TabelaClientes.EOF do

begin

if TabelaClientes.DataVEncimentoContrato > ( Date - 30 ) then

ShowMessage('Contrato do cliente'+tabelaClientes.NomeCliente+'Vencido');

 

 

TabelaClinetes.Next;

end;

o correto seria guardar todos os vencidos em uma String ou StringList e mostrar no final do while todos os clientes com contrato vencidos, Manja?

 

nesse caso de guardar todos os vencidos em uma String ou StringList e mostrar no final do while todos os clientes com contrato vencidos... como eu faço?

 

(ps... eu não manjo muito... então se você puder dar uma força ai no mais detalhado possível.. obrigado amigo)

Compartilhar este post


Link para o post
Compartilhar em outros sites

Seria tipo assim:

declare , no caso de guardar todos em uma string, a varivavel e depois guarde todos os clientes que estão vencidos nela para mostar no final da verificação todos na mesma mensagem:

VAR CLIENTES : String;

STR_Clientes := ''; ---> Limpar a variavel !

 

while not TabelaClientes.EOF do

begin

 

if TabelaClientes.DataVEncimentoContrato > ( Date - 30 ) then

STR_Clientes := STR_Clientes+tabelaClientes.NomeCliente+#1310 ---> Ira guardar o nome com um enter no final para melhor visualização da mensagem!

 

TabelaClinetes.Next;

end;

IF STR_Clientes <> '' then ---> Verifica se houve alguma ocorencia no dia antes de dar a mensagem!

ShowMessage('OS seguintes clientes estão com os contratos para vencer :'+STR_Clientes);

 

OK???

Acho que é isso!!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Seria tipo assim:

declare , no caso de guardar todos em uma string, a varivavel e depois guarde todos os clientes que estão vencidos nela para mostar no final da verificação todos na mesma mensagem:

VAR CLIENTES : String;

STR_Clientes := ''; ---> Limpar a variavel !

 

while not TabelaClientes.EOF do

begin

 

if TabelaClientes.DataVEncimentoContrato > ( Date - 30 ) then

STR_Clientes := STR_Clientes+tabelaClientes.NomeCliente+#1310 ---> Ira guardar o nome com um enter no final para melhor visualização da mensagem!

 

TabelaClinetes.Next;

end;

IF STR_Clientes <> '' then ---> Verifica se houve alguma ocorencia no dia antes de dar a mensagem!

ShowMessage('OS seguintes clientes estão com os contratos para vencer :'+STR_Clientes);

 

OK???

Acho que é isso!!

 

olá amigo!!

 

esse final de semana vou mecher no meu sistema... semana que vem já posto o resultado!!!

 

obrigado pela explicação!

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.