como capturar o mes de um campo

Delphi

22/06/2004

tenho o campo ´vencimento´ numa tabela (formato dd/mm/aaaa). no botao ´gravar´ do form, gostaria que no campo ´mes´ (integer) fosse armazenado o numero do mes digitado no campo ´vencimento´.
Ex se VENCIMENTO = 22/12/2004 entao o campo MES = 12


Bebeketo

Bebeketo

Curtidas 0

Respostas

Edccpcoc2003

Edccpcoc2003

22/06/2004

Você pode selecionar a tabela onde está o campo vencimento, e dar um update nela, passando para o campo mês o comando

Extract(Month from Vencimento)

Espero ter ajudado



GOSTEI 0
Btovix

Btovix

22/06/2004

hei!!! esse tópico tem uma dúvida parecida com a minha.. só que eu quero é o dia ao invés do mês alguém sabe como fazer isso??

[]´s :wink:


GOSTEI 0
Vinicius2k

Vinicius2k

22/06/2004

Colega,

Vc tem duas alternativas :

1 - pode fazer uso da função [b:ed8eba7d72]MonthOf[/b:ed8eba7d72] do Delphi para extrair o mes para uma variável e/ou gravá-la no banco, por exemplo:
[code]Tabela.FieldByName(´mes´).AsInteger:= MonthOf(date);
Para uso das funções DayOf, MonthOf e YearOf, acrescente a unit [b:ed8eba7d72]DateUtils[/b:ed8eba7d72] na lista de uses...

2 - se este campo na tabela está sendo gravado apenas para que sejam feitos filtros, etc... pode não existir necessidade de que ele exista, pois é possível usar instruções SQL que trariam apenas os registros desejados considerando uma data com os elementos separados, por exemplo, uma rotina de consulta de aniversariantes do dia:
[code]uses DateUtils;

procedure TForm1.FormActivate(Sender: TObject);
begin
with Query1 do
begin
Close;
SQL.Clear;
SQL.Add(´select * from CLIENTES´);
SQL.Add(´where EXTRACT( DAY from DATANASCIMENTO ) = :dia´);
SQL.Add(´and EXTRACT( MONTH from DATANASCIMENTO ) = :mes´);
SQL.Add(´order by NOME´);
ParamByName(´dia´).AsInteger:= DayOf(date);
ParamByName(´mes´).AsInteger:= MonthOf(date);
Prepared:= True;
Open;
end;
end;[/code]

Espero ter ajudado...
T+


GOSTEI 0
Btovix

Btovix

22/06/2004

Muito obrigado usei sua segunda alternativa e ela me atendeu completamente ;) abração!!


GOSTEI 0
POSTAR