Pesquisa de aniversarios

Delphi

19/10/2004

Caros amigos ajude nesta rotina

Este Codigo esta no butão de seleção

procedure TfmAniversariantes.SpeedButton1Click(Sender: TObject);
var
Ano,Mes,Dia:word;
begin
Application.CreateForm(TfmRelDatAniver,fmRelDatAniver);
with fmRelDatAniver do
begin
DecodeDate(Date,ano,mes,dia);
QConsulta.Close;
QConsulta.Params.ParamValues[´DataInicial´] := strtoint(Edit1.Text);
QConsulta.Open;
fmRelDatAniver.QuickRep1.Preview;
end;
end;


Este é a consulta Sql

Select * from Cadaluno
Where
Extract(Month from DtNasc) = :DataInicial
order by Nome


Este é na impressão do relatório
procedure TfmRelDatAniver.QRBand3BeforePrint(Sender: TQRCustomBand;
var PrintBand: Boolean);

begin
QRLabel4.caption := FormatDateTime(´dd/mm´,QConsulta.FieldByName(´DtNasc´).AsFloat);
end;

end.

Porem o resultado da impressão e na ordem de ano de nascimento e preciso que fique por dia de nascimento.
Ja tentei varias combinações e não consegui faze a index
Espero a ajuda de todos


Dpinho

Dpinho

Curtidas 0

Respostas

Sanses

Sanses

19/10/2004

Select * from Cadaluno
Where
Extract(Month from DtNasc) = :DataInicial
order by Nome, dtnasc

Não entendi direito o que qeures, mas na forma acima voce ordena por nome e por data

Sanses


GOSTEI 0
Dpinho

Dpinho

19/10/2004

Select * from Cadaluno Where Extract(Month from DtNasc) = :DataInicial order by Nome, dtnasc Não entendi direito o que qeures, mas na forma acima voce ordena por nome e por data Sanses


Bem utilizando esta ordem eu tenho o seguinte relatorio:

Nome -- 24/05
nome -- 15/05
nome -- 01/05 - as datas de aniversarios daem por ordem de ano de nascimento e não pelo dia de nascimento


GOSTEI 0
Sanses

Sanses

19/10/2004

Me confundi um pouco quando li sua pergunta e até agora não entendi onde está o problema, veja:

Select * from Cadaluno
Where
Extract(Month from DtNasc) = 3
order by dtnasc

Fiz esta sql direto no ib e o retorno foi

nome 15/3
nome 27/3
.
.
.

Espero ter ajudado
Sanses


GOSTEI 0
Dpinho

Dpinho

19/10/2004

Me confundi um pouco quando li sua pergunta e até agora não entendi onde está o problema, veja: Select * from Cadaluno Where Extract(Month from DtNasc) = 3 order by dtnasc Fiz esta sql direto no ib e o retorno foi nome 15/3 nome 27/3 . . . Espero ter ajudado Sanses

Muito obrigado pela ajuda
não sei o que esta acontecendo porque utilizo paradox e não consigo fazer esta consulta, ela funcionou por dois meses seguidos mas agora não..


GOSTEI 0
Dpinho

Dpinho

19/10/2004

Para fechar este topico e ajudar a quem esta passando pelo mesmo problema com tabelas paradox e pesquiza sql, recebi ajuda do Fernando Azevedo que agradeço profundamente, mudei minha consulta para a seguinte abaixo e esta tudo funcionando como queria.

select C.*, Extract(Day from C.DtNasc)
from Cadaluno C
where Extract(Month from C.DtNasc) = :DataInicial
order by 40


GOSTEI 0
POSTAR