Programación General > Visual Basic 6.0 e inferiores
Validar Fechas
(1/1)
Pablo.ar:
Hola a todos como estan, el motivo de mi consulta consiste en aprender a validar fechas dentro de un textbox y un mskedidt.
;)
ROBER.29:
Aquí te pongo una función que hice hace tiempo para validar fechas, la función la utilice en ASP o sea que seguro que hay alguna variable que no he declarado y que me falta de poner el tipo de dato pero eso ya lo revisas y lo pones tú.
--- Código: Text --- 'Función que comprueba si una fecha es válida. Devuelve:' 0 -> si es nula o esta vacía' 1 -> Si la fecha es incorrecta' 2 -> Si la fecha es válida ' Parámetros:' Fecha -> contiene la fecha que vamos a validar' Tipo -> Variable que determina el tipo de fecha a validar. Puede ser:' 0 -> Cualquier fecha' 1 -> Entre el año actual menos 100 Function Validar_Fecha(Fecha, Tipo) As byte Dim Con, Dia, Mes, Anyo If Trim(Fecha) <> "" Then If Len(Fecha) <> 10 Then Validar_Fecha = 1 Exit Function End If If Mid(Fecha, 3, 1) <> "/" And Mid(Fecha, 6, 1) <> "/" Then Validar_Fecha = 1 Exit Function End If For Indice_Fecha = 1 To Len(Fecha) If Indice_Fecha <> 3 And Indice_Fecha <> 6 Then If Not IsNumeric(Mid(Fecha, Indice_Fecha, 1)) Then Validar_Fecha = 1 Exit Function End If End If Next Dia = CInt(Mid(Fecha, 1, 2)) Mes = CInt(Mid(Fecha, 4, 2)) Anyo = CInt(Mid(Fecha, 7, 4)) Select Case Mes Case 1, 3, 5, 7, 8, 10, 12: If Dia < 1 Or Dia > 31 Then Validar_Fecha = 1 Exit Function End If Case 4, 6, 9, 11: If Dia < 1 Or Dia > 30 Then Validar_Fecha = 1 Exit Function End If Case 2: If ((Anyo Mod 4) = 0 Or (Anyo Mod 100) = 0) And (Anyo Mod 400) <> 0 Then If Dia < 1 Or Dia > 29 Then Validar_Fecha = 1 Exit Function End If Else If Dia < 1 Or Dia > 28 Then Validar_Fecha = 1 Exit Function End If End If Case Else: If Mes < 1 Or Mes > 12 Then Validar_Fecha = 1 Exit Function End If End Select If Anyo < (Year(Now) - 100) And Tipo = 1 Then Validar_Fecha = 1 Exit Function End If Validar_Fecha = 2 Else Validar_Fecha = 0 Exit Function End If Validar_Fecha = 2End Function
Espero que te sirva.
Saludos.
Brroz:
Hola.
También puedes utilizar IsDate(Expresión).
--- Código: Text --- Dim MiFecha, TuFecha, SinFecha, MiPruebaMiFecha = "12 febrero 1969": TuFecha = #2/12/69#: SinFecha = "Hola"MiPrueba = IsDate(MiFecha) ' Devuelve True.MiPrueba = IsDate(TuFecha) ' Devuelve True.MiPrueba = IsDate(SinFecha) ' Devuelve False.
Chao.
Navegación
Ir a la versión completa