Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

4.b

Como capturar a data do mês atual, do próximo mês e do mês anterior

Recommended Posts

Olá, estou montando uma página para listar todos os registros por data, preciso na primeira página exibir os registros do mes atual, então fiz o seguinte:

 

If Request("data_mes") = "" Then

  data = year(date) &"/"& month(date)	 'Se não tivermos nenhuma data informada, listar registros da data do mes atual
  data2 = DatePart("yyyy", Data)& "-" &Right("0" & (DatePart("m", Data)+1),2)	'aqui eu pego a data atual e +1 no mês para exibir o mes seguinte
  
Else

  mes = Request("data_mes")   'Pegando o mes informado
  If Request("data_ano") = "" Then	'Verifica se o ano foi informado ou nao
	data = year(date) &"/"& Request("data_mes")	 'Se o ano nao foi informado ele monta a data de pesquisa com o ano atual e o mes informado
  Else
	data = Request("data_ano") &"/"& Request("data_mes")   'Se o ano foi informado ele monta a data de pesquisa com o ano e mes informados
  End If
  data2 = DatePart("yyyy", Data)& "-" &Right("0" & (DatePart("m", Data)+1),2)

End 

'Intrução Sql
Sql = "SELECT * FROM financas_contas WHERE data_vencimento >= '"&data&"' and data_vencimento < '"&data2&"'"

O problema disso tudo é que quando chegamos no mes 2008-12, ao somar +1 ao invés de ir para 2009-01 ele vai pra 2008-13.

Que eu saiba ainda nao temos o mes 13 né?

 

Então, e somar +1 na data inteira não funcionou tipo: <%data_proximomes = date + 1%>

 

Alguem sabe uma forma melhor para pegar a data de hoje tipo 2008-08 e apartir dela capturar a data do mes seguinte (2008-09) e do mes anterior (2008-07).

 

Obrigado

Compartilhar este post


Link para o post
Compartilhar em outros sites

voce precisa usar a funcao DATEADD

 

junte ao mes que esta trabalhando o dia 1 e a funcao para ir para a proxima data e a anterior

 

PROXIMADATA = DATEADD("m",1,"01/" & MONTH(NOW) & "/" & YEAR(NOW))

ANTERIORDATA = DATEADD("m",-1,"01/" & MONTH(NOW) & "/" & YEAR(NOW))

 

depois voce retira o mes e o ano e usa como quiser

Compartilhar este post


Link para o post
Compartilhar em outros sites

Obrigado mário, só uma coisa... como não exibir o dia aqu?

PROXIMADATA = DATEADD("m",1,"01/" & MONTH(NOW) & "/" & YEAR(NOW))

Compartilhar este post


Link para o post
Compartilhar em outros sites

pra não exibir o dia, melhor fazer por fora pois ele não vai calcular: veja isso!

 

PROXIMADATA = DATEADD("m",1,"01/" & MONTH(NOW) & "/" & YEAR(NOW))
PROXIMADATA_FINAL = MONTH(PROXIMADATA) & "/" & YEAR(PROXIMADATA)

Compartilhar este post


Link para o post
Compartilhar em outros sites

voce monta o que precisa exibir como o ted colocou

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.