Tela de aniversário
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
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
Curtidas 0
Respostas
Oscar Candido
23/11/2004
Amigo, creio que não seja a melhor forma, mas acho que pode te ajudar:
Espero ter ajudado
Um Abraço
if copy(datetostr(date),0,5) = copy(datetostr(data_da_tabela),0,5) then begin seus comandos ..... end;
Espero ter ajudado
Um Abraço
GOSTEI 0
Reginaldo174
23/11/2004
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;
Select * from nome_tabela where extract(month from campo_data) = :dataniver
coloque um Button e no evento onclick :
query1.parambyname(´dataniver´).value := date;
open;
GOSTEI 0
Marco Salles
23/11/2004
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
GOSTEI 0
Gandalf.nho
23/11/2004
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.
GOSTEI 0
Marco Salles
23/11/2004
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
GOSTEI 0
Emerson Nascimento
23/11/2004
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;
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;
GOSTEI 0
Marco Salles
23/11/2004
Beleza
:P
:P
GOSTEI 0
Marco Salles
23/11/2004
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:
: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:
GOSTEI 0