Поиск…


замечания

Этот код отключит возможность удерживать клавишу Shift при открытии базы данных, чтобы пропустить открытие формы по умолчанию и разрешить пользователю доступ к панели навигации и редактору VB. В БД, что вы не хотите, чтобы пользователи имели доступ к любому из них (наряду с отключением использования специальных ключей в текущих параметрах базы данных), этот код поможет заблокировать базу данных.

Как правило, приведенный ниже код помещается в собственный модуль, который может быть назван модулем basEnableDisableShift, но это всего лишь предложение, и вы можете поместить его в любой модуль, который у вас уже есть.

Чтобы отключить клавишу Shift, на экране VB Editor введите «DisableShift» в окне Immediate и нажмите Enter. Затем вы получите сообщение о том, что клавиша Shift была отключена.

Чтобы снова включить клавишу Shift, вам снова нужно вернуться на экран редактора VB, ввести «EnableShift» в окне Immediate и нажать Enter. Вы снова получите сообщение в окне «Немедленное», в котором говорится, что клавиша Shift была включена.

ПРИМЕЧАНИЕ. Это не надежный способ включения и отключения ключа Shift, но если вы развертываете базу данных для пользователей, которые не владеют MS Access и VBA, это должно быть полезно для предотвращения доступа пользователей к редактору VB и / или панель навигации в вашей базе данных.

Отключить код функции сдвига

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

Включить код функции сдвига

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
Лицензировано согласно CC BY-SA 3.0
Не связан с Stack Overflow