2

MS Access フォームの「詳細」セクションにあるすべてのコントロールを無効にするコマンドを探しています。1 つの方法は、すべてのコントロールを個別に無効にすることです。MS Access フォームの詳細セクションにあるすべてのコントロールを無効にする、コントロールに依存しない方法を探しています。

この機能は、何らかのログイン資格情報に基づいてフォームを有効にする必要があり、資格情報を入力するためのフィールドがフォームのヘッダー セクションに配置されている場合に役立ちます。したがって、ユーザーがログインするとすぐに、そのフォームのすべてのコントロールが有効になります。ログアウトすると、無効になります。

検索してみましたが、同じものはサポートされていないようです。または、以前は誰もそのような要件を持っていませんでした。

誰か知っていたら助けてください。

4

2 に答える 2

4

フォームには、この要件に一致するさまざまなプロパティがあります: 編集を許可、追加を許可、削除を許可。編集を許可は、バインドされていないコントロールに対して機能し、バインドされていないフォームでも機能します。

特定のコントロールを無効にする必要がある場合は、これらのコントロールのタブ プロパティを文字列に設定し、フォームのコントロール コレクションを反復してそれらのコントロールを無効にすることができます。

Dim frm As Form
Dim ctl As Control

Set frm = Forms!MyOpenForm

For Each ctl In frm.Controls

    If ctl.ControlType <> acLabel And ctl.ControlType <> acTabCtl Then
        If ctl.Tag = "AdminHide" Then
            If varWho = "Authorized" Then
                ctl.Visible = True
            Else
                ctl.Visible = False
            End If
        End If

    End If

Next
于 2012-11-01T10:22:11.503 に答える