 |
ActiveDelphi .: O site do programador Delphi! :.
|
| Exibir mensagem anterior :: Exibir próxima mensagem |
| Autor |
Mensagem |
hyper_r Novato

Registrado: Domingo, 21 de Novembro de 2004 Mensagens: 59
|
Enviada: Sáb Ago 05, 2006 1:53 pm Assunto: Atualizar registros após N dias úteis |
|
|
Bom, é o seguinte:
Tenho que atualizar um campo para S ou N, esse campo chama-se ENCERRADO, este flag serve para verificar se a última vez que o registro foi atualizado, faz mais de 5 dias úteis, sim ou não. O problema é:
Como vou fazer para validar este prazo de 5 dias úteis, incluindo os feriados? Os feriados farei referência atravéz de uma tabela.
Eu desenhei a lógica mais ou menos assim:
1º Crio a função que terá 2 parâmetros, a data atual e a data de retificação, e esta retorna um inteiro com o número de dias úteis entre as duas datas...
2º Dentro da função crio um loop que passará por toda tabela...
3º Dentro deste loop, crio outro loop e vou antecendendo a data atual, e verifico se o dia é sábado, domingo ou feriado. Caso seja um dia útil incremento o result, caso o contrário passo para o dia anterior.
4º Depois uso esta função para fazer uma condicional, tipo:
if VerificaDiasUteis (Date, DataRetificacao) >= 5 then // ... faço o update no campo ENCERRADO da tabela.
Bom, agora queria uma ajuda para escrever a codificação desta lógica. Pois tenho muitas duvidas, por exemplo como vou fazer um loop que anteceda uma data. Além de várias outras.
Desde já agradeço....
______________________
[url=http://www.activedelphi.com.br/modules.php?op=modload&name=XForum&file=viewthread&tid=102] Regra nº 3[/url]
Título Original: Ae pessoal, esta é dificil....
[Editado em 5/8/2006 por KMerlotti] _________________ <legend> Cuide bem de seu filhos, pois eles que vão escolher seu AZILO!!! |
|
| Voltar ao Topo |
|
 |
KMerlotti Moderador

Registrado: Terça-Feira, 27 de Janeiro de 2004 Mensagens: 3032 Localização: Votuporanga / SP
|
Enviada: Sáb Ago 05, 2006 2:58 pm Assunto: Atualizar registros após N dias úteis |
|
|
pra percorrer os últimos registros, bota uma qry e faz assim:[code]with qry do
begin
Close;
SQL.Clear;
SQL.Add(\'SELECT * FROM TABLA \');
SQL.Add(\'WHERE DATA > \'+
QuotedStr( FormatDateTime(\'MM/dd/yyyy\', Date-15) ) );
// -15 para pegar os registos dos últimos 15 dias
Open;
while not Eof do
begin
if VerificaDiasUteis (Date, FieldByName(\'NOME_CAMPO_DATA\').AsDateime) >= 5 then
DoUpdate();
Next;
end;
end;[/code]Agora, a função VerificaDiasUteis eu não sei como ajudar, pq não conheço a estrutura da tabela dos feriados!
E a procedure DoUpdate é por tua conta! Ela deve atualizar o registro que esta selecionado naquele momento, na qry.
acho que isso ae já ajuda!
Abraços!
[Editado em 5/8/2006 por KMerlotti] _________________ Kelver Merlotti - Coordenador Editorial da Active Delphi
http://twitter.com/kmerlotti
Por favor, leia as regras do fórum. |
|
| Voltar ao Topo |
|
 |
|
|
Enviar Mensagens Novas: Proibido. Responder Tópicos Proibido Editar Mensagens: Proibido. Excluir Mensagens: Proibido. Votar em Enquetes: Proibido.
|
|