DUVIDA TRABALHANDO COM DATAS

ACCIOLLY 22/05/2013 11:06:18
#423840
bom dia VBMANÍACOS

Para calcular um intervalo de datas e saber quantas semanas tem entre elas eu uso a sintaxe

DateDiff([Ô]ww[Ô], [Ô]data_inicial[Ô], [Ô]data_final[Ô])

e para saber quantos dias da última semana se passaram para que o resultado final fique [Ô]4 semanas e 5 dias[Ô]?
KERPLUNK 22/05/2013 11:23:14
#423846
Calcule o número em dias
Encontre o MMC do resultado para 7
O resultado do MMC é o número de semanas e o resto o número de dias

Matemática básica, amigo...
ACCIOLLY 22/05/2013 11:53:11
#423849
caro kerplunk
o mmc de 7 é 7mesmo!
não estou entendendo ainda. rsrsrssrrs
KERPLUNK 22/05/2013 13:46:18
#423856
De 10/02/2013 até 22/05/2013 são 101 dias
101/7 são, arrendondados, 14 semanas.
14 semanas vezes 7 são 98 dias.
101 menos 98 são 3, ou seja 14 semanas e 3 dias
ACCIOLLY 22/05/2013 15:01:45
#423866
caro kerpluk deu certo aki
só dei uma alterada pra conseguir o q eu queria pois se eu colocasse por exemplo a data de 25/01/2013 até agora, o resultado em dias dava -2. então tive q criar uma variável que diminuisse o número de semanas em 1 e outra pra dar o número de dias diminuindo 7 por -2 que dariam 5 isso se o número de dias for menor do q 0 é claro. rsrsrs

abaixo segue o que eu fiz:

Private Sub Command1_Click()
Dim dias As Integer
Dim semanas As Integer
Dim diaemsemanas As Integer
Dim diferenca As Integer

dias = DateDiff([Ô]d[Ô], Text1.Text, Now)

Text2.Text = dias

semanas = dias / 7

Text3.Text = semanas

diaemsemanas = semanas * 7

diferenca = dias - diaemsemanas

If diferenca < 0 Then
semanas = semanas - 1
diferenca = 7 + diferenca
Text3.Text = semanas
Text4.Text = diferenca
Else
Text4.Text = diferenca
End If



End Sub


valeu aí brother!
MARCELO.TREZE 22/05/2013 17:08:38
#423887
Resposta escolhida
só para melhorar a função use mod e reduza seu código

Dim Semanas As Integer, Dias As Integer
Dim Intervalo As Integer
Intervalo = DateDiff([Ô]d[Ô], CDate([Ô]10/02/2013[Ô]), CDate([Ô]22/05/2013[Ô]))
Dias = Intervalo Mod 7 [txt-color=#007100][ô] Retorna o resto da quantidade de dias dividido por 7[/txt-color]
Semanas = (Intervalo - Dias) / 7
MsgBox Semanas & [Ô] Semanas e [Ô] & Dias & [Ô] dias[Ô]



Tópico encerrado , respostas não são mais permitidas