RE:validacion de cajas de texto
Este es un código que esta en este foro de una pregunta ya con algo de tiempo, espero te sirva....
Puedes adaptarlo para que sea solo texto lo que te acepte o solo números...
Function SoloNumeros(ByVal KeyAscii As Integer, ByVal Largo As Integer, ByVal LargoPermitido As Integer, ByVal SelStr As Integer, ByVal Texto_Escrito As String) As Integer
' Intercepta un codigo ASCII recibido admitiendo solamente
' caracteres numéricos, además:
' deja pasar sin afectar si recibe tecla de borrado o return
ide = InStr(Texto_Escrito, Chr(46))
If InStr(Texto_Escrito, Chr(46)) <> 0 Then
Punto = 1
Else
Punto = 0
End If
ide = InStr("0123456789.", Chr(KeyAscii))
If InStr("0123456789.", Chr(KeyAscii)) = 0 Then
SoloNumeros = 0
Else
If KeyAscii = 46 And Punto = 0 Then
SoloNumeros = KeyAscii
Punto = Punto + 1
Else
If KeyAscii <> 46 Then SoloNumeros = KeyAscii
End If
End If
' teclas especiales permitidas
If SoloNumeros <> 0 Then
If (Largo + 1) > LargoPermitido And SelStr = 0 Then
SoloNumeros = 0
End If
End If
If KeyAscii = 8 Then SoloNumeros = KeyAscii ' borrado atras
If KeyAscii = 13 Then SoloNumeros = KeyAscii ' return
If KeyAscii = 27 Then SoloNumeros = KeyAscii ' escape
If KeyAscii = 9 Then SoloNumeros = KeyAscii ' tab
End Function
Según he leído existe otra forma de validar, la cual es a través del evento KeyPress
Private Sub Text2_KeyPress(KeyAscii As Integer)
If KeyAscii <> {cualquiera de los caracteres permitidos} Then
KeyAscii=0
End if
End Sub
Puede haber otras formas mejores de validar lo que pidas, espera más opiniones y usa la que más te convenga.
Para capturar las fechas yo utilizo 3 combobox, en uno capturo los días, en otro los meses y en otro el año, al final valido que sea una fecha válida y ya luego la acepto, otra forma también es por medio del control llamado "Calendar"
Espero todo esto te sirva... Saludos