Ver Mensaje Individual
  #7 (permalink)  
Antiguo 09/06/2012, 02:51
Avatar de pkj
pkj
 
Fecha de Ingreso: julio-2006
Ubicación: Órbita sincrónica
Mensajes: 899
Antigüedad: 17 años, 8 meses
Puntos: 29
Respuesta: limitar textbox caracteres alfanumericos

No se que intentas, pero asi por encima veo muchos errores:

Private Sub Duracion_KeyPress(Keyascii As Integer)

Keyascii = KeyControl(Keyascii, True)
'AQUI ESTAMOS CARGANDO KEYASCII CON UN NUEVO VALOR
'PERO LA FUNCION KeyControl NO DEVUELVE NADA

End Sub

'Función pasar el foco y permitir solo numeros o
'letras en un TextBox o MaskEdBox

' ESTA FUNCION DEBE DEVOLVER UN VALOR
' Public Function KeyControl(Keyascii As Integer, Optional SoloNum As Boolean = False)
Public Function KeyControl(Keyascii As Integer, Optional SoloNum As Boolean = False) AS INTEGER

' SOLO SE ACTUA CUANDO SOLONUM=TRUE
' ¿PARA QUE USAR UN PARAMETRO? SI VAS A PONER FALSE NO EJECUTES LA FUNCION
If SoloNum = True Then 'Solo se permiten numeros
' SI QUIERES PERMITIR LETRAS DEBES AÑADIR UN ELSE Y CREAR OTRO SELECT CASE

' NKEYASCII NO EXISTE
' Select Case nKeyascii
Select Case Keyascii

Case 8 'Permite borrar con retroceso
KeyControl=keyascii

Case 13 'Pasa el foco al Sig. control
'nKeyascii = 0: SendKeys "{TAB}": Exit Function
SendKeys "{TAB}"
KeyControl=0

Case 48 To 57, 45
'Permite los numeros del 0 al 9 y el Signo de menos (-)
KeyControl=keyascii


Case Else 'No escribe nada y emite un BEEP
'nKeyascii = 0: Beep
KeyControl=0:beep

End Select


ELSE

' SI SE ADMITEN NUMEROS Y LETRAS:

SELECT CASE KEYASCII




END SELECT

End If
End Function

Suerte

PD: Activa el Option Explicit para no trabajar con variables inexistentes o mal escritas
__________________
No hay preguntas tontas, solo gente estup..., ¡No!, ¿como era? No hay gente que pregunte a tontos... ¡Nooo!... ¡Vaya cabeza!