Validar textbox y MaskEdBox
Tengo un par de problemitas uno es que quiero validar un textbox de la siguiente manera. Quiero ingresar un cedula "8 dígitos" en la caja de texto ya le coloque MaxLength = a 8 máximo, pero también quiero que cuando se haga click en la caja de texto me valide si hay 8 dígitos ingresados yo coloque este código:
Private Sub Text_Cedula_Validated()
If Text_Cedula.MaxLength <= 8 Then
MsgBox "La cedula debe tener 8 Digitos"
Else
End If
End Sub
pero no me hace nada no se que evento utilizar en el texbox!
El otro problemita que tengo es que quiero validar un MaskEdBox con la fecha. Yo ya valide que la fecha sea correcta con esta función:
Function Age(varBirthDate As Variant) As Integer .... Esta es para el año
Dim varAge As Variant
If IsNull(varBirthDate) Then Age = 0: Exit Function
varAge = DateDiff("yyyy", varBirthDate, Now)
If Date < DateSerial(Year(Now), Month(varBirthDate), _
Day(varBirthDate)) Then
varAge = varAge - 1
End If
Age = CInt(varAge)
End Function
Function AgeMonths(ByVal StartDate As String) As Integer..... Y esta es para los meses
Dim tAge As Double
tAge = (DateDiff("m", StartDate, Now))
If (DatePart("d", StartDate) > DatePart("d", Now)) Then
tAge = tAge - 1
End If
If tAge < 0 Then
tAge = tAge + 1
End If
AgeMonths = CInt(tAge Mod 12)
End Function
y en el evento para validar:
If IsDate(MaskEdBox_naci.FormattedText) = False Then
'Opcional: podemos mostrar un mensaje
MsgBox "La Fecha de Nacimiento no es Valida", vbExclamation, "Atencion"
MaskEdBox_naci.Text = "__/__/____"
MaskEdBox_naci.SetFocus
Cancel = True
Else
Todo bien hasta ahí pero quiero que valide con la fecha actual de la pc, es decri que no puede ingresar un fecha que todavía no ha llegado, superior a la actual
esta es una aplicación para mi uni si me puedes ayudar te lo agradecería...
Private Sub Text_Cedula_Validated()
If Text_Cedula.MaxLength <= 8 Then
MsgBox "La cedula debe tener 8 Digitos"
Else
End If
End Sub
pero no me hace nada no se que evento utilizar en el texbox!
El otro problemita que tengo es que quiero validar un MaskEdBox con la fecha. Yo ya valide que la fecha sea correcta con esta función:
Function Age(varBirthDate As Variant) As Integer .... Esta es para el año
Dim varAge As Variant
If IsNull(varBirthDate) Then Age = 0: Exit Function
varAge = DateDiff("yyyy", varBirthDate, Now)
If Date < DateSerial(Year(Now), Month(varBirthDate), _
Day(varBirthDate)) Then
varAge = varAge - 1
End If
Age = CInt(varAge)
End Function
Function AgeMonths(ByVal StartDate As String) As Integer..... Y esta es para los meses
Dim tAge As Double
tAge = (DateDiff("m", StartDate, Now))
If (DatePart("d", StartDate) > DatePart("d", Now)) Then
tAge = tAge - 1
End If
If tAge < 0 Then
tAge = tAge + 1
End If
AgeMonths = CInt(tAge Mod 12)
End Function
y en el evento para validar:
If IsDate(MaskEdBox_naci.FormattedText) = False Then
'Opcional: podemos mostrar un mensaje
MsgBox "La Fecha de Nacimiento no es Valida", vbExclamation, "Atencion"
MaskEdBox_naci.Text = "__/__/____"
MaskEdBox_naci.SetFocus
Cancel = True
Else
Todo bien hasta ahí pero quiero que valide con la fecha actual de la pc, es decri que no puede ingresar un fecha que todavía no ha llegado, superior a la actual
esta es una aplicación para mi uni si me puedes ayudar te lo agradecería...
4 Respuestas
Respuesta
1
Respuesta de deathwatch
1
Respuesta de Raul Hernandez
1
Respuesta de emperador20