Evento KeyPress (Enter)

29/03/2007 - 19:48 por Luis | Informe spam
Qué tal?? he intentado aplicar el siguiente código para el evento
KeyPress en un formulario, aplicandolo a la tecla enter, cuando lo
ejecuto y presiono esta tecla simplemente va a siguiente textbox, la
verdad no sé que estoy haciendo mal pues tengo entendido que el
KeyAscii correspondiente es el 13. Si pueden ayudarme les agradecería
mucho!!!

Private Sub txtIdentificacion_KeyPress(ByVal KeyAscii As
MSForms.ReturnInteger)
If KeyAscii = 13 Then
If txtIdentificacion.Text <> "" Then
ValidaDocumento txtIdentificacion.Text
Else
MsgBox "Debe ingresar el codigo"
End If
End If
End Sub

Preguntas similare

Leer las respuestas

#1 Héctor Miguel
29/03/2007 - 21:45 | Informe spam
hola, Luis !

... he intentado aplicar el siguiente codigo para el evento KeyPress en un formulario
aplicandolo a la tecla enter, cuando lo ejecuto y presiono esta tecla simplemente va a siguiente textbox
la verdad no sé que estoy haciendo mal pues tengo entendido que el KeyAscii correspondiente es el 13...



1) el codigo que expones [segun se aprecia] esta 'trabajando bien' -???- [simplemente]
a) 'detecta' si la tecla que se ha pulsado es la tecla {enter} con el -> If KeyAscii = 13 Then
b) [despues de pulsar enter] 'verifica' si el control NO se ha dejado 'vacio' con el -> If txtIdentificacion.Text <> "" Then
c) despues de NO vacio, manda a ejecutarse otro procedimiento con el -> ValidaDocumento txtIdentificacion.Text
d) si el control de texto esta vacio... manda un cuadro de mensajes con el -> MsgBox "Debe ingresar el codigo"
e) si la tecla pulsada NO es {enter}... simplemente... no hace nada :))
-> en ningun momento le estas indicando al codigo que si el control esta vacio no debe permitir al usuario cambiar de control :-(

2) si esto ultimo es tu intencion... usa el evento '_exit' para cancelar/evitar/... la salida del control [p.e.]

Private Sub txtIdentificacion_Exit(ByVal Cancel As MSForms.ReturnBoolean)
Cancel = Trim(txtIdentificacion) = ""
End Sub

si cualquier duda [o informacion adicional]... comentas ?
saludos,
hector.

__ el codigo expuesto __
Private Sub txtIdentificacion_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
If KeyAscii = 13 Then
If txtIdentificacion.Text <> "" Then
ValidaDocumento txtIdentificacion.Text
Else
MsgBox "Debe ingresar el codigo"
End If
End If
End Sub
Respuesta Responder a este mensaje
#2 Luis
30/03/2007 - 16:53 | Informe spam
Qué tal?? Gracias por responder Héctor... sabes he probado y sigo con
el mismo problema mi idea es la siguiente:
que el usuario ingrese un número de identificación y que cuando
presione enter este número ingresado sea verificado por un
procedimiento denominado ValidaDocumento el cual como resultado
muestra un mensaje que indica si el número ingresado es válido o
no No más y la verdad no entiendo por qué no funciona... si me
ayudas te lo agradecería Mucho!!! Gracias por tú atención!!

Saludos
Respuesta Responder a este mensaje
#3 Héctor Miguel
30/03/2007 - 19:48 | Informe spam
hola, Luis !

... sabes he probado y sigo con el mismo problema mi idea es la siguiente:
que el usuario ingrese un numero de identificacion y que cuando presione enter
este numero ingresado sea verificado por un procedimiento denominado ValidaDocumento
el cual como resultado muestra un mensaje que indica si el número ingresado es válido o no
... No mas y la verdad no entiendo por que no funciona...



no me queda muy 'claro' si la que has 'probado' incluye la propuesta del punto 2 del mensaje anterior ?-
'dejame repetirte' la parte final de mi correo anterior [es probable que no lo hayas 'captado'] -?-

-> en ningun momento le estas indicando al codigo que si el control esta vacio no debe permitir al usuario cambiar de control :-(

2) si esto ultimo es tu intencion... usa el evento '_exit' para cancelar/evitar/... la salida del control [p.e.]

Private Sub txtIdentificacion_Exit(ByVal Cancel As MSForms.ReturnBoolean)
Cancel = Trim(txtIdentificacion) = ""
End Sub

si cualquier duda [o informacion adicional]... comentas ?
saludos,
hector
Respuesta Responder a este mensaje
#4 Luis
30/03/2007 - 20:28 | Informe spam
Pues si Héctor tomé en cuenta la recomendación que me diste usando el
evento exit y funciona en el sentido de que no me deja salir del
control cuando este está vacío, pero cuando ya he ingresado un número
y presiono enter simplemente pasa al siguiente textbox y JAMÁS realiza
la comprobación del número pues puse un punto de inspección en el
procedimiento ValidaDocumento y en ningún momento pasa por allí !!!
¿¿¿???!!! La verdad no entiendo por qué no realiza la validación eso
es lo más importante... esto me tiene preocupado pues lo necesito
urgenteeee!! ojalá puedas ayudarme!!! GRACIAS
Respuesta Responder a este mensaje
#5 Luis
30/03/2007 - 20:53 | Informe spam
Es más Héctor acabo de poner un punto de inspección en: If
txtIdentificacion.Text <> "" Then ... y jamás pasa por allí, es como
si no reconociera a la tecla enter con el ascii 13 ¿?¿?¿?¿?¿?¿?
Ayuuuuuda por favor!!! Gracias!!!
Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaSiguiente Respuesta Tengo una respuesta
Search Busqueda sugerida