Я всегда использовал этот бит кода
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
Вы передаете ему имя файла и затем говорите, хотите ли вы, чтобы ключ обхода был включен или нет.
Проблема в том, что любой, кто имеет этот код, может использовать его для «разблокировки» вашей базы данных и включения ключа обхода.
Единственный способ, которым я могу обойти это, состоит в том, чтобы предоставить пользователям только доступ к рабочей версии