0
Я пытаюсь защитить паролем одну из своих форм, но при запуске формы получаю сообщение об ошибке.Пароль, защищающий форму
Здесь ошибка я получаю:
Выражение Open вы ввели в качестве настройки свойств событий производится следующее сообщение об ошибке: Процедура декларации не столько описание события или процедуры с тем же именем.
Вот мой код:
Option Compare Database
Public Sub Form_Open()
Cancel = (InputBox("Password?") <> "Cen")
End Sub
Private Sub cmdImport_Click()
On Error GoTo Click_Err
If Nz(txtReportDate, "") = "" Then
MsgBox "NOTICE! Please enter the Report Month you wish to Import."
Else
' Dim rs As Recordset
'Dim sql As String
'Loop through recordset of all Contracts and import files
' sql = "SELECT DISTINCT FROM AAABBC_CE"
' Set rs = CurrentDb.OpenRecordset(sql)
' rs.MoveLast
' rs.MoveFirst
' If rs.RecordCount > 0 Then
' Do While rs.EOF = False
' ImportFile rs!DISTINCT
' rs.MoveNext
' Loop
' End If
DoCmd.Hourglass True
DoCmd.SetWarnings False
DoCmd.Hourglass False
DoCmd.SetWarnings True
MsgBox "Finished Importing!"
DoCmd.OpenQuery "query_Files_Loaded_CE", acViewNormal, acReadOnly
click_Exit:
DoCmd.Hourglass False
DoCmd.SetWarnings True
Exit Sub
Click_Err:
DoCmd.Hourglass False
MsgBox "Error Detected: " & Err.Number & " - " & Err.Description, vbCritical, "Error"
Resume click_Exit
Exit Sub
Я выяснил, как защитить его, но я предполагаю, что это не останавливает пользователя от фактического редактирования кода VB. – KKP
Вместо того, чтобы жестко кодировать пароль в коде VBA, вы можете запросить Active Directory и определить, находится ли текущий аутентифицированный пользователь (вы в сети, правда?) В группе пользователей, которая предоставляет ему доступ к функциям. Таким образом, по крайней мере, ни один пароль не появляется в обычном тексте в любом месте ... но ваш пользователь может всегда прерывать выполнение и пропустить процедуру. Пароль, защищающий сам код VBA, облегчил бы это, но это тоже невозможно взломать. –
Если запрос AD слишком громоздкий, просто проверьте, может ли пользователь получить доступ к папке, контролируемой с помощью AD, в качестве * прокси * для запроса AD. – ThunderFrame