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 

Extrair o mes do campo date - [RESOLVIDO]

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


Registrado: Sábado, 30 de Março de 2013
Mensagens: 107
Localização: Botucatu

MensagemEnviada: Qui Mai 23, 2013 7:19 am    Assunto: Extrair o mes do campo date - [RESOLVIDO] Responder com Citação

Estou começando a criar a parte de caixa do meu sistema onde precisarei encerrar movimentos por mes. No BD Firebird tenho um campo Data e outro Mes. A Data é inserida automaticamente porem o mes não sei como fazer isto. Precisarei tambem de uma pesquisa por mes para encerramento mensal, mas não tenho o minimo de ideia de como fazer isto.

Editado pela última vez por gutopanda em Ter Mai 28, 2013 5:13 pm, num total de 2 vezes
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular Endereço de AIM
leo_cj
Colaborador
Colaborador


Registrado: Sábado, 26 de Março de 2011
Mensagens: 1335

MensagemEnviada: Qui Mai 23, 2013 8:57 am    Assunto: Responder com Citação

Se esse campo mês for gravar o mesmo mês que estiver gravado no campo data, eu aconselho a usar somente o campo data, pois assim evita informações redundantes na mesma tabela, agora quanto ao problema, tem algumas formas de se resolver.

Uma delas é fazer isso pelo banco de dados, no firebird ficaria assim:
Código:
extract(month from campodata)


Exemplo:
Código:
Select extract(year from v.data) as Ano, extract(month from v.data) as Mês, extract(day from v.data) as Dia from Vendas v


Outra maneira, é fazer pelo delphi, que ficaria assim:
Código:
Declare a DateUtils no uses da unit
  procedure TForm1.SeparaData(Sender: TObject);
  var
    ano, mes, dia: word;
  begin
   DecodeDate(Data, ano, mes, dia);
  end;


depois disso é só utilizar a variável mes que ela terá o valor do mes da data que você passou
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
marcelo_tux
Aprendiz
Aprendiz


Registrado: Terça-Feira, 2 de Abril de 2013
Mensagens: 230
Localização: São José do Rio Preto - SP

MensagemEnviada: Qui Mai 23, 2013 10:51 am    Assunto: Re: Extrair o mes do campo date Responder com Citação

Faz asssim...
Quando for gravar na sua tabela de caixa.
Voce grava a data normalmente , e para gravar o mes no campo referido usa :
campo_mes := MonthOf(date);

campo_mes é o seu campo da tabela e no caso ai ele pega o mes da data atual.

Obs: As vezez vai p´recisar declarar na Uses : DateUtils.
_________________
Porgramador Delphi - Mobile
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular Enviar E-mail
felipekk
Colaborador
Colaborador


Registrado: Quinta-Feira, 5 de Janeiro de 2012
Mensagens: 1531
Localização: Pirapora - MG

MensagemEnviada: Qui Mai 23, 2013 6:43 pm    Assunto: Re: Extrair o mes do campo date Responder com Citação

marcelo_tux escreveu:

Obs: As vezez vai p´recisar declarar na Uses : DateUtils.

As vezes não, vai ter que usar. Laughing
_________________
"Esteja ligado em melhora contínua: hoje melhor do que ontem e pior do que amanhã."


Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
marcelo_tux
Aprendiz
Aprendiz


Registrado: Terça-Feira, 2 de Abril de 2013
Mensagens: 230
Localização: São José do Rio Preto - SP

MensagemEnviada: Sex Mai 24, 2013 4:04 pm    Assunto: Re: Extrair o mes do campo date Responder com Citação

felipekk escreveu:
marcelo_tux escreveu:

Obs: As vezez vai p´recisar declarar na Uses : DateUtils.

As vezes não, vai ter que usar. Laughing


Só disse as vezes, no caso dele ja utilizar a Classe para alguma outra coisa.
mas caso não, será necessario a inclusão.
_________________
Porgramador Delphi - Mobile
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular Enviar E-mail
gutopanda
Aprendiz
Aprendiz


Registrado: Sábado, 30 de Março de 2013
Mensagens: 107
Localização: Botucatu

MensagemEnviada: Dom Mai 26, 2013 9:17 am    Assunto: Responder com Citação

Ok pessoal, fiz da seguinte maneira:
Código:
DataModule1.SimpleDataSetCaixaEntradas.FieldByName('MES').AsInteger :=  MonthOf(date);


Tá funcionando. Obrigado a todos pela força!!
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular Endereço de AIM
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