Solo fecha en textbox

Necesito que me des una ayuda en la programación dentro de un textbox, que solo se acepte fecha en este formato (dd/mm/yyyy) caso contrario aparezca error al ingresar el dato de la fecha.
1

1 Respuesta

11.600 pts. Visual Basic 6 y Access, Avanzado
Un gusto saludarte, discupa el retraso, anduve varios días sin conectarme..
Bueno, vamos a lo importante, te comento que NO hay forma estándar de controlar eso en los TextBox, pero yo hace tiempo me las ingenie para hacerlo y que te obligue a poner fecha SI O SI. Ahora bien, el único defecto que tiene el código es que permite ingresar fechas inválidas, siempre que haya 2 "/" y números, ya entenderás a lo que me refiero, y aún no me he dado tiempo para solucionarlo. Pienso que no eres un novato en Visual Basic 6, por lo tanto no seré tan simple en mis códigos, si no comprendes algo, puedo comentarlo todo para que te sea claro y ayudarte si alguna duda te ha quedado, ten en cuenta lo siguiente, para hacerlo, agrega un módulo, 1 TextBox y un Commandbutton, yo utilizaré los nombres por defecto, ya que NO todos programamos de la misma forma...
Comencemos:
Para el botón de comando
Private Sub Command1_Click()
Dim Fecha As Date
If VerificaFecha(Text1.Text) = True Then
   MsgBox "Fecha Invalida, ingrese otra", vbOKOnly + vbCritical, "Atencion!"
   Exit Sub
Else
   Fecha = Text1.Text
End If
End Sub

Luego en el módulo:
Option Explicit
Public FechaError As Date'sirve para controlar el error de la fecha
Public Function VerificaFecha(unaFecha As String) As Boolean
On Error GoTo FechaInvalida
VerificaFecha = False
FechaError = unaFecha
If ControlarParametros(unaFecha) = True Then GoTo FechaInvalida
Exit Function
FechaInvalida:
VerificaFecha = True
End Function
Public Function ControlarParametros(unaFecha As String) As Boolean
Dim FechaTemp As String
Dim TempFecha As String
ControlarParametros = False
FechaTemp = unaFecha
TempFecha = unaFecha
FechaTemp = Replace(FechaTemp, "/", "x")
If TempFecha = FechaTemp Then
   ControlarParametros = True
Else
   ControlarParametros = False
End If
End Function

Espero te sirva, y cualquier duda me la planteas,

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas