Compara 2 fechas distintas en visual basic 6

Que tal tengo este inconveniente quisiera saber como le puedo hacer para comparar 2 fechas en visual basic 6, en un formulario tengo 2 textbox con los siguientes nombres text1 y text2 ambos reciben fecha, pero text1 siempre debe mostrar la fecha actual, y el text2 una fecha escrita por el usuario; yo puse esto en el formulario para que a la hora de ejecutar mi programa muestre la fecha " text1.text =date text2.text=date "pero lo que quiero realizar y quisiera que me ayudaran es lo siguiente, necesito saber como puedo hacer para que estos textbox solo acepten fecha en este formato dd/mm/aa si escribe en un formato diferente marque error aparte se deberá comparar que la fecha del text2 sea menor a la fecha de text1 bueno creo que eso es todo espero su ayuda

1 Respuesta

Respuesta
2
Te doy 2 opciones:
1.- Utilizar el control DTPicker [Menú: Proyecto > Componentes > Microsoft Windows Common Controls-2 6.0] que sirve especícamente para trabajar con formatos de fecha y hora válidos, con él no tendrías problema en los formatos y para comparar que una fecha es menor o mayor que otra pues sería "directo" [If DTPicker1 > DTPicker2 Then MsgBox "Error"].
2.- Si utilizas TextBox es un poquito más complejo, pero sí se puede hacer.
   2a.- Para conservar el formato de fecha te sugiero realizar lo siguiente en el evento LostFocus de los TextBox:
Private Sub Text1_LostFocus()
    Text1.Text = Format(Text1.Text, "dd/mm/yy")
End Sub
   2b.- Para validar las fechas púedes hacerlo al momento de presionar un botón:
Private Sub Command1_Click()
    If Not IsDate(Text1.Text) Or Not IsDate(Text2.Text) Then
        MsgBox "Alguna de las fechas escritas no es válida", _
        vbInformation, "Error"
    Else
        If CDate(Text1.Text) > CDate(Text2.Text) Then
            MsgBox "La fecha inicial es mayor que la fecha final del período", _
            vbInformation, "Error"
        Else
            'fechas validas, realizar otras tareas
        End If
    End If
End Sub
Espero que con esto puedas solucionar tu problema, pero si tienes alguna otra duda consúltame y la resolveremos.
Saludos desde México. Juan Pablo E.P.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas