0
フォームのパスワード保護を試みていますが、フォームの起動時にエラーが発生します。ここでパスワードの保護フォームの保護
は、私が受け取るエラーです:
イベント・プロパティの設定として入力されたオープンの式は、次のエラーが発生します。手順宣言がイベントまたは同じ名前を持つ手順の多くではない説明を行います。
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によってアクセス制御されているフォルダにアクセスできるかどうかをテストしてください。 – ThunderFrame