Array
(
)

Alerta De Status Após um Período

Ramms
   - 30 nov 2005

Olá........

Seguinte galera......
Eu tenho a tabela Encomendas e talz.......nela contem um campo chamado SITUACAO e outro chamado DATA, eu qria que qdo passasse 3 dias após a data em que ele foi digitado(campo data) ele me mostrasse um showmessage avisando....alguem sabe como fazer isso??
vlw......


Sabado
   - 01 dez 2005

Não entendi muito bem, mas observe o exemplo abaixo:
A variavel inicial esta informando a data atual. A variavel chegada informa o valor constante (3). A variavel tempo vai informar a data atual subtraida 3 dias.
Neste exemplo utilizei dois Tedits. No edit 2 coloquei a data menor que 3 dias da data atual e no edit 1 o resultado da variável tempo formatada dd/mm/aaaa.
Quando você clicar no button ele vai te dar a mensagem que quer porque a data é inferior a 3 dias da atual. Se mudar a data para menor que 3 dias ele não te informará.
É claro que precisa implementar isso para o uso que quer, como por exemplo, fazer uma varredura na sua tabela, de forma automatizada.
Melhor ainda seria se você, ao varrer sua tabela, gerasse um TXT, por exemplo, só para te informar os registros onde o campo data são menores que 3 dias da data atual.

Var
saida: TDateTime;
chegada: real;
tempo: TDateTime;
inicial,final: string;
begin
inicial:= datetostr(date);
saida := StrToDate(inicial);
chegada := StrToFloat(´3´);
tempo := saida - chegada;
edit1.text:= FormatDateTime(´dd/mm/yyyy´,tempo);
if (edit2.Text < edit1.text) then
begin
showmessage(´Data inferior a 3 dias´);
end;
end;


Emerson
   - 01 dez 2005

faça uma instrução sql:

select
*
from
encomenda
where
situacao = ´x´
and (data+3) <= current_date

faça essa instrução ser executada num intervalo regular e depois basta verificar se essa instrução retornou alguma informação.

obs.: para FB use current_date, para sql server use getdate()