Comparación de fecha

Hola al comparar fecha usando maskbox
Quiero comparar una fecha con formato dd/mm/yy con una dd/mm/yyyy y no me compara si es mayor o menor
Cualquier ayuda gracias
leandro
Respuesta
1
Por qué no separas los campos de cada fecha en 3 variables (día, mes y año).
suponte: Fecha1=22/10/02 y Fecha2=15/06/2002
Dim dia1,dia2,mes1,mes2,año1,año2 as integer
dia1=CInt(Mid(Fecha1,1,2))
dia2=CInt(Mid(Fecha2,1,2))
mes1=CInt(Mid(Fecha1,4,2))
mes2=CInt(Mid(Fecha2,4,2))
año1=CInt(Mid(Fecha1,7,2))
año2=CInt(Mid(Fecha2,7,4))
Y luego comparas primero que el año sea mayor o menor, luego el mes y finalmente el día.
Ok lo tengo como una opción pero no habría, o conoces otra manera
Gracias leandro
Pues yo siempre he usado esa opción. Para compara luego las 2 fechas utilizo esta función:
Function Comp_Fecha(cual) As Boolean
Dim cuenta1, cuenta2 As Byte
Dim dia_i, mes_i, año_i As Integer
Dim cad As String
Dim correcto, bisiesto As Boolean
correcto = False: bisiesto = False
cad = Mid(cual, 1, 2)
dia_i = Val(cad)
cad = Mid(cual, 4, 2)
mes_i = Val(cad)
cad = Right(cual, 2)
año_i = Val(cad)
cad = CStr(año_i / 4)
If InStr(1, cad, ",") = 0 Then 'Año bisiesto
bisiesto = True
End If
If dia_i >= 1 And dia_i <= 31 Then
If mes_i >= 1 And mes_i <= 12 Then
Select Case mes_i
Case 1
correcto = True
Case 2
If bisiesto Then
If dia_i <= 29 Then
correcto = True
End If
Else
If dia_i <= 28 Then
correcto = True
End If
End If
Case 3
correcto = True
Case 4
If dia_i <= 30 Then
correcto = True
End If
Case 5
correcto = True
Case 6
If dia_i <= 30 Then
correcto = True
End If
Case 7
correcto = True
Case 8
correcto = True
Case 9
If dia_i <= 30 Then
correcto = True
End If
Case 10
correcto = True
Case 11
If dia_i <= 30 Then
correcto = True
End If
Case 12
correcto = True
End Select
End If
End If
If Mid(cual, 3, 1) <> "/" Or Mid(cual, 6, 1) <> "/" Then
correcto = False
End If
Comp_Fecha = correcto
End Function
Muy buena justo lo que necesitaba, era otra pregunta que iba hacerte porque me viene joya para el bisiesto. Muchas gracias
leandro
Te dejo mi email, cualquier duda o ayuda no hay problema
[email protected]

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas