Windows 10,11

Microsoft Accessでナビゲーションメニュー付きフォームを作成する方法

Microsoft Accessでメインフォームの左側にナビゲーションメニューを配置し、メイン領域にサブフォームを表示する使いやすいインターフェースを作成する手順を詳しく解説します。

Accessナビゲーションメニュー

対象OS Windows 10、Windows 11

ナビゲーションメニューの必要性と効果

Accessで複数のフォームや機能を持つデータベースアプリケーションを作成する際、ユーザーが直感的に操作できるナビゲーションメニューは重要な要素です。従来の方法では、各フォームを個別に開く必要があり、ユーザビリティの面で課題がありました。

この記事では、メインフォームの左にナビゲーションメニューを配置し、右側のメイン領域にサブフォームを動的に表示する手法を紹介します。これにより、一つの画面で複数の機能にアクセスできる、モダンなアプリケーションライクなインターフェースを実現できます。

1. メインフォームの作成とレイアウト設定

まず、ナビゲーションメニューとサブフォームを配置するためのメインフォームを作成し、適切なレイアウトを設定します。

  1. Accessを起動し、[作成]タブから[フォーム デザイン]を選択してデザインビューでフォームを作成します。
  2. フォームのプロパティを開き、[書式]タブで「既定のビュー」を「単票フォーム」に設定します。
  3. ヒントヒント: フォームのサイズは、想定する画面解像度に合わせて適切に設定してください。

  4. フォームの背景色を設定し、全体のサイズを調整します。メニュー領域とメイン領域を分けるため、適切な幅を確保します。
    フォームレイアウト設定
    フォーム全体のレイアウトを設計します。
  5. 左側にナビゲーションメニュー用の領域、右側にサブフォーム表示用のメイン領域を確保できるように調整します。
    領域の分割
    メニュー領域とメイン領域を明確に分けます。
  6. ヒントヒント: ナビゲーションメニュー領域に背景色付きのボックス(四角形)を設置すると、メニューの視認性やデザイン性が向上します。(ボックスは最背面に設定してください)

2. ナビゲーションメニューボタンの作成

左側のメニュー領域にナビゲーション用のボタンを配置し、各ボタンに適切なスタイルを設定します。

  1. [フォーム デザイン]タブから[ボタン]コントロールを選択し、左側のメニュー領域に最初のナビゲーションボタンを配置します。
  2. ボタンのプロパティを開き、「標題」に「受注管理」などの適切な名前を入力し、「名前」プロパティも設定します。
  3. 同様にして、必要な数のナビゲーションボタンを縦に配置します。ボタン間の間隔を統一して見た目を整えます。
    ナビゲーションボタン配置
    複数のナビゲーションボタンを配置します。
  4. 各ボタンのスタイルを統一するため、背景色、フォント、サイズなどのプロパティを調整します。
    ボタンスタイル設定
    ボタンの外観を統一します。
  5. ヒントヒント: ボタンのスタイルを統一するには、最初のボタンの書式をコピーして他のボタンに適用すると効率的です。また、[配置]タブの[サイズ/間隔]や[配置]を使って、ボタンの位置や間隔を揃えるとよいでしょう。

3. サブフォームの設置と連携設定

メイン領域にサブフォームコントロールを配置し、ナビゲーションボタンと連携させる設定を行います。

  1. [デザイン]タブから[サブフォーム/サブレポート]コントロールを選択し、右側のメイン領域に配置します。
    サブフォームを配置
    [サブフォーム]を配置します。
  2. サブフォームウィザードで「既存のフォームを使用する」を選択し、最初に表示したいフォームを選んで設定します。
    規定のフォームを選択
    既定のフォームを選択します。
  3. ヒントヒント: サブフォームに表示するフォームは、事前に作成しておく必要があります。

  4. サブフォームのプロパティで「名前」を「subMain」などの識別しやすい名前に設定します。
    サブフォーム配置
    サブフォームをメイン領域に配置します。
  5. 各ナビゲーションボタンのクリックイベントにVBAコードを記述し、サブフォームの表示処理を設定すれば完了です。
    VBAコード設定
    ボタンクリック時の動作を設定します。

VBAコードの実装例

各ナビゲーションボタンのクリック時イベントに設定するVBAコードの例を紹介します。この方法により、動的にサブフォームの内容を切り替えることができます。

(コード例)ボタン「btn_受注管理」をクリックすると、サブフォームに「受注管理」フォームを表示する

Private Sub btn_受注管理_Click()
 Me.subMain.SourceObject = "受注管理"
End Sub

コマンドをコピー

ヒントヒント: 他にも、ナビゲーションメニュー内のボタンに「レコードソースの切り替え」や「クエリの実行」を割り当てることで、メイン領域に表示される情報を切り替えることもできます。

関連サイト(外部)

サブフォームを含むフォーム (一対多のフォーム) を作成する 外部リンク