Fórum Tela de aniversário #259498

23/11/2004

0

Olá pessoal,

Gostaria de um auxílio, estou elaborando uma tela que vai funcionar como uma agenda de aniversário, esse form vai pegar os dados de uma tabela de cadastro e ter que me avisar quem é o aniversariante do dia, mas não sei elaborar uma rotina para isso e nem que componente usar. Estou usando uma Tablle; Data Source; Bde e Paradox.
Então é isso, que comando e que componente devo usar.

Fabiano Ferreira
fb.repres@uol.com.br


Ffb

Ffb

Responder

Posts

23/11/2004

Oscar Candido

Amigo, creio que não seja a melhor forma, mas acho que pode te ajudar:
     if  copy(datetostr(date),0,5) =  copy(datetostr(data_da_tabela),0,5) then
     begin
          seus comandos .....
     end;

Espero ter ajudado
Um Abraço


Responder

Gostei + 0

23/11/2004

Reginaldo174

Utilize uma query... na propriedade SQL coloque

Select * from nome_tabela where extract(month from campo_data) = :dataniver


coloque um Button e no evento onclick :

query1.parambyname(´dataniver´).value := date;
open;


Responder

Gostei + 0

23/11/2004

Marco Salles

Estou usando uma Tablle; Data Source; Bde e Paradox.


Eu acho que Paradox Não suporta a função[b:fc881c6157] Extract[/b:fc881c6157] Diretamente :cry: :cry: :cry:

Em Outro Tópico , [b:fc881c6157]Parecido[/b:fc881c6157] Com este assunto, o Nosso amigo [b:fc881c6157]Adilson[/b:fc881c6157] Escreveu:

O que fiz foi apenas criar uma view para possibilitar trabalhar com o BDE utilizando comando não aceitos diretos com tabelas Paradox,DBase. Vamos dizer que necessito trazer a somatória de um valor por mes/ano entre um intervalo de ano. O primeiro passo é criar uma query, com qualquer editor, que nos traga os dados necessários. Ex: SELECT EXTRACT(MONTH FROM CAMPODATA) AS MES, // Estou trazendo apenas o mes da data EXTRACT(YEAR FROM CAMPODATA) AS ANO, // Estou trazendo apenas o ano da data VALOR // Estou trazendo o valor que será somado FROM MINHATABELA O segundo passo é salvar esta query. Ela será salva no mesmo diretório onde se encontra a sua tabela. Esta query será apenas um arquivo texto com a extensão ´.sql´. O terceiro passo é utilizar esta view. Então em seu projeto coloque uma query com o seguinte comando sql. SELECT MES, ANO, SUM(VALOR) FROM MINHAVIEW.SQL WHERE ANO BETWEEN 2000 AND 2004 GROUP BY MES, ANO ORDER BY ANO, MES Espero que eu tenha sido mais claro. Qualquer dúvida me avise.


Eu ainda nao tive tempo de testar esta dica :cry: ... Mas pelo que tenho [b:fc881c6157]observado[/b:fc881c6157] , usar a instrução [b:fc881c6157]Extract[/b:fc881c6157] Diretamente Com o Banco [b:fc881c6157]Paradox[/b:fc881c6157], Da [b:fc881c6157]erro[/b:fc881c6157] :cry: :cry:

Deixo aqui esta observação, sem maiores pretenções.. Qualquer um que quiser comentar , ou que ja tenha testado a dica , por favor, sianta-se a vontade... :P :P :P :P :P


Responder

Gostei + 0

23/11/2004

Gandalf.nho

A função EXTRACT funciona com o Paradox sim, inclusive já usei. Dê uma olhada no arquivo LocalSQL.hlp que acompanha o BDE que você vai ver.


Responder

Gostei + 0

23/11/2004

Marco Salles

A função EXTRACT funciona com o Paradox sim, inclusive já usei.


eu , nao dise que nao funciona

eu disse que , tenho observado , que nao funciona [b:1149843605]Diretamente[/b:1149843605]

Eu acho que Paradox Não suporta a função Extract Diretamente


Mas , como eu disse , antes , eu nunca tinha testado, então resolvi Testar
Peguei , logo uma deixa do Emerson

http://delphiforum.icft.com.br/forum/viewtopic.php?t=4348&highlight=aniversario

Que Passou a seguinte Dica:
Mais fácil: 

Coloque numa query: 
Query.Close; 
Query.SQL.Clear; 
Query.SQL.Add(´Select * from NomeSuaTabela where EXTRACT(MONTH from NomeSeucampo) = :MES´); 

Depois passe o mês desejado para a query: 
Query.ParamByName(´MES´).AsInteger := StrToInt( FormatDateTime( ´MM´,Date ) ); 

Agora é só abrir a query: 
Query.Open;


E realmente Funcionou :P :P :P :P
Bom Saber :P :P :P :P


Responder

Gostei + 0

23/11/2004

Emerson Nascimento

e se vc quiser saber quem são os aniversariantes do dia, utilize, juntamente com a extração do mês, a extração do dia:

Query.Close;
Query.SQL.Clear;
Query.SQL.Add(´Select * from NomeSuaTabela where EXTRACT(MONTH from NomeSeucampo) = :MES´);
Query.SQL.Add(´and EXTRACT(DAY from NomeSeucampo) = :DIA´);

Depois passe os parâmetros para a query:
Query.ParamByName(´MES´).AsInteger := StrToInt( FormatDateTime( ´MM´,Date ) );
Query.ParamByName(´DIA´).AsInteger := StrToInt( FormatDateTime( ´DD´,Date ) );

Agora é só abrir a query:
Query.Open;


Responder

Gostei + 0

23/11/2004

Marco Salles

Beleza
:P


Responder

Gostei + 0

03/12/2004

Marco Salles

emerson , o seu código no evento de um botão e [b:99f4c795a2]d+[/b:99f4c795a2]

:idea: :idea: mas como se faz para colocar esta mesma idéia no [b:99f4c795a2]String List Editor[/b:99f4c795a2].. Isto é, na Propiedade[b:99f4c795a2] sql [/b:99f4c795a2]do Objecto Inspector Da Query.. Com seria o Código???? :cry: :cry: :cry:

Obrigado + Uma vez :lol: :lol: :lol:


Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar