PROBLEMA COM DATA

USUARIO.EXCLUIDOS 05/12/2006 16:18:55
#188136
Aqui eu estou desenvolvendo um aplicação onde eu presciso armazenar a data no fomrmato dia do ano / ano como por exemplo 365/06 onde 356 = dia do ano e 06 = ano. Eu tb presciso armazenar a data em outro formato diferente no formato semana/ano por exemplo 52/06 ond 52 = semana e 06 = ano!!
Ah eu gostaria tambem que a barra que separa a data aparecesse quando o usuario for digitar!!!
vlw
USUARIO.EXCLUIDOS 05/12/2006 17:57:01
#188174
Cara, não sei se o VB tem funções para isso não... dia do ano e semana do ano...

Mas fiz duas funções aqui para retornar tais informações:

Public Function DiaAno(Data As Date) As Long
For i = 1 To Month(Data)
If i <> Month(Data) Then
DiaAno = DiaAno + Day(DateSerial(Year(Data), i + 1, 0))
Else
DiaAno = DiaAno + Day(Data)
End If
Next
End Function

[c]Public Function SemanaAno(Data As Date) As Long
Dim NumDias As Long
NumDias = DiaAno(Data)

SemanaAno = (NumDias - (NumDias Mod 7)) / 7
If NumDias Mod 7 > 0 Then
SemanaAno = SemanaAno + 1
End If
End Function



Referente a barra aparecer quando o usuário digitar, utilize o MaskEditBox, de uma procurada aqui no site que irá encontrar.

[]s
[/c]
F.A.S 05/12/2006 19:07:47
#188184
Resposta escolhida
Segue abaixo um exemplo.

Por Exemplo

Public Sub teste()

Dim dData1 As Double
Dim dData2 As Double
Data = CDate("5/12/2006")
dData1 = CDbl(Data)
dData2 = CDbl(DateSerial(Year(Data), 1, 1))

MsgBox "O dia do Ano na Data de Hoje =" & dData1 - dData2 & "/" & Mid(Year(Data), 3, 2)
MsgBox "A Semana do Ano na Data de Hoje =" & Int((dData1 - dData2) / 7) & "/" & Mid(Year(Data), 3, 2)

End Sub


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