RE:DESACTIVAR TECLAS FUNCION
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