Accessで右クリックメニューを禁止・解除する方法|表示されない原因と個別フォーム設定も解説

概要

この記事の結論
データベース全体の右クリックメニューは、[ファイル]→[オプション]→[現在のデータベース]で[既定のショートカット メニュー]のチェックを外すと禁止できます。解除するときは同じチェックを付け直し、データベースを閉じて再度開きます。特定フォームだけならフォームの[ショートカット メニュー]プロパティを[いいえ]にします。ただし、これらは主に誤操作防止のためのUI設定であり、単独で強固なセキュリティ対策になるわけではありません。

この記事でわかること

  • 右クリックメニューをデータベース全体で禁止・解除する設定場所
  • 設定後にデータベースの再起動が必要な理由と、反映されないときの確認方法
  • 特定のフォームだけ右クリックを禁止するShortcutMenuプロパティの使い方
  • 右クリック禁止で影響する操作と、利用者にとってのメリット・デメリット
  • Shift起動、AllowBypassKey、ACCDEなどを含めた安全な運用の考え方

この記事の主な内容

  1. Accessの右クリックメニューとは?まず30秒で結論
  2. Access全体で右クリックメニューを禁止する方法|4STEP
  3. 右クリックメニューを解除する方法|表示されない時の戻し方
  4. 特定のフォームだけ右クリックを禁止する方法|ShortcutMenuとVBA
  5. 右クリックを禁止する理由とデメリット|コピー・貼り付けやフィルターへの影響
  6. 右クリック禁止はセキュリティ対策になる?Shift起動・ACCDEとの使い分け
  7. まとめ|目的に合わせて「全体」「フォーム単位」「配布用制限」を使い分ける
  8. よくある質問(FAQ)

想定読了時間:約10分~13分


1. Accessの右クリックメニューとは?まず30秒で結論

Accessの右クリックメニューは、フォーム、レポート、データシート、ナビゲーションウィンドウなどで右クリックしたときに表示されるショートカットメニューです。表示される内容は対象やビューによって異なりますが、フィルター、並べ替え、コピー・貼り付け、表示切り替えなど、操作をすばやく行うための入口として使われます。

一方、利用者向けに作り込んだAccessでは、右クリックから本来触ってほしくないコマンドへ進めることがあります。そのため、業務利用者の誤操作を減らす目的で、既定のショートカットメニューを非表示にする設計がよく使われます。

Microsoftの「現在のデータベース」設定では、[既定のショートカット メニュー]をオフにすると、ナビゲーションウィンドウのオブジェクトやフォーム・レポート上のコントロールなどで表示される組み込みのショートカットメニューを制御できます。変更内容は、そのデータベースを閉じて再度開いた後に有効になります。

「禁止」といってもAccess全体を保護する機能ではない

ここで重要なのは、右クリックメニューの禁止は「利用者に見せる操作入口を減らす設定」だという点です。右クリックを止めても、リボン、ナビゲーションウィンドウ、特殊キー、VBA、Shift起動など、別の経路が残っていれば操作できる場合があります。

したがって、目的が単なる誤操作防止なのか、設計変更を強く制限したいのかで設定を分ける必要があります。前者ならショートカットメニュー制御だけでも有効ですが、後者ではACCDEや起動時設定、必要に応じてAllowBypassKeyなどを組み合わせて考えます。

Accessの右クリックメニューで利用できる主な操作と、利用者の誤操作につながるリスクを整理した図
右クリックから行うことがある操作便利な場面利用者向け画面での注意
フィルター・並べ替え一覧から必要なデータをすばやく絞り込む想定外の絞り込みで「データが消えた」と誤認されることがある
コピー・貼り付けテキストや値を別項目へ転記する右クリック経由を禁止すると操作性が下がる
ビュー・デザイン関連開発・保守時に画面やオブジェクトを確認する一般利用者が変更すると業務画面を壊す原因になる
オブジェクト操作ナビゲーションウィンドウから開く・管理する開発者向け操作まで見えてしまう場合がある

2. Access全体で右クリックメニューを禁止する方法|4STEP

現在のデータベース全体で既定の右クリックメニューを禁止する場合は、Accessのオプションから設定します。競合記事でも紹介されている基本操作ですが、対象はPC全体ではなく「現在開いているデータベース」です。別のAccessファイルまで一律に右クリック禁止になるわけではありません。

Access全体で右クリックメニューを禁止するための[ファイル]から再起動までの4ステップ
STEP操作確認ポイント
1[ファイル]をクリック設定したいAccessデータベースを開いた状態で進める
2[オプション]を開く[Accessのオプション]画面を表示する
3[現在のデータベース]を選択し、[既定のショートカット メニュー]のチェックを外す[すべてのメニューを表示する]とは別項目なので混同しない
4[OK]を押し、データベースを閉じて再度開く再起動後にフォームやナビゲーションウィンドウで右クリックを確認する

STEP1:[ファイル]からAccessのオプションを開く

右クリックを禁止したいデータベースを開き、画面左上の[ファイル]を選択します。Backstage画面の下部にある[オプション]をクリックすると、[Accessのオプション]が開きます。

STEP2:[現在のデータベース]を選択する

左側のメニューから[現在のデータベース]を選択します。この画面には、起動フォーム、ナビゲーション、リボン、ショートカットメニュー、特殊キーなど、そのデータベースを開いたときの動作に関する設定がまとまっています。

STEP3:[既定のショートカット メニュー]をオフにする

[リボンとツールバーのオプション]付近にある[既定のショートカット メニュー]のチェックを外します。この設定は組み込みのショートカットメニューを許可するかどうかを切り替えるもので、[すべてのメニューを表示する]とは役割が異なります。

STEP4:Accessファイルを閉じて再度開く

[OK]を押しただけでは、開いたままのデータベースで変化が確認できない場合があります。Microsoftの案内でも、指定したオプションを有効にするにはカレントデータベースを閉じてから再度開く必要があるとされています。

確認ポイント
設定後は、フォーム上の入力欄だけでなく、ナビゲーションウィンドウやデータシートなど複数箇所で右クリックして動作を確認してください。右クリックからの便利な操作まで消えていないか、利用者目線で確認することが重要です。

3. 右クリックメニューを解除する方法|表示されない時の戻し方

右クリックメニューを元に戻す方法は、禁止するときと逆です。[ファイル]→[オプション]→[現在のデータベース]を開き、[既定のショートカット メニュー]にチェックを付け直します。その後、データベースを閉じて再度開きます。

他の人が作ったAccessを引き継いだ場合は、「右クリックが出ない=故障」とは限りません。意図的にこの設定がオフにされているケースがあるため、まず現在のデータベース設定を確認すると切り分けが早くなります。

Accessの右クリックメニューを禁止する前・禁止した後・設定を解除した後の状態を比較した図

設定を戻しても右クリックが表示されない場合の確認順

チェックを付け直しても右クリックが表示されない場合は、次の順番で確認します。複数の制限が同時に設定されているAccessでは、全体設定だけを戻してもフォーム単位の設定が残っていることがあります。

確認順確認する内容よくある原因
1データベースを閉じて再度開いたか設定変更後の再起動が未実施
2設定対象のAccessファイルが正しいか別コピー・別環境のファイルを開いている
3フォームの[ショートカット メニュー]が[いいえ]になっていないかフォーム単位の制限が残っている
4カスタムショートカットメニューが割り当てられていないか既定メニューではなく独自メニュー設計になっている
5Shiftキーを押して起動した場合に状態が変わるかスタートアップ設定がバイパスされている/通常起動時だけ制限される
6ACCDEやRuntimeなど配布形態の制約がないか設計変更できないことを右クリック禁止と混同している

Shiftキーを押して開くと右クリックが復活することがある

Accessでは、データベースを開くときにShiftキーを押し続けると、多くのスタートアップオプションをバイパスできます。Microsoftの案内では、このとき[既定のショートカット メニュー]も設定に関係なく表示される対象に含まれます。

そのため、通常起動では右クリックできないのに、Shiftキーを押しながら開くと右クリックできる場合は、データベースの起動設定で制限されている可能性が高いと判断できます。ただし、管理者がAllowBypassKeyをFalseにしてShiftバイパス自体を無効化している場合は、この方法は使えません。

Accessで右クリックメニューが表示されないときに、再起動・全体設定・フォーム設定・Shift起動などを順番に確認する復旧フロー

4. 特定のフォームだけ右クリックを禁止する方法|ShortcutMenuとVBA

データベース全体で右クリックを禁止すると、コピー・貼り付けやフィルターなど、利用者に残したい操作まで一律に使いにくくなります。業務画面の一部だけ制限したい場合は、フォーム単位のShortcutMenuプロパティを使う方が適しています。

Microsoft Learnでは、Form.ShortcutMenuプロパティはフォームとそのコントロールのショートカットメニュー表示を制御するBoolean値で、既定値はTrueとされています。Falseにすると、そのフォームまたはフォーム上のコントロールを右クリックしてもショートカットメニューが表示されません。

フォームのプロパティから設定する方法

  1. 対象フォームをデザインビューで開く。
  2. フォーム全体を選択し、プロパティシートを表示する。
  3. [その他]などにある[ショートカット メニュー]を確認する。
  4. [いいえ]に設定して保存し、フォームビューで右クリック動作を確認する。

この方法なら、データベース全体の右クリックは残したまま、入力専用フォームなど特定画面だけを制限できます。保守性と利用者の操作性のバランスを取りやすい方法です。

VBAで動的に切り替える方法

利用者区分や保守モードによって右クリックの可否を切り替えたい場合は、VBAからShortcutMenuプロパティを変更できます。たとえば、開いている「Invoice」フォームの右クリックを禁止する例は次のとおりです。

Forms!Invoice.ShortcutMenu = False

‘ 元に戻す場合
Forms!Invoice.ShortcutMenu = True

VBAで切り替える場合も、まずはフォームのプロパティ設定だけで要件を満たせないか検討してください。単純な固定設定にVBAを増やしすぎると、将来の保守担当者が設定場所を見つけにくくなるためです。

必要な操作だけ残すならカスタムショートカットメニューも選択肢

「全部禁止」ではなく、「コピーだけ許可」「特定の操作だけ許可」のようにしたい場合は、カスタムショートカットメニューを作成してフォームやコントロールへ割り当てる方法があります。Microsoft Supportでは、マクロを使ってフォーム、レポート、個別コントロール、またはデータベース全体へカスタムメニューを関連付ける手順が案内されています。

カスタムメニューは既定のショートカットメニューを置き換えるため、業務に必要なコマンドだけを残すUI設計ができます。ただし、作り込みと保守が増えるため、利用者要件が明確な場合に採用するのが適切です。

方法制御範囲向いているケース注意点
現在のデータベースで全体OFFデータベース全体の既定ショートカットメニュー一般利用者に右クリック操作をほぼ使わせない便利な右クリック操作まで一律に失う
Form.ShortcutMenu = False特定フォームとそのコントロール入力フォームなど一部画面だけ制限したい他のフォームには影響しない
カスタムショートカットメニューフォーム・レポート・コントロール・DB全体必要なコマンドだけを残したい作成・テスト・保守が必要
Accessの右クリック制御をデータベース全体・フォーム単位・カスタムショートカットメニューで使い分ける比較図
AccessフォームのShortcutMenuプロパティを[いいえ]にする設定とVBAでFalse・Trueを切り替える仕組み

5. 右クリックを禁止する理由とデメリット|コピー・貼り付けやフィルターへの影響

右クリック禁止の最大のメリットは、利用者に不要な操作入口を見せず、誤操作を減らせることです。特に、フォームやレポートを業務アプリとして使わせる場合、開発者向けのコマンドや想定外のフィルター操作を減らすと、問い合わせや復旧作業を抑えやすくなります。

一方で、禁止範囲を広げすぎると利用者の操作性が落ちます。右クリックからコピー・貼り付け、フィルター、並べ替えなどを日常的に使っている場合は、「壊されないこと」だけでなく「業務が遅くならないこと」も確認する必要があります。

Accessの右クリックメニューを禁止するメリットと、コピー・貼り付けやフィルターなどの操作性が下がるデメリットを比較した図
観点メリットデメリット・確認事項
誤操作防止不要なコマンドを見せず、操作を単純化できる必要な機能まで消すと問い合わせが増える
設計変更の抑制右クリックから設計系コマンドへ進む入口を減らせる別経路が残るため完全な設計保護ではない
フィルター・並べ替え想定外の絞り込みを減らせるユーザー自身で一覧を探しにくくなる
コピー・貼り付け誤貼り付けのきっかけを減らせる右クリック操作に慣れた利用者の利便性が下がる
保守・引継ぎ利用者版のUIを整理できる解除方法を残さないと将来の保守担当者が困る

「すべてのメニューを表示する」とは別設定

Accessの[現在のデータベース]には、[すべてのメニューを表示する]と[既定のショートカット メニュー]が別々に存在します。前者はリボン等のメニュー表示を制御する設定で、後者は右クリック時の既定ショートカットメニューを制御する設定です。

「フルメニューを消したから右クリックも止まる」と考えると設定漏れが起きます。利用者向けAccessでは、リボン、ナビゲーション、右クリック、特殊キーをそれぞれ何の目的で制御するのかを整理して設定してください。

実務視点
右クリックを全面禁止する前に、実際の利用者が「コピー」「貼り付け」「フィルター」「並べ替え」をどの程度使っているか確認します。必要な操作がある場合は、全体禁止よりもフォーム単位制御やカスタムメニューの方が、誤操作防止と使いやすさを両立しやすくなります。

6. 右クリック禁止はセキュリティ対策になる?Shift起動・ACCDEとの使い分け

結論として、[既定のショートカット メニュー]をオフにするだけでは、強固なセキュリティ対策とはいえません。これは利用者向けUIを整理し、誤操作を減らすためには有効ですが、Accessの設計情報やデータそのものを保護する機能ではないためです。

Shift起動では多くのスタートアップ設定をバイパスできる

Microsoft Supportでは、Accessデータベースを開くときにShiftキーを押し続けることで、多くのスタートアップオプションをバイパスできると説明しています。対象には[すべてのメニューを表示する]や[既定のショートカット メニュー]などが含まれ、通常起動で制限しているメニューを保守時に戻す手段として利用できます。

一方、利用者がShift起動で制限を回避できないようにする必要がある場合は、AllowBypassKeyプロパティをFalseにする方法があります。ただし、ここまで制限すると保守担当者自身も入り口を失うリスクがあります。設定前に、原本ACCDB、バックアップ、解除用手順、管理者向け復旧方法を確保してください。

AllowFullMenus・AllowShortcutMenus・AllowSpecialKeysの違い

AccessのAllowFullMenus・AllowShortcutMenus・AllowSpecialKeys・AllowBypassKeyの役割と制御範囲を比較した図
設定・プロパティ主に制御するもの代表的な用途
AllowFullMenus/[すべてのメニューを表示する]Accessの組み込みメニュー・リボン側の利用範囲設計変更へつながるメニューを一般利用者に見せにくくする
AllowShortcutMenus/[既定のショートカット メニュー]組み込みの右クリックメニュー右クリックからの不要操作・誤操作を減らす
AllowSpecialKeys/[Access特殊キーを使用する]F11、Ctrl+G、Ctrl+Breakなどの特殊キーナビゲーションやVBEへのショートカット経路を制御する
AllowBypassKeyShiftキーによるスタートアップ設定のバイパス利用者にShift起動で制限を回避させたくない場合
ACCDEVBAソースやフォーム・レポート等の設計変更を制限する配布形式利用者へ開発原本ACCDBを直接配布しない

これらは「どれか1つを設定すれば全部安全」という関係ではありません。右クリックはUI、特殊キーは操作経路、ACCDEは配布形式というように役割が異なります。目的に応じて必要なものだけを組み合わせます。

ACCDEにすれば右クリック禁止設定は不要?

ACCDEは、VBAコードの編集やフォーム・レポート・モジュール等の設計変更を制限する配布向けファイルです。しかし、ACCDEにしただけで、右クリックメニューから使えるフィルターやコピーなどの操作が自動的に消えるわけではありません。

したがって、配布先で右クリック自体を見せたくない場合は、ACCDE化とは別にショートカットメニューの設定を行います。逆に、右クリックを禁止していてもACCDBのままなら、Shift起動や別の操作経路から設計へ進める余地が残ることがあります。

安全な運用は「利用者版」と「保守用原本」を分ける

長期運用するAccessでは、利用者に配るファイルと保守用の原本を分けて管理することが重要です。利用者版では必要なUI制限を設定し、原本ACCDBでは保守担当者が変更できる状態を残します。解除手順や設定一覧も文書化しておくと、担当者交代時のトラブルを減らせます。

AccessのShift起動によるバイパスとAllowBypassKey・ACCDE・右クリック制御を組み合わせた多層的な操作制限の考え方
右クリックできない・設定が分からないAccessを安全に改修したい場合
既存Accessの起動設定、ナビゲーション、右クリック、リボン、特殊キー等の制限状況を確認し、原本ACCDBやACCDEの状態も含めて改修可能性を調査します。単に制限を解除するのではなく、利用者の誤操作防止と将来の保守性を両立する設定へ整理します。

7. まとめ|目的に合わせて「全体」「フォーム単位」「配布用制限」を使い分ける

Accessの右クリックメニューをデータベース全体で禁止するには、[ファイル]→[オプション]→[現在のデータベース]で[既定のショートカット メニュー]をオフにし、データベースを閉じて再度開きます。解除するときはチェックを付け直して再起動します。

一部の業務フォームだけを制限したい場合は、Form.ShortcutMenuを[いいえ]にする方が適しています。必要な操作を残したい場合はカスタムショートカットメニューも選択肢です。全体禁止だけで済ませず、利用者が実際に使うコピー・貼り付けやフィルターの必要性まで確認してください。

また、右クリック禁止は主に誤操作防止のためのUI設定です。Shift起動によるバイパスや別の操作経路があるため、設計変更を強く制限する目的ではAllowBypassKey、特殊キー制御、ACCDEなどと役割を分けます。最も重要なのは、原本ACCDBと解除手順を残し、将来の保守担当者が復旧できる運用にしておくことです。


8. よくある質問(FAQ)

[ファイル]→[オプション]→[現在のデータベース]を開き、[既定のショートカット メニュー]のチェックを外します。[OK]後、データベースを閉じて再度開くと反映されます。

同じ設定画面で[既定のショートカット メニュー]にチェックを付け直し、データベースを再起動します。それでも表示されない場合は、フォームのShortcutMenu設定やカスタムメニュー、配布形態も確認します。

現在のデータベース設定は、閉じて再度開いた後に有効になる項目があります。まず再起動を確認し、次に設定したファイルが正しいか、フォーム単位の制限が残っていないかを確認してください。

できます。フォームの[ショートカット メニュー]プロパティを[いいえ]にします。VBAなら Forms!フォーム名.ShortcutMenu = False として動的に切り替えることもできます。

右クリックメニューから実行していたコピー・貼り付けなどの操作入口は使えなくなります。ただし、キーボードショートカットやリボンなど別経路まで自動的に禁止されるとは限りません。利用者の実際の操作方法を確認してください。

Shiftキーを押しながらAccessデータベースを開くと、多くのスタートアップオプションがバイパスされるためです。[既定のショートカット メニュー]も対象に含まれます。AllowBypassKeyがFalseの場合はバイパスできません。

不要にはなりません。ACCDEはVBAソースやフォーム・レポート等の設計変更を制限する配布形式で、右クリックメニューそのものを消す設定とは役割が異なります。必要に応じて併用します。


参考情報

● Microsoft Support|カレント データベースのユーザー オプションを設定する
https://support.microsoft.com/ja-jp/access/set-user-options-for-the-current-database

● Microsoft Learn|Form.ShortcutMenu プロパティ (Access)
https://learn.microsoft.com/ja-jp/office/vba/api/access.form.shortcutmenu

● Microsoft Support|データベースを開いたときに起動オプションを省略する
https://support.microsoft.com/ja-jp/access/bypass-startup-options-when-you-open-a-database

● Microsoft Support|マクロを使用してカスタム メニューおよびショートカット メニューを作成する
https://support.microsoft.com/ja-jp/access/create-custom-menus-and-shortcut-menus-by-using-macros

● Microsoft Learn|AllowSpecialKeys プロパティ
https://learn.microsoft.com/ja-jp/office/vba/access/concepts/miscellaneous/allowspecialkeys-property

● Microsoft Learn|Set startup properties from Visual Basic(AllowFullMenus / AllowShortcutMenus / AllowSpecialKeysの対応表)
https://learn.microsoft.com/en-us/office/vba/access/concepts/miscellaneous/set-startup-properties-from-visual-basic

TOP