RETORNAR MES
Amigos,
Estou desenvolvendo uma função que ira me retornar o numero de positivação de clientes no perÃodo de 6 meses.
Gostaria de pegar o mês atual
dim mesbase as date
mesbase = now
me.txtmesbase = format(mesbase, [Ô]MM[Ô])
Assim vou subtraindo até encontrar os os meses anteriores para minha pesquisa semestral, contudo, quando vira ano fica negativo.
Alguém conhece um procedimento para resolver este problema?
Estou desenvolvendo uma função que ira me retornar o numero de positivação de clientes no perÃodo de 6 meses.
Gostaria de pegar o mês atual
dim mesbase as date
mesbase = now
me.txtmesbase = format(mesbase, [Ô]MM[Ô])
Assim vou subtraindo até encontrar os os meses anteriores para minha pesquisa semestral, contudo, quando vira ano fica negativo.
Alguém conhece um procedimento para resolver este problema?
Tente isso vai te ajudar! Coloque dentro de CommandButton e verifica o resultado!!
Espero ter ajudado
Dim dataRetroativa as String
Dim dataAtual as String
dataAtual = Format$(Now, [Ô]dd/mm/yyyy[Ô])
dataRetroativa = DateAdd([Ô]m[Ô], -6, CDate(dataAtual))
MsgBox dataRetroativa
Espero ter ajudado
Sub CalculaMes()
[ô]-- Informa ao programa o nome dos meses em português.
Select Case IndMes
Case 1
NomeMes = [Ô]Janeiro[Ô]
NumDias = 31
Case 2
NomMes = [Ô]Fevereiro[Ô]
[ô]Bissexto é ano múltiplo de 4 e não de 100; ou múltiplo de 400
If (Ano Mod 4 = 0 And Ano Mod 100 <> 0) Or (Ano Mod 400 = 0) Then
NumDias = 29
Else
NumDias = 28
End If
Case 3
NomeMes = [Ô]Março[Ô]
NumDias = 31
Case 4
NomeMes = [Ô]Abril[Ô]
NumDias = 30
Case 5
NomeMes = [Ô]Maio[Ô]
NumDias = 31
Case 6
NomeMes = [Ô]Junho[Ô]
NumDias = 30
Case 7
NomeMes = [Ô]Julho[Ô]
NumDias = 31
Case 8
NomeMes = [Ô]Agosto[Ô]
NumDias = 31
Case 9
NomeMes = [Ô]Setembro[Ô]
NumDias = 30
Case 10
NomeMes = [Ô]Outubro[Ô]
NumDias = 31
Case 11
NomeMes = [Ô]Novembro[Ô]
NumDias = 30
Case 12
NomeMes = [Ô]Dezembro[Ô]
NumDias = 31
End Select
CalculaDias
End Sub
Participantes não estão entendendo o sentido do post.
Melhor você colocar seu código, ai os participantes poderão
fazer algo por você.
Valeu
Melhor você colocar seu código, ai os participantes poderão
fazer algo por você.
Valeu
quando o mês for menor que 1 tente somar 12 ao mês e tirar 1 ao ano....
No exemplo do Filman, basta colocar numa variável o nº de meses desejados para voltar. Posteriormente, vincule seus dados através de uma instrução SQL,
de forma que, após a msgbox apontar a data do relatório, os dados seriam exibidos.
(no exemplo, mude a linha <dataRetroativa = DateAdd([Ô]m[Ô], -6, CDate(dataAtual)) para:
dataRetroativa = DateAdd([Ô]m[Ô], - Variável, CDate(dataAtual))...
de forma que, após a msgbox apontar a data do relatório, os dados seriam exibidos.
(no exemplo, mude a linha <dataRetroativa = DateAdd([Ô]m[Ô], -6, CDate(dataAtual)) para:
dataRetroativa = DateAdd([Ô]m[Ô], - Variável, CDate(dataAtual))...
Citação:Dim dataRetroativa as String
Dim dataAtual as String
dataAtual = Format$(Now, [Ô]dd/mm/yyyy[Ô])
dataRetroativa = DateAdd([Ô]m[Ô], -6, CDate(dataAtual))
MsgBox dataRetroativa
Aonde se lê [Ô]-6[Ô] você coloca uma variável, se for o caso, com a quantidade de meses que você quer retroagir.
Continuando o Exemplo do Filman....
E de um select na sua tabela, com os campos que você precisa ou nela inteira.
Select * from Tabela Where CampoData Between [ô] [Ô] & dataRetroativa & [Ô] [ô] and [ô] [Ô] & dataAtual & [Ô] [ô]
Outro possibilidade, caso você queria pegar do 1º dia do mês retroagido.
Dim dataRetroativa as String
Dim dataAtual as String
dataAtual = Format$(Now, [Ô]dd/mm/yyyy[Ô])
dataRetroativa = DateAdd([Ô]m[Ô], -6, CDate(dataAtual))
dataRetroativa = Format(dataRetroativa,[Ô]MM/YYYY[Ô])
dataRetroativa = [Ô]01/[Ô] & dataRetroativa
Por que isso?
Se você fizer sua no dia 10/12/2012 a variável [Ô]dataRetroativa[Ô] será 10/06/2012.
Mas se você quer que traga tudo a partir do dia 1 terá quer formata-lá.
Se o campo em sua tabela for do tipo DATE mude as variáveis de STRING para DATE antes de rodar o select
Dim dataRetroativa as String
Dim dataAtual as String
dataAtual = Format$(Now, [Ô]dd/mm/yyyy[Ô])
dataRetroativa = DateAdd([Ô]m[Ô], -6, CDate(dataAtual))
dataRetroativa = Format(dataRetroativa,[Ô]MM/YYYY[Ô])
dataRetroativa = [Ô]01/[Ô] & dataRetroativa
Por que isso?
Se você fizer sua no dia 10/12/2012 a variável [Ô]dataRetroativa[Ô] será 10/06/2012.
Mas se você quer que traga tudo a partir do dia 1 terá quer formata-lá.
Se o campo em sua tabela for do tipo DATE mude as variáveis de STRING para DATE antes de rodar o select
Vejam o que vocês acham disto.
Teste.
Private Sub Command1_Click()
Text5.Text = Text5 + 30
Text4.Text = Date - Val(Text5.Text)
Text3.Text = Format(Text4.Text, [Ô]mmmm[Ô])
Text2.Text = Format(Text4.Text, [Ô]mm[Ô])
End Sub
Private Sub Form_Load()
Text5.Text = 0
End Sub
Teste.
Private Sub Command1_Click()
Text5.Text = Text5 + 30
Text4.Text = Date - Val(Text5.Text)
Text3.Text = Format(Text4.Text, [Ô]mmmm[Ô])
Text2.Text = Format(Text4.Text, [Ô]mm[Ô])
End Sub
Private Sub Form_Load()
Text5.Text = 0
End Sub
Citação::
Vejam o que vocês acham disto.
Teste.
Private Sub Command1_Click()
Text5.Text = Text5 + 30
Text4.Text = Date - Val(Text5.Text)
Text3.Text = Format(Text4.Text, [Ô]mmmm[Ô])
Text2.Text = Format(Text4.Text, [Ô]mm[Ô])
End Sub
Private Sub Form_Load()
Text5.Text = 0
End Sub
Faz assim.
Private Sub Command1_Click()
Text5.Text = Text5 + 30
Text4.Text = DateAdd([Ô]d[Ô], -Val(Text5.Text), Date)
Text3.Text = Format(Text4.Text, [Ô]mmmm[Ô])
Text2.Text = Format(Text4.Text, [Ô]mm[Ô])
End Sub
Evite ficar fazendo [Ô]GATOS[Ô], isso deixa o código sujo.
Para que fazer isso: [Ô][txt-color=#e80000]Date - Val(Text5.Text)[/txt-color][Ô] se tem uma função que já efetua esse cálculo.
Veldrame. Então que fez o gato foi [txt-color=#e80000] LuÃs Carlos Ballaminut[/txt-color] porque foi retirado de uma apostila de vb
feita por ele.
Já que foi grosseiro da sua parte,chinga o [txt-color=#e80000] LuÃs Carlos Ballaminut[/txt-color] porque peguei da apostila dele.
Valeu Maluco.
Inté.
feita por ele.
Já que foi grosseiro da sua parte,chinga o [txt-color=#e80000] LuÃs Carlos Ballaminut[/txt-color] porque peguei da apostila dele.
Valeu Maluco.
Inté.
Tópico encerrado , respostas não são mais permitidas