Access - DESACTIVAR TECLAS FUNCION
Necesitaría "desactivar" las teclas de función, cuando ejecuto mi programa en ACCESS. Es decir: que F1, F2, F3, etc. no realicen la acción preestablecida. El problema me viene de que necesito capturar la tecla pulsada, lo que es fácil usando KeyDown. Pero cuando, por ejemplo, pulso F4 sigue haciendo el "dropdown" preestablecido, aunque al capturarla pueda forzar a que ejecute previamente el código escrito por mi.
Un saludo y gracias anticipadas También te puede interesar...
Hola Sazalp, posiblemente uses un Select Case KeyCode para asociar una acción a las Teclas de Función. Prueba de esta forma:
Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer) Select Case KeyCode Case vbKeyF1 Call AnulaTecla(KeyCode, vbKeyF1) ' Anula la Tecla F1 Case vbKeyF2 .............. .............. Call AnulaTecla(KeyCode, vbKeyF2) ' Anula la Tecla F2 Case vbKeyF3 .............. ............. Call AnulaTecla(KeyCode, vbKeyF3) ' Anula la Tecla F3 Case vbKeyF4 .............. .............. Call AnulaTecla(KeyCode, vbKeyF4) ' Anula la Tecla F4 Case vbKeyF5 Call AnulaTecla(KeyCode, vbKeyF5) ' Anula la Tecla F5 End Select -------------------------------------------------------------------------------- Esta función la puedes poner en un Módulo: Function AnulaTecla(KeyCode As Integer, ParamArray Keys() As Variant) As Integer Dim Tecla As Variant For Each Tecla In Keys If KeyCode = Tecla Then KeyCode = 0 Exit Function End If Next End Function En este ejemplo, las teclas de función F1 y F5 quedan anuladas directamente y las teclas F2 a F4 se anulan solo después de ejecutar tu código asociado a esa tecla, evitando así el Dropdown en los Combos que tengan el Foco al pulsar F4, o que aparezca la ayuda de Access al pulsar F1. Las líneas de puntos indican donde hay que colocar nuestro código que como verás tiene que ser ANTES de anular la tecla correspondiente. Saludos
hola enrique.
Estoy dando mis primeros pasos en programacion en access y tengo lista una base de datos pero no he podido convertilra a mde porque tiene muchos formularios y de todas formas esto no me sirve porque queda libre el acceso a las tablas y consultas y los usuarios manipularian la informacion. me han dicho que bloqueando la tecla SHIFT, no es posible editar ninguno de los elementos de la base de datos, como hago este procedimiento ?. y como como hago para que se ejecute automaticamente cuando se trate de iniciar la ejecucion de la base de datos ?. al bloquear esta tecla en acces se afecta tambien para otras aplicaciones ?. mi version de access es 2.003. muchas gracias si me puedes ayudar. atentamente Gabriel Mercado. Actualización msjet40 UPDATE EN ACCESS |