问题:在 MS Access 中,您可以在打开数据库时按住shift 键,以绕过启动选项和自动执行脚本。我想永久禁用此功能。
首先,我知道这个问题已经在许多其他网站上得到了回答,但是我在这里找不到有关它的问题,但我的需求略有不同。我找到的解决方案侧重于放置隐形按钮来重新启用带密码等的 Shift 键快捷方式。
我想要一个非常简单的解决方案。我想要一个可以添加到我的 AutoExec 脚本中的脚本来禁用 Shift 键快捷键或类似的东西。
我不需要重新启用 Shift 键快捷键。
首选最简单、最安全和最简单的方法。
谢谢!
最佳答案
我一直使用这段代码
Function SetBypass(rbFlag As Boolean, File_name As String) As Integer
DoCmd.Hourglass True
On Error GoTo SetBypass_Error
Dim db As Database
Set db = DBEngine(0).OpenDatabase(File_name)
db.Properties!AllowBypassKey = rbFlag
setByPass_Exit:
MsgBox "Changed the bypass key to " & rbFlag & " for database " & File_name, vbInformation, "Skyline Shared"
db.Close
Set db = Nothing
DoCmd.Hourglass False
Exit Function
SetBypass_Error:
DoCmd.Hourglass False
If Err = 3270 Then
' allowbypasskey property does not exist
db.Properties.Append db.CreateProperty("AllowBypassKey", dbBoolean, rbFlag)
Resume Next
Else
' some other error message
MsgBox "Unexpected error: " & Error$ & " (" & Err & ")"
Resume setByPass_Exit
End If
End Function
您向其传递一个文件名,然后说明是否要启用旁路 key 。
问题是任何拥有此代码的其他人都可以使用它来“解锁”您的数据库并启用旁路 key 。
我认为解决这个问题的唯一方法是只为用户提供运行时版本的 Access 权限
关于ms-access - 在 ms-access 中启动时禁用 Shift 键,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4184455/