ActiveDelphi - Índice do Fórum ActiveDelphi
.: O site do programador Delphi! :.
 
 FAQFAQ   PesquisarPesquisar   MembrosMembros   GruposGrupos   RegistrarRegistrar 
 PerfilPerfil   Entrar e ver Mensagens ParticularesEntrar e ver Mensagens Particulares   EntrarEntrar 

Lista de Aniversariantes

 
Novo Tópico   Responder Mensagem    ActiveDelphi - Índice do Fórum -> Delphi
Exibir mensagem anterior :: Exibir próxima mensagem  
Autor Mensagem
ale_v_teixeira
Aprendiz
Aprendiz


Registrado: Quarta-Feira, 1 de Novembro de 2006
Mensagens: 100

MensagemEnviada: Seg Jan 29, 2007 11:35 am    Assunto: Lista de Aniversariantes Responder com Citação

Bom dia pessoal.

Tenho um cadastro de clientes onde tem o campo data de nascimento (Cldnas). Preciso tirar um relatório de aniversariantes de um determinado período. O usuário informa o período que deseja em 2 edits. Como fazer um SQL que atenda a este relatório? Com o between não funciona porque o usuário vai informar nos edits um perído referente ao presente (01/01/2007 à 31/01/2007, por exemplo) e no Banco de Dados, no campo data de nascimento o ano é diferente para cada cliente.

Alguma dica?

Agradeço antecipadamente.
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
gustavocco
Administrador
Administrador


Registrado: Sexta-Feira, 6 de Fevereiro de 2004
Mensagens: 4253
Localização: Chapecó - SC

MensagemEnviada: Ter Jan 30, 2007 11:31 am    Assunto: Responder com Citação

Olá, vc pode adaptar o seguinte sql...

select * from clientes where extract(day from datanasc) between 01 and 31 and
extract(month from datanasc) = 1;

Flw.
_________________
Top System - www.topsystem.com.br
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
ale_v_teixeira
Aprendiz
Aprendiz


Registrado: Quarta-Feira, 1 de Novembro de 2006
Mensagens: 100

MensagemEnviada: Qua Jan 31, 2007 4:28 pm    Assunto: Responder com Citação

Blz Gustavo..

Era exatamente o que eu precisava.

Muito obrigado.
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
gustavocco
Administrador
Administrador


Registrado: Sexta-Feira, 6 de Fevereiro de 2004
Mensagens: 4253
Localização: Chapecó - SC

MensagemEnviada: Qui Fev 01, 2007 3:58 pm    Assunto: Responder com Citação

blz.. qqr coisa no possivel estamos ai.


Flw.
_________________
Top System - www.topsystem.com.br
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
ale_v_teixeira
Aprendiz
Aprendiz


Registrado: Quarta-Feira, 1 de Novembro de 2006
Mensagens: 100

MensagemEnviada: Qua Fev 07, 2007 9:22 am    Assunto: Responder com Citação

Bom dia amigão.

A sua ajuda me valeu muito. Só deixa eu tirar uma dúvida:
Eu tenho um Form onde o usuário escolhe um período através de 2 DateTimePicker. Só se o usuário escolhe, por exemplo, de 25/01/2007 à 05/02/2007, não funciona, creio pq o dia final (05) é menor q o dia inicial (25). É possível "corrigir" isso ou não. O usuário teria que escolher um período dentro do próprio m?es???

Desde já agradeço.
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
adriano_servitec
Colaborador
Colaborador


Registrado: Sexta-Feira, 30 de Janeiro de 2004
Mensagens: 17618

MensagemEnviada: Qua Fev 07, 2007 9:49 am    Assunto: Responder com Citação

Veja ai se ti ajuda amigo
1º Declare 2 variaveis tipo String = Inicio,Final;
2º Coloque 2 DateTimerPicker em seu form depois faça conforme o codigo a seguir:

Código:
Inicio := DateToStr(DateTimePicker1.Date); // Transforma o valor os
DateTimePicker para string
Final := DateToStr(DateTimePicker2.Date);


Close; // Sua query para a pesquisa
SQL.Clear;
SQL.Text := ('Select * From <<campodata>> where <<suatabela>>
Between :pinicial and :pfinal');

ParamByName('pinicial').Value := StrToDate(Inicio);
ParamByName('pfinal').Value   := StrToDate(Final);
Open;


Qualquer coisa vai postando aki.
_________________
Jogo seu smartphone? Acesse o link e confira.
https://play.google.com/store/apps/details?id=br.com.couldsys.rockdrum
https://play.google.com/store/apps/details?id=br.com.couldsys.drumsetfree
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
ale_v_teixeira
Aprendiz
Aprendiz


Registrado: Quarta-Feira, 1 de Novembro de 2006
Mensagens: 100

MensagemEnviada: Qua Fev 07, 2007 12:10 pm    Assunto: Responder com Citação

Adriano, é o seguinte, desse jeito q vc faz não vai filtrar as pessoas que fazem aniversário no período, pois nos DateTimePickers vai está "25/02/2007" e "05/03/2007", e as datas de nascimento dos clientes são de anos variados.OK?
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
Mostrar os tópicos anteriores:   
Novo Tópico   Responder Mensagem    ActiveDelphi - Índice do Fórum -> Delphi Todos os horários são GMT - 3 Horas
Página 1 de 1

 
Ir para:  
Enviar Mensagens Novas: Proibido.
Responder Tópicos Proibido
Editar Mensagens: Proibido.
Excluir Mensagens: Proibido.
Votar em Enquetes: Proibido.


Powered by phpBB © 2001, 2005 phpBB Group
Traduzido por: Suporte phpBB