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


Modified text is an extract of the original Stack Overflow Documentation
Sous licence CC BY-SA 3.0
Non affilié à Stack Overflow