access-vba
Activer / désactiver la touche Maj sur DB Open
Recherche…
Remarques
Ce code désactive la possibilité pour un utilisateur de maintenir la touche Maj enfoncée lors de l'ouverture d'une base de données pour ignorer l'ouverture de formulaire par défaut et permettre à l'utilisateur d'accéder au volet de navigation et à l'éditeur VB. Dans la base de données que vous ne souhaitez pas que les utilisateurs aient accès à ces fichiers (tout en désactivant l'utilisation de clés spéciales dans les options de base de données actuelles), ce code vous aidera à conserver la base de données verrouillée.
Généralement, le code ci-dessous est placé dans son propre module qui peut être nommé module basEnableDisableShift, mais il ne s'agit que d'une suggestion et vous pouvez le placer dans n'importe quel module que vous possédez déjà.
Pour désactiver la touche Maj, dans votre écran VB Editor, entrez «DisableShift» dans votre fenêtre Immédiat et appuyez sur Entrée. Vous recevrez alors un message vous informant que la touche Majuscule a été désactivée.
Pour réactiver la touche Maj, vous devrez à nouveau revenir à l’écran VB Editor, entrez «EnableShift» dans votre fenêtre Immédiat et appuyez sur Entrée. Vous recevrez à nouveau un message dans votre fenêtre Immédiat indiquant que la touche Maj a été activée.
REMARQUE: Il ne s'agit pas d'un moyen infaillible d'activer et de désactiver la touche Maj, mais si vous déployez une base de données sur des utilisateurs qui ne maîtrisent pas MS Access et VBA, cela empêchera les utilisateurs d'accéder à VB Editor et / ou volet de navigation dans votre base de données.
Désactiver le code de fonction de décalage
Function DisableShift()
'This function disable the shift at startup. This action causes
'the Autoexec macro and Startup properties to always be executed.
On Error GoTo errDisableShift
Dim db As DAO.Database
Dim prop As DAO.Property
Const conPropNotFound = 3270
Set db = CurrentDb()
'This next line disables the shift key on startup.
db.Properties("AllowByPassKey") = False
'The function is successful.
Debug.Print "Disabled Shift Key - Successful"
Exit Function
errDisableShift:
'The first part of this error routine creates the "AllowByPassKey
'property if it does not exist.
If Err = conPropNotFound Then
Set prop = db.CreateProperty("AllowByPassKey", _
dbBoolean, False)
db.Properties.Append prop
Resume Next
Else
MsgBox "Function 'ap_DisableShift' did not complete successfully."
GoTo ExitHere
End If
ExitHere:
Set prop = Nothing
Set db = Nothing
Exit Function
End Function
Activer le code de fonction de décalage
Function EnableShift()
'This function enables the SHIFT key at startup. This action causes
'the Autoexec macro and the Startup properties to be bypassed
'if the user holds down the SHIFT key when the user opens the database.
On Error GoTo errEnableShift
Dim db As DAO.Database
Dim prop As DAO.Property
Const conPropNotFound = 3270
Set db = CurrentDb()
'This next line of code disables the SHIFT key on startup.
db.Properties("AllowByPassKey") = True
'function successful
Debug.Print "Enabled Shift Key - Successful"
GoTo ExitHere
errEnableShift:
'The first part of this error routine creates the "AllowByPassKey
'property if it does not exist.
If Err = conPropNotFound Then
Set prop = db.CreateProperty("AllowByPassKey", _
dbBoolean, True)
db.Properties.Append prop
Resume Next
Else
MsgBox "Function 'ap_DisableShift' did not complete successfully."
GoTo ExitHere
End If
ExitHere:
Set prop = Nothing
Set db = Nothing
Exit Function
End Function