Access 2010 にナビゲーション フォームを作成したデータベースがあり、通常のユーザーがデータベースを開いてパスワードを入力し、実際のテーブルやナビゲーション ウィンドウではなく、そのフォームにのみアクセスできるようにします。彼らは、私が用意したフォームを介してのみデータを表示、追加、編集、および削除できる必要があり、管理者パスワードを持っていない限り、テーブル自体にアクセスできるようにしたくありません.
ユーザー権限を作成する方法はありますか?
3 に答える
Access で ULS (ユーザー レベル セキュリティ) と呼ばれるものを使用することを検討できます。この機能は、accDB 形式のファイルでは廃止されましたが、mdb 形式のファイルと Access 2010 で ULS を自由に使用できます。
この文書を読んでから、もう一度読んでください。マイクロソフト アクセス セキュリティに関する FAQ。
また、ユーザーがテーブルを表示したり、フォームを設計したりするのを防ぐ「行為」は、セキュリティ モデルの使用ではまれであることも指摘しておく必要があります。セキュリティ システムは、誰がどのフォームを開くことができるか、誰がどのテーブルを開くことができるか、または誰がどのレポートを開くことができるかを定義することです。ULS では、ユーザーがコードを表示したり、フォームを変更したりできないようにするという目標が重複する可能性があると思いますが、通常、そのようなセキュリティ モデルを使用することはありません。
フォーム、コード、レポートなどの変更を防ぐための通常のアプローチは、Access アプリケーションをいわゆる Access 実行可能ファイル (2007 以降では accDE、mde より前) にコンパイルすることです。
このコンパイル手順により、ユーザーはフォーム、レポート、VBA コードなどの一般的なオブジェクトを変更できなくなります。また、数行のコードで、リボンを含むすべての Access UI を非表示にすることができます (または、カスタム リボンを作成することもできます)。したがって、正しい起動設定と次のコード行を使用します。
次の 1 行のコードでリボンを非表示にします。
DoCmd.ShowToolbar "Ribbon", acToolbarNo
結果のアプリケーションは次のようになります。
上記は 1 行のコードで実行されました。残りは単純な起動設定です。上記のスクリーン ショットの背後にデスクトップが表示されていますが、Access UI は表示されていません。
起動時にシフト キー バイパスを無効にすることもできます。これは、アプリケーションが起動されると、フォームとカスタム UI が表示されることを意味します。ユーザーは「舞台裏」に入ることができず、デザイン モードに切り替えることもできません。
よろしくお願いします
Microsoft アクセスでは、テーブルを表示するユーザーを完全に制限することはできません。アプリケーションの上部にあるショートカット メニューを使用して、バックドアでフォームを隠したり、アクセス許可を無効にしたりすることができます。ファイルを開くには、ファイル自体がフォルダー レベルで変更権限を持っている必要があるため、アクセスにはいくつかの重大な制限があります。ファイルをコンパイルして、VBA コードとフォーム デザインのみへのアクセスをブロックできます。