Buscar..


Observaciones

Este código desactivará la capacidad para que un usuario mantenga presionada la tecla Mayús al abrir una base de datos para omitir la apertura del formulario predeterminado y permitirle al usuario acceder al Panel de navegación y al Editor de VB. En los DB que no desea que los usuarios tengan acceso a ninguno de estos (junto con la desactivación del uso de Claves especiales en las Opciones de la base de datos actual), este código ayudará a mantener la base de datos bloqueada.

Generalmente, el código a continuación se coloca en su propio Módulo que puede denominarse módulo BasEnableDisableShift, pero esto es solo una sugerencia y puede ubicarlo en cualquier módulo que ya tenga.

Para deshabilitar la tecla Shift, dentro de la pantalla de su editor VB, ingrese 'DisableShift' dentro de su ventana Inmediato y presione Enter. Recibirá un mensaje informándole que la tecla Mayús ha sido desactivada.

Para volver a habilitar la tecla Shift, una vez más, deberá volver a la pantalla VB Editor, ingresar 'EnableShift' dentro de su ventana Inmediato y presionar Enter. Recibirá de nuevo un mensaje en su ventana Inmediato informando que la tecla Shift se ha habilitado.

NOTA: Esta no es una manera infalible de habilitar y deshabilitar la tecla Shift, pero si está implementando una base de datos para usuarios que no son competentes con MS Access y VBA, debería ser útil para evitar que los usuarios accedan al Editor VB y / o Panel de navegación dentro de su base de datos.

Desactivar código de función de cambio

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

Habilitar código de función de cambio

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
Licenciado bajo CC BY-SA 3.0
No afiliado a Stack Overflow