VB: não compare datas com o operador '='

Visual Basic, VB .NET, ASP, Active X, Access, SQL Server

VB: não compare datas com o operador '='

Variáveis do tipo Date armazenam valores no formato de ponto flutuante, assim como variáveis Double, com a parte inteira para a data e a parte fracional para a hora. Sendo valores de ponto flutuante, valores tipo Data podem ser sujeitos a problemas de arredondamento, e por isto você não deve comparar duas variáveis do tipo Data usando o operador '='. Ao contrário, use a função DateDiff, ou avalie a diferença entre as duas datas e cheque se ela é menor que um valor muito pequeno, como abaixo:

If Abs(Date1 - Date2) < 1E-10 Then
    MsgBox "Mesma data"
End If

.