Anular Teclas al Iniciar Access

Necesito anular de toda la base de datos la tecla F1 y F12 (tanto para todos los formularios como todos los Informes).

No sé si existe alguna opción de que apenas se abra la base de datos se anulen estas teclas, ya que la forma en que podría hacerlo sería ir formulario por formulario e informe por informe añadiéndole el procedimiento para que anule la tecla, pero son muchos!

1 respuesta

Respuesta
1

Primero de todo, una pregunta: ¿Cuál es el código del procedimiento/función que usas para deshabilitar las teclas?.

Según como sea, puedes escribirlo en un módulo e iniciarlo por medio de una macro llamada Autoexec(que se ejecuta al abrir la aplicación); también puedes escribirlo en en un módulo y llamarlo cada vez que se cargue un formulario o informe.

Quedo a la espera para darte una solución más detallada.

Estimado, este es el código que utilizo:

Function DeleteKeys(KeyCode As Integer, ParamArray Keys() As Variant) As Integer

Dim Key As Variant
For Each Key In Keys

If KeyCode = Key Then

KeyCode = 0

Exit Function

End If

Next

End Function

y cuanto lo llamo en un formulario o informe utilizo el siguiente evento:

Private Sub Report_KeyDown(KeyCode As Integer, Shift As Integer)

Call DeleteKeys(KeyCode, vbKeyPageUp, vbKeyPageDown, vbKeyF1, vbKeyF12)

End Sub

y activo "Tecla de Vista Previa"...

Lo que trato de buscar es alguna forma de que no tenga que insertar el código anterior en cada uno de los formularios e informes que tengo creados....además me dí cuenta que en las consultas de selección, si el usuario presiona F12, también le da la opción de "Guardar Como", y en ese caso no sé como podría anularlo....

Muchas gracias por su tiempo...

Ese es el código que conozco, y no encontré otra forma de aplicarlo a los distintos formularios/informes que haciendo copia pega en todos de:

Private Sub ..._KeyDown(KeyCode As Integer, Shift As Integer)
Call DeleteKeys(KeyCode, vbKeyPageUp, vbKeyPageDown, vbKeyF1, vbKeyF12)
End Sub

La función si al pones en un módulo aparte, y la defines como Public, sólo tienes que escribirla una vez:

Public Function DeleteKeys(KeyCode As Integer, ParamArray Keys() As Variant) As Integer

...

Me temo que hasta aquí es hasta donde te puedo ayudar.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas