Sök…


Anmärkningar

Den här koden stänger av förmågan för en användare att hålla nere Shift-tangenten när man öppnar en databas för att hoppa över standardformulärets öppning och ge användaren åtkomst till Navigationsfönstret och VB Editor. I DB: er som du inte vill att användare ska ha åtkomst till någon av dessa (tillsammans med att inaktivera användningen av specialnycklar i de aktuella databasalternativen) hjälper den här koden att hålla databasen stängd.

I allmänhet placeras koden nedan i sin egen modul som kan namnges basEnableDisableShift-modulen, men detta är bara ett förslag och du kan placera den i vilken modul du redan har.

För att inaktivera Shift-tangenten, skriv in 'DisableShift' i skärmen VB Editor i ditt omedelbara fönster och tryck på Enter. Du kommer då att få ett meddelande om att Shift-tangenten har inaktiverats.

För att aktivera Shift-tangenten igen måste du återvända till VB Editor-skärmen, ange 'EnableShift' i ditt omedelbara fönster och trycka på Enter. Du får igen ett meddelande i ditt omedelbara fönster som meddelar att skiftnyckeln är aktiverad.

OBS! Detta är inte ett lurssäkrat sätt att aktivera och inaktivera Shift-nyckeln, men om du distribuerar en databas till användare som inte är skickliga med MS Access och VBA, bör det vara till hjälp för att förhindra användare att komma åt VB-redigeraren och / eller navigeringsfönstret i din databas.

Inaktivera Skiftfunktionskod

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

Aktivera Skiftfunktionskod

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
Licensierat under CC BY-SA 3.0
Inte anslutet till Stack Overflow