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
 

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

Preguntas similares