Comment désactiver la touche [Majuscule] au démarrage d'Access, grâce à la propriété AllowBypassKey ?
Pour utiliser ce qui suit, vous avez besoin de savoir taper du code Visual Basic dans un module Access, compiler du code, et exécuter du code.
La propriété AllowBypassKey interdit effectivement l'usage de la touche
[Majuscule] au démarrage.
Elle peut être paramétrée en Visual Basic; voici le code approprié, inspiré
de l'aide en ligne d'Access :
Sub DésactiverMaj() Dim blnAutoriserMaj As Boolean ' Si blnAutoriserMaj vaut False, la touche [Maj] sera désactivée. ' Si blnAutoriserMaj vaut True, la touche [Maj] sera activée. blnAutoriserMaj = False ModifiePropr "AllowBypassKey", dbBoolean, blnAutoriserMaj If blnAutoriserMaj Then MsgBox "La touche [Maj] est activée. Fermez la base et réouvrez-la pour tester." Else MsgBox "La touche [Maj] est désactivée. Fermez la base et réouvrez-la pour tester." End If End Sub Function ModifiePropr(chNomPropriété As String, varTypeProp As Variant, varValeurProp As Variant) As Integer Dim bds As Database, prp As Property Const conErreurPropNonTrouvée = 3270 Set bds = CurrentDb On Error GoTo Change_Err bds.Properties(chNomPropriété) = varValeurProp ModifiePropr = True Change_Sortie: Exit Function Change_Err: If Err = conErreurPropNonTrouvée Then ' Propriété non trouvée. Set prp = bds.CreateProperty(chNomPropriété, varTypeProp, varValeurProp) bds.Properties.Append prp Resume Next Else ' Erreur inconnue. ModifiePropr = False Resume Change_Sortie End If End Function
Pour tester :
Des compléments utiles :
Contrairement à ce qu'on pourrait croire, la désactivation de la touche [Maj] ne protège pas la base : elle force simplement la prise en compte des options de démarrage (définies par le menu Outils/Démarrage ou par une macro AutoExec, ou par les deux !).
Pour le vérifier, téléchargez la base d'exemple (icône ci-contre), et ouvrez-la en maintenant la touche [Maj] enfoncée.
- Vous obtiendrez un message "Hello world !" lancé par une macro AutoExec.
- La fenêtre de base de données sera masquée (option définie dans Outils/Démarrage).
Par contre, rien n'empêche d'ouvrir le menu Fenêtre / Afficher et de faire apparaître la base complète.