2015-10-07 1 views
2

Я пытаюсь создать базу данных доступа, которая отключена от пользователей, даже опция переключения байпаса. Я сделал код, который делает это, но то, что я хочу добавить, является всплывающим окном, когда нажата клавиша shift, которая позволяет пользователю вводить пароль, и опция переключения байпаса снова будет работать. Кто-нибудь знает, возможно ли это?Обходной сдвиг с помощью всплывающего окна с паролем

Спасибо!

Function ap_DisableShift() 

On Error GoTo errDisableShift 

Dim db As DAO.Database 
Dim prop As DAO.Property 
Const conPropNotFound = 3270 

Set db = CurrentDb() 

db.Properties("AllowByPassKey") = False 

Exit Function 

errDisableShift: 

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." 
Exit Function 
End If 

End Function 

ответ

2

Я не думаю, что можно поймать событие запуска, когда сдвиг отключен. То, что я всегда делаю, это добавить текстовое поле скрытого пароля в форму запуска. Текстовое поле пароля можно активировать с помощью скрытой кнопки. Эффект применяется только к следующему событию запуска (и включенному), поэтому он не так прямо, как вам бы хотелось, но он надежен.

  1. Добавить прямоугольник в форму запуска, которая будет действовать как улавливатель мыши. Убедитесь, что Back Style установлен в Normal, но с тем же цветом, что и форма BackColor формы, поэтому она невидима.
  2. Добавить скрытое текстовое поле для загрузки. Установите Input Mask в Password
  3. Добавить событие DOUBLE_CLICK в прямоугольник, который будет UNHIDE пароль текстового поля
  4. Добавить AfterUpdate события в текстовом поле пароля, который позволит клавишу переключения (AllowBypassKey), если пароль правильный. Вы можете ввести интерфейс доступа при следующем запуске.

Чтобы использовать AllowByPassKey:

Public Sub CreateLockProperty() 

    CurrentDb.Properties.Append CurrentDb.CreateProperty("AllowBypassKey", dbBoolean, True) 

End Sub 

Public Sub SetToolLock(bLocked As Boolean) 

    CurrentDb.Properties("AllowBypassKey") = Not bLocked 

End Sub 

Public Function ToolLocked() As Boolean 

    ToolLocked = Not CurrentDb.Properties("AllowBypassKey") 

End Function 

Сначала вы должны создать свойство, выполнив первую процедуру. После этого вы можете использовать два других.

+0

Я добавил код, который я должен обойти сдвиг, как добавить часть пароля к этому коду? –

+0

Хорошо, хорошо ... Я думал, что код работает, но это не так, у вас есть код для отключения кнопки переключения? –

+0

Лучше всего искать 'AllowBypassKey'. есть много сообщений об этом. Если он работает, мы можем посмотреть часть пароля вашего запроса. –

Смежные вопросы