Accessで作ったフォームやレポートを社内で使ってもらうとき、「どのフォームを開けばいいかわからない」というフィードバックを受けたことはないでしょうか。その問題を解消するのがナビゲーションフォームです。
ナビゲーションフォームとは、Accessに標準搭載されている「タブ型メニュー画面」作成機能です。データ入力フォームやレポートをタブやボタンに割り当てておくことで、利用者はクリック一発で目的の画面に移動できます。完成後は「起動フォーム」として設定することで、Accessファイルを開いた瞬間にメニュー画面が表示される業務アプリケーションを構築できます。
本記事では、ナビゲーションフォームの作成手順・タブとボタンのカスタマイズ・起動フォームへの設定・MOS Access試験での出題ポイントを体系的に解説します。
ナビゲーションフォームとは
ナビゲーションフォームは、Access 2010以降で利用できる機能です。内部的には「ナビゲーションコントロール」と呼ばれるコントロールを配置した通常のフォームです。各タブ・ボタンには既存のフォームやレポートを紐付け(サブオブジェクトとして埋め込み)、クリックすると対応する画面がフォームの下半分に表示される仕組みになっています。
ナビゲーションフォームが役立つ場面は主に以下の2つです。
- 社内共有ファイル:Excelに慣れた担当者でもAccessの画面操作に迷わないよう、目的別のメニューをタブで整理する
- 業務システムの仕上げ:ナビゲーションウィンドウ(左側のオブジェクトリスト)を非表示にし、ナビゲーションフォームだけを起動することでシステムらしい見た目に仕上げる
ナビゲーションフォームの作成手順
新規作成の基本ステップを説明します。
ステップ1:リボンから「ナビゲーション」を選択する
Accessを開き、リボンの「作成」タブを選択します。「フォーム」グループにある「ナビゲーション」ボタンをクリックします。ドロップダウンが開き、レイアウトのバリエーションを選択できます。
| レイアウト名 | タブ・ボタンの位置 | 向いている用途 |
|---|---|---|
| 水平タブ | フォーム上部に横並びのタブ | 分類が5個以下のシンプルなメニュー |
| 垂直タブ(左) | フォーム左側に縦並びのタブ | 項目数が多い場合・Webアプリ風のレイアウト |
| 垂直タブ(右) | フォーム右側に縦並びのタブ | 右利きのユーザーが多い操作環境 |
| 水平タブと垂直タブの組み合わせ | 上部タブ+左側サブタブの2段構成 | 大分類・小分類の階層メニュー |
作成後でもレイアウトを変更できますが、タブの配置が大きく変わるため最初に使い方を決めてから選択するとスムーズです。まず最もシンプルな「水平タブ」から始めることをお勧めします。
ステップ2:タブにフォーム・レポートを割り当てる
ナビゲーションフォームが作成されると、デザインビューが開き「[新規追加]」と書かれた空のタブが並んでいます。ここにフォームやレポートを割り当てる方法は2つあります。
方法A:ドラッグ&ドロップで割り当てる
- Accessのナビゲーションウィンドウ(左側のオブジェクトリスト)から目的のフォームまたはレポートを選ぶ
- 選択したオブジェクトを「[新規追加]」タブの上にドラッグ&ドロップする
- タブの表示名がオブジェクト名に変わり、そのフォーム・レポートが割り当て完了する
方法B:プロパティシートで設定する
- タブをクリックして選択状態にする
- 「F4キー」またはリボン「プロパティシート」を開く
- 「データ」タブの「ナビゲーション対象のフォーム」プロパティで割り当てるオブジェクトを選択する
プロパティシート経由で設定するとフォーム以外のオブジェクトも柔軟に割り当てられるため、複雑な構成の場合は方法Bが確実です。
ステップ3:タブの表示名を変更する
初期状態ではタブの表示名はオブジェクト名(例: 「F_顧客入力」など開発者向けの名前)になっています。利用者向けにわかりやすい名前に変更します。
- デザインビューでタブをダブルクリックするか、タブを選択してプロパティシートの「標題」プロパティを変更する
- 「F_顧客入力」→「顧客データ入力」のように、利用者が直感的にわかる業務用語に変更する
「標題」を設定してもオブジェクト名(「ナビゲーション対象のフォーム」)は変わりません。表示名と実際のオブジェクト名は独立しているため、後からオブジェクトを差し替えても標題は維持されます。
ステップ4:タブの順序を並べ替える
タブをデザインビューで左右(または上下)にドラッグすることで表示順を変更できます。利用頻度が高い機能を左(または上)に配置するとユーザー体験が向上します。複数タブを一括で並べ替える機能はないため、タブ数が多い場合は最初から順序を決めてから作成するほうが効率的です。
ステップ5:不要なタブを削除する
デザインビューで削除したいタブを右クリックし「削除」を選択します。削除してもナビゲーションウィンドウのフォームやレポート本体は削除されず、ナビゲーションフォームの割り当てが解除されるだけです。
2段構成のナビゲーションフォームを作る
「水平タブと垂直タブの組み合わせ」レイアウトを使うと、上部タブで大分類(例: 受注管理・在庫管理・帳票出力)、左側タブで小分類(例: 受注入力・受注照会・受注修正)の2段階メニューを実現できます。
設定の流れは以下の通りです。
- 上部の大分類タブに割り当てるオブジェクトとして「別のナビゲーションフォーム(小分類メニュー)」を指定する
- 小分類メニューとなるナビゲーションフォームをあらかじめ別途作成しておく(垂直タブ(左)レイアウト推奨)
- 大分類タブのプロパティシートで「ナビゲーション対象のフォーム」に小分類ナビゲーションフォームを指定する
実装の複雑さが増すため、まず1段の水平タブで動作を確認してから2段構成に発展させるのが安全な進め方です。
起動フォームに設定してAccessを業務アプリ化する
ナビゲーションフォームをデータベースの「表紙」として設定することで、Accessファイルを開いた瞬間にメニュー画面が自動表示されます。設定手順は以下の通りです。
- リボン「ファイル」→「オプション」→「現在のデータベース」を開く
- 「アプリケーションのオプション」にある「表示フォーム」ドロップダウンで、作成したナビゲーションフォームを選択する
- 「OK」ボタンをクリックし、Accessを一度閉じて再度開くと起動時にナビゲーションフォームが表示される
さらに、同じ「現在のデータベース」画面で以下の設定を組み合わせると、よりアプリケーションらしい見た目になります。
| 設定項目 | 推奨値 | 効果 |
|---|---|---|
| ナビゲーションウィンドウの表示 | チェックを外す | 左側のオブジェクトリストが非表示になり、利用者が直接フォーム・レポートを操作できなくなる |
| フルメニューを許可する | チェックを外す | 上部リボンが制限されてシステム風の見た目になる |
| アプリケーション名 | 業務システム名を入力 | タイトルバーやタスクバーに表示される名称がAccessからシステム名に変わる |
注意点として、ナビゲーションウィンドウを非表示にすると開発者もオブジェクトにアクセスしにくくなります。設定変更や修正が必要なときはShiftキーを押しながらAccessファイルを開くことで起動時の設定をバイパスし、通常のナビゲーションウィンドウが表示された状態で開けます。
ナビゲーションフォームとサブフォームの違い
初学者がよく混同するのが「ナビゲーションフォーム」と「サブフォーム」です。両者の違いを整理します。
| 比較項目 | ナビゲーションフォーム | サブフォーム |
|---|---|---|
| 主な用途 | メニュー画面・画面切り替え | 一対多の関連データを親フォーム上に表示(データ連携) |
| データのリンク | フォーム間のデータリンクなし(独立表示) | 「リンク親フィールド」「リンク子フィールド」で親子関係のデータを自動フィルタリング |
| 作成方法 | 「作成」タブ→「ナビゲーション」から専用ウィザードで作成 | デザインビューでサブフォームコントロールを追加、またはフォームウィザードで選択 |
| 切り替え操作 | タブ・ボタンのクリックで表示フォームが切り替わる | 親フォームのレコード移動に連動して表示データが変わる |
| MOS試験での位置付け | Expert(上級)レベルの出題項目 | Associate(標準)レベルの出題項目 |
「受注一覧からレコードを選ぶと明細が下に表示される」のはサブフォームの役割です。「どの業務を行うかをタブで選ぶメニュー画面」がナビゲーションフォームの役割です。両者を組み合わせることで、「メニューでタブを選ぶ→フォームが開く→そのフォーム内にサブフォームで関連データが表示される」という本格的なアプリケーション設計が実現します。
よくある問題と対処法
| 問題 | 原因 | 対処法 |
|---|---|---|
| タブをクリックしてもフォームが表示されない | タブに割り当てたフォームが存在しない、またはオブジェクト名が変更・削除されている | プロパティシートで「ナビゲーション対象のフォーム」を確認し、正しいオブジェクト名を再選択する |
| 起動フォームが開かず通常のAccessが起動する | Shiftキーを押しながら開いた(開発者用バイパス)、または「表示フォーム」設定が保存されていない | 「ファイル」→「オプション」→「現在のデータベース」を再確認してOKをクリック後、完全に再起動する |
| ナビゲーションウィンドウを非表示にしたら修正できなくなった | 「現在のデータベース」で「ナビゲーションウィンドウの表示」をオフにした | Shiftキーを押しながらファイルを開くと起動設定をバイパスしてナビゲーションウィンドウが表示される |
| タブの表示名が変更できない | フォームビュー(実行状態)でタブを操作しようとしている | デザインビューに切り替えてからタブをダブルクリックするか、プロパティシートの「標題」を変更する |
| レポートをタブに割り当てたが表示されない | Accessのバージョンによりレポートの直接埋め込みに制限がある | レポートを開くマクロ(OpenReport)をボタンに割り当てる方法に切り替えるか、Access 2013以降の「レポートビュー」を使う |
MOS Access試験でのナビゲーションフォーム出題ポイント
MOS Access 365&2019では、ナビゲーションフォームは「フォームの作成と変更」スキル項目に含まれます。Expert(上級)レベルで問われることが多い内容です。
- ナビゲーションフォームの作成:「作成」タブから正しい操作でナビゲーションフォームを新規作成できる
- フォームの割り当て:ドラッグ&ドロップまたはプロパティシートで既存フォームをタブに割り当てられる
- タブの標題変更:プロパティシートの「標題」を使ってタブの表示名を変更できる
- 起動フォームの設定:「現在のデータベース」オプションで「表示フォーム」にナビゲーションフォームを指定できる
- ナビゲーションウィンドウの表示・非表示:「現在のデータベース」オプションで設定を変更できる
MOS試験 ナビゲーションフォーム関連チェックリスト
| 確認ポイント | 操作内容 | 難易度 |
|---|---|---|
| ナビゲーションフォームの新規作成 | 「作成」→「ナビゲーション」から任意のレイアウトで作成できる | ★☆☆ |
| フォームのタブへの割り当て | ドラッグ&ドロップまたはプロパティシートで既存フォームを割り当てられる | ★★☆ |
| タブの標題変更 | プロパティシートの「標題」で表示名を変更できる | ★★☆ |
| タブの順序変更 | デザインビューでドラッグしてタブの並び順を変更できる | ★★☆ |
| 起動フォームの設定 | 「ファイル」→「オプション」→「現在のデータベース」→「表示フォーム」で設定できる | ★★★ |
| ナビゲーションウィンドウの非表示設定 | 「現在のデータベース」オプションでチェックを外せる | ★★★ |
まとめ:ナビゲーションフォームはAccessアプリの「玄関」
本記事のポイントをまとめます。
- ナビゲーションフォームとは:タブ・ボタンに既存のフォームやレポートを割り当て、クリックで画面を切り替えられるメニュー画面。Access 2010以降の標準機能
- 作成ステップ:「作成」→「ナビゲーション」でレイアウトを選択→タブへのドラッグ&ドロップまたはプロパティシートでオブジェクトを割り当て→「標題」でわかりやすい表示名に変更
- 起動フォーム設定:「ファイル」→「オプション」→「現在のデータベース」→「表示フォーム」でナビゲーションフォームを指定すると、Accessファイルを開くたびにメニュー画面が自動表示される
- ナビゲーションウィンドウの非表示:「現在のデータベース」でオフにするとシステム感が出る。修正時はShiftキーを押しながら開いてバイパスする
- サブフォームとの違い:ナビゲーションフォームは「どの画面に行くか」の画面切り替え用。サブフォームは「親レコードに連動した子データ表示」のデータ連携用
- MOS試験での出題:Expert(上級)レベルの「フォームの作成と変更」スキル項目で出題。作成・割り当て・標題変更・起動フォーム設定の操作をデザインビューとオプション画面の両方で実践練習しておく
ナビゲーションフォームを設定するとAccessファイルの「使いやすさ」が大きく変わります。業務データを管理するだけでなく、担当者が迷わず操作できるメニュー画面を整えることで、Accessデータベースは個人ツールから組織の業務アプリへと昇格します。MOS試験対策としては、実際にフォームを複数作成した後でナビゲーションフォームにまとめ、起動フォームとして設定する一連の流れを繰り返し練習することが最短の攻略法です。
