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

[0] Índice de Mensajes

Ir a la versión completa