none
KeyDown y Teclas F1 a F11 RRS feed

  • Pregunta

  • Hola:

    Estoy diseñando un formulario e Access y quiero usar las teclas F1 a F11 en mi aplicación, pero con determinadas características. Con las teclas F4, F5 y F6 quiero interactuar con el formulario (guardar, eliminar y refrescar), y con la tecla F11 quiero acceder a la lista de Articulos si estoy en el textbox de articulos, o la lista de clientes si estoy en el textbox de clientes. Para ello hago lo siguiente:

    En form_Load: Me.KeyPreview = true

    En Form_KeyDown:

    Private
     Sub
     Form_KeyDown(KeyCode As
     Integer
    , Shift As
     Integer
    )
     ComprobarTecla KeyCode, Shift
     If
     KeyCode = vbKeyF11 Then
    
      KeyCode = 0
     End
     If
    
     If
     KeyCode = 27 Then
    
      DoCmd.Close acForm
    End If End Sub

     

    Y despues en txtClientes_KeyDown:

     

    Private
     Sub
     txtNumero_Circuito_KeyDown(KeyCode As
     Integer
    , Shift As
     Integer
    )
    
     If
     KeyCode = vbKeyF11 Then
    
      
      DoCmd.OpenForm "frmListaClientes"
    , acNormal, , , , acDialog
      KeyCode = 0
     End
     If
    
    End
     Sub
    
    


    El problema es el siguiente:

    Si trato KeyCode = vbKeyF11 en el Formulario entonces ya no llega al txtCircuitos, por lo que no responde ocn esa tecla.

    Si le dejo pasar y le trato en txtCircuitos funciona bien, pero para el resto de textBox también funciona, ejecutando la acción por defecto. La unica forma que se me ha ocurrido es poniendo el evento KeyDown para el resto de controles, aunque son muchos. Hay alguna otra forma?

    lunes, 13 de diciembre de 2010 15:49

Todas las respuestas