segunda-feira, 26 de julho de 2010

Comparação entre duas datas

'Função que recebe duas datas e compara se a 1ª é a 2ª data de acordo com o tipo de operação(Maior,Igual)!
'A função retorna False se a 1ª data for menor ou diferente que a 2ª

Function TestaData(data1 As String, data2 As String, operacao As String)

On Error Goto Erro
Dim datA As NotesDateTime
Dim datB As NotesDateTime
Dim datAStr As String
Dim datBStr As String
'Pega as datas de criação dos documentos
Set datA = New NotesDateTime(data1)
Set datB = New NotesDateTime(data2)

TestaData = False

Select Case Operacao
Case "Maior"
If Cint(Year(datA.LSLocalTime) >Year(datB.LSLocalTime)) Then
TestaData = True
Elseif Cint(Month(datA.LSLocalTime)) > Cint(Month(datB.LSLocalTime)) Then
TestaData = True
Elseif Cint(Day(datA.LSLocalTime)) > Cint(Day(datB.LSLocalTime)) Then
TestaData = True
End If
Case "Igual"
If Cint(Year(datA.LSLocalTime) = Year(datB.LSLocalTime)) And Cint(Month(datA.LSLocalTime)) = Cint(Month(datB.LSLocalTime)) And Cint(Day(datA.LSLocalTime)) = Cint(Day(datB.LSLocalTime))Then
TestaData = True
End If
End Select
Exit Function

Erro:
Msgbox "TestaData - Erro na linha: " & Erl & " Erro: " & Error
End Function

Nenhum comentário:

Postar um comentário