Alguém me ajude!! Relatório
Olá Pessoal,
Estou querendo gerar um relatório dos aniversariantes dos meses de julho a dezembro, sendo que no meu banco (dbf) eu tenho o campo NASC com as datas de nascimento. Eu gostaria q do lado das datas aparecesse a idade das pessoas. Preciso entao fazer um expressão usando o QRExpr para resultar a idade, tipo 2003-19(os dois ultimos números da data de nascimento (campo NASC). mas nao estou sabendo fazer isso. Alguém pode me ajudar???
Obrigado
Vivian
Estou querendo gerar um relatório dos aniversariantes dos meses de julho a dezembro, sendo que no meu banco (dbf) eu tenho o campo NASC com as datas de nascimento. Eu gostaria q do lado das datas aparecesse a idade das pessoas. Preciso entao fazer um expressão usando o QRExpr para resultar a idade, tipo 2003-19(os dois ultimos números da data de nascimento (campo NASC). mas nao estou sabendo fazer isso. Alguém pode me ajudar???
Obrigado
Vivian
Viviankb
Curtidas 0
Respostas
Kfe
10/07/2003
Existem diversos jeitos de se fazer isso. Pegando substrings, fazendo a conta diretamente no banco de dados, etc.
Vou te explicar de um jeito que vc poderá pegar também o mes e o dia se quiser. Não ´pe necessário fazer com QrExp. Pode fazer com Qrlabel normal.
No evento beforeprint da Detailband, faça o seguinte:
- Na área var, Declare seis variáveis locais do tipo word, para guardar dia mes e ano
- Utilize o comando decodedate para quebrar a data em pedaços
- Faça a conta.
Ficará masi ou menos assim o códio pronto:
procedure TForm1.DetailBand1BeforePrint...
Var
dia,mes,ano:word;
diaatual,mesatual,anoatual:word;
begin
decodedate(datasetnasc.value,ano,mes,dia);
decodedate(date,anoatual,mesatual,diaatual);
qrlabel1.caption:=inttostr(anoatual)+´ - ´+inttostr(anoatual-ano);
end;
Isso deve resolver. Qualquer dúvida ou outra forma de fazer, entre em contato via e-mail.
Até +!
Vou te explicar de um jeito que vc poderá pegar também o mes e o dia se quiser. Não ´pe necessário fazer com QrExp. Pode fazer com Qrlabel normal.
No evento beforeprint da Detailband, faça o seguinte:
- Na área var, Declare seis variáveis locais do tipo word, para guardar dia mes e ano
- Utilize o comando decodedate para quebrar a data em pedaços
- Faça a conta.
Ficará masi ou menos assim o códio pronto:
procedure TForm1.DetailBand1BeforePrint...
Var
dia,mes,ano:word;
diaatual,mesatual,anoatual:word;
begin
decodedate(datasetnasc.value,ano,mes,dia);
decodedate(date,anoatual,mesatual,diaatual);
qrlabel1.caption:=inttostr(anoatual)+´ - ´+inttostr(anoatual-ano);
end;
Isso deve resolver. Qualquer dúvida ou outra forma de fazer, entre em contato via e-mail.
Até +!
GOSTEI 0