| Exibir mensagem anterior :: Exibir próxima mensagem |
| Autor |
Mensagem |
gutopanda Aprendiz

Registrado: Sábado, 30 de Março de 2013 Mensagens: 107 Localização: Botucatu
|
Enviada: Qui Mai 23, 2013 7:19 am Assunto: Extrair o mes do campo date - [RESOLVIDO] |
|
|
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 |
|
 |
leo_cj Colaborador

Registrado: Sábado, 26 de Março de 2011 Mensagens: 1335
|
Enviada: Qui Mai 23, 2013 8:57 am Assunto: |
|
|
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 |
|
 |
marcelo_tux Aprendiz

Registrado: Terça-Feira, 2 de Abril de 2013 Mensagens: 230 Localização: São José do Rio Preto - SP
|
Enviada: Qui Mai 23, 2013 10:51 am Assunto: Re: Extrair o mes do campo date |
|
|
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 |
|
 |
felipekk Colaborador


Registrado: Quinta-Feira, 5 de Janeiro de 2012 Mensagens: 1531 Localização: Pirapora - MG
|
Enviada: Qui Mai 23, 2013 6:43 pm Assunto: Re: Extrair o mes do campo date |
|
|
| marcelo_tux escreveu: |
Obs: As vezez vai p´recisar declarar na Uses : DateUtils. |
As vezes não, vai ter que usar.  _________________ "Esteja ligado em melhora contínua: hoje melhor do que ontem e pior do que amanhã."
 |
|
| Voltar ao Topo |
|
 |
marcelo_tux Aprendiz

Registrado: Terça-Feira, 2 de Abril de 2013 Mensagens: 230 Localização: São José do Rio Preto - SP
|
Enviada: Sex Mai 24, 2013 4:04 pm Assunto: Re: Extrair o mes do campo date |
|
|
| felipekk escreveu: | | marcelo_tux escreveu: |
Obs: As vezez vai p´recisar declarar na Uses : DateUtils. |
As vezes não, vai ter que usar.  |
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 |
|
 |
gutopanda Aprendiz

Registrado: Sábado, 30 de Março de 2013 Mensagens: 107 Localização: Botucatu
|
Enviada: Dom Mai 26, 2013 9:17 am Assunto: |
|
|
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 |
|
 |
|