Ir para conteúdo

POWERED BY:

Arquivado

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

DackAle

Meses

Recommended Posts

E ae galeraSeguinte preciso criar uma função que complete os meses entre dois meses exemplovo ter o mês 10 (outubro) e 03 (março) e precisava completar os meses entre esses dois meses exemplo10,11,12,01,02,03mas não consegui pensar em nada, to travado ahuahuauha é o sonoAlguem tem alguma ideia pra fazer isso ?Abraços pessoALL

Compartilhar este post


Link para o post
Compartilhar em outros sites

Veja se é isso...

 

TODOSMESES = ""If Right(MESINICIAL, 4) = Right(MESFINAL, 4) Then   For I = CInt(Left(MESINICIAL, 2)) To CInt(Left(MESFINAL, 2))	  TODOSMESES = TODOSMESES & "," & Right("0" & I, 2) & Right(MESINICIAL, 4)   NextElseIf Right(MESINICIAL, 4) < Right(MESFINAL, 4) Then   For I = CInt(Left(MESINICIAL, 2)) To 12	  TODOSMESES = TODOSMESES & "," & Right("0" & I, 2) & Right(MESINICIAL, 4)   Next      If CInt(Right(MESINICIAL, 4)) + 1 < CInt(Right(MESFINAL, 4)) Then	  For I = CInt(Right(MESINICIAL, 4)) + 1 To CInt(Right(MESFINAL, 4)) - 1		 For J = 1 To 12			TODOSMESES = TODOSMESES & "," & Right("0" & J, 2) & I		 Next	  Next   End If      For I = 1 To CInt(Left(MESFINAL, 2))	  TODOSMESES = TODOSMESES & "," & Right("0" & I, 2) & Right(MESFINAL, 4)   NextEnd IfTODOSMESES = Mid(TODOSMESES, 2)

MESINICIAL e MESFINAL tem de estar no padrão MMAAAA

 

Exemplos: 012002, 052003, 122004, 062005

 

E logico o MESFINAL deve ser maior que MESINICIAL

Compartilhar este post


Link para o post
Compartilhar em outros sites

tkx Mario, vou testar amanhã cedo e do um toque, valeu =DD

OK :natalw00t:

Compartilhar este post


Link para o post
Compartilhar em outros sites
MESINICIAL = 102005MESFINAL = 022006TODOSMESES = ""If Right(MESINICIAL, 4) = Right(MESFINAL, 4) Then   For I = CInt(Left(MESINICIAL, 2)) To CInt(Left(MESFINAL, 2))	  TODOSMESES = TODOSMESES & "," & Right("0" & I, 2) & Right(MESINICIAL, 4)   NextElseIf Right(MESINICIAL, 4) < Right(MESFINAL, 4) Then   For I = CInt(Left(MESINICIAL, 2)) To 12	  TODOSMESES = TODOSMESES & "," & Right("0" & I, 2) & Right(MESINICIAL, 4)   Next      If CInt(Right(MESINICIAL, 4)) + 1 < CInt(Right(MESFINAL, 4)) Then	  For I = CInt(Right(MESINICIAL, 4)) + 1 To CInt(Right(MESFINAL, 4)) - 1		 For J = 1 To 12			TODOSMESES = TODOSMESES & "," & Right("0" & J, 2) & I		 Next	  Next   End If      For I = 1 To CInt(Left(MESFINAL, 2))	  TODOSMESES = TODOSMESES & "," & Right("0" & I, 2) & Right(MESFINAL, 4)   NextEnd IfTODOSMESES = Mid(TODOSMESES, 2)Response.Write TODOSMESES
E ele me resultou

102005,112005,122005,012006,022006,032006,042006,052006,062006,072006,082006,092006,102006,112006,122006,132006,142006,152006,162006,172006,182006,192006,202006,212006,222006

Meiooo errado :P

Compartilhar este post


Link para o post
Compartilhar em outros sites

acho que o erro ta aquiMESINICIAL = 102005MESFINAL = 022006voce colocou sem aspas ent'ao ele entende como numero, saca???logo na pratica ta passando isso..MESINICIAL = 102005MESFINAL = 22006o primeiro acaba dando certo mas o segundo o mes vira 22 (LEFT 2) e o ano continua certo (2006 - RIGTH 4)tente fazer isso... colocar entre aspas para ele entender como string que deve funcionar...

Compartilhar este post


Link para o post
Compartilhar em outros sites

PERFEITODeu certinho esse código =DValeu mesmo mario :D Abraços

de nada tiozinho :natalw00t:

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.