2

Access .MDB に基本的なセキュリティを追加しようとしています。私がしたいのは、VBA から Active Directory をクエリすることです (私はこのコードを持っています)。次に、ユーザーが適切なグループに属していない場合は、データベース内のすべてのフォームに対して、更新、削除、挿入の許可をオフにします。基本的に、読み取り専用を許可するだけです。

これは可能ですか?VBAでこれを行うにはどうすればよいですか? すべてのフォームではなく、autoexec メソッドでこれを 1 回設定する方法はありますか?

または、ここで単純なセキュリティを提供する別の方法はありますか? 例?

4

1 に答える 1

2

次のような手順で、単一のフォームに対してAllowAdditionsAllowDeletions、およびを設定できます。AllowEdits

Public Sub SetFormEdit(ByVal pName As String, _
        ByVal pReadOnly As Boolean)
    Dim frm As Form

    DoCmd.OpenForm pName, acDesign
    Set frm = Forms(pName)
    frm.AllowAdditions = pReadOnly
    frm.AllowDeletions = pReadOnly
    frm.AllowEdits = pReadOnly
    DoCmd.Close acForm, pName, acSaveYes
    Set frm = Nothing
End Sub

すべてのフォームに対してその手順を実行するには...

Public Function SetAllFormsEdit()
    Dim blnReadOnly As Boolean
    Dim frm As Object

    'load value for blnReadOnly from your existing AD code '

    For Each frm In CurrentProject.AllForms
        SetFormEdit frm.Name, blnReadOnly
    Next frm
    Set frm = Nothing
End Function

次に、マクロのアクションSetAllFormsEditから関数を呼び出します。RunCodeautoexec

于 2012-05-21T20:58:33.433 に答える