Feriado entre duas data
06/07/2008
0
Estou tendo dificuldade para pegar a quantidade de feriado entre duas datas para um sistema de locadora onde tenho a data prevista para devolucao e a data da devolucao, tenho a tabela calendario com os feriados uso o Firebir 2.0. delphi 7.
Agradeço.
Fernandoaco
Posts
07/07/2008
Paulo
Sexta, ou Segund(Prolongado), Sábado ou Domingo(Nada acontecia) ou outro dia da semana. A tabela eu criei para os feriados religiosos, que variam, como: Carnaval, Sexta da Paixão e Copus Cristis. Para esse sim eu setava as variáveis, de acordo com a minha tabela para os próximos 10 anos. Claro que há várias formas de se fazer. Essa forma é apenas uma de muitas.
07/07/2008
Javapaulomg
09/07/2008
Emerson Nascimento
supondo que a sua tabela Calendario contenha apenas os feriados, e a estrutura seja:
Data Descricao Tipo* 01/01/2008 Confraternização Universal Nacional 25/01/2008 Aniversário de São Paulo Municipal 01/05/2008 Dia do trabalho Nacional 09/07/2008 Revolução Const. de 1932 Estadual 25/12/2008 Natal Nacional
agora, para contar, basta:
select count(*) from Calendario where Data between DataInicio and DataFim
no Delphi:
cds.Close; cds.CommandText := ´select count(*) from Calendario ´+ ´where Data between :DataInicio and :DataFim ´; cds.Params.ParamByName(´DataInicio´).AsSQLTimeStamp := DateTimeToSQLTimeStamp( DateTimePicker1.Date ); cds.Params.ParamByName(´DataFim´).AsSQLTimeStamp := DateTimeToSQLTimeStamp( DateTimePicker2.Date ); cds.Open; ShowMessage(´Há ´+cds.Fields[0].AsString+ ´ feriados entre ´+DateToStr(DateTimePicker1.Date)+ ´ e ´+DateToStr(DateTimePicker2.Date) ) cds.Close;
(adicione a unit SQLTimSt para poder utilizar a função DateTimeToSQLTimeStamp())
Clique aqui para fazer login e interagir na Comunidade :)