Access 2010 でナビゲーション フォームを使用する

Office Visual How To

**概要:**Microsoft Access 2010 でナビゲーション フォームを使用して、共通のデザイン スタイルを使用した Web およびクライアントを対象とするインターフェイスを作成します。

適用対象: Access 2010 | Access Services | Office 2007 | Office 2010

公開: 2010 年 7 月

提供元: Ken Getz、MCW Technologies, LLC

概要

Web アプリケーションでは、ページの上部にメイン メニュー項目が並び、メイン メニューの下またはページの左端や右端に下位の項目が表示されるのが一般的です。Access 2010 は、Web 対応のデータベース アプリケーションを簡単に作成できるように設計されており、新しいナビゲーション フォーム機能を使用すると、Web 用の標準的なユーザー インターフェイスを簡単に作成できます。また、これらのインターフェイスは、クライアント アプリケーションでも役立ちます。この Visual How To では、新しいナビゲーション フォーム機能を使用して Access 2010 フォームを作成する方法を説明し、図 1 のサンプル フォームを操作します。

図 1. サンプル フォーム

サンプル フォーム

 

コード化する

Access 2010 で、ノースウィンド サンプル データベースを開きます (ノースウィンド サンプル データベースを取得するには、[ファイル]、[新規作成]、[サンプル] の順に選択します。Office.com サンプルの一覧にある [ノースウィンド 2007] を選択します)。新しいサンプル データベースを開き、ログオン フォームを回避し、ナビゲーション ウィンドウで、オブジェクトを種類でグループ化します。[作成] タブで [ナビゲーション] を選択すると、ナビゲーション フォームを作成するときに選択できる 6 種類のレイアウトが表示されます (図 2 を参照)。ナビゲーション タブは、上部に 1 行に配置したり、フォームの左端または右端に配置したりできます。タブのレベルが複数の場合は、フォームの上部に 2 行にわたって配置したり、フォームの上部と左端または右端に配置したりできます。この例では、[水平タブと垂直タブ (左)] を選択します。タイトルの [ナビゲーション フォーム] をクリックし、これを [エンティティの管理] に変更します。終了すると、フォームは図 3 のようになります。

図 2. ナビゲーション フォーム レイアウトの選択

ナビゲーション フォーム レイアウトの選択

図 3 は、タイトルが変更されたフォームを示しています。

図 3. タイトルが変更されたフォーム

タイトルが変更されたフォーム

トップレベルのタブを作成する

サンプル フォームには、得意先、社員、および商品に関するトップレベルのオプションを表示します。最初に、ナビゲーション フォームの上部にある [新規追加] ボタンをクリックし、テキストを [得意先] に変更します。新しいタブが追加されます。この操作を繰り返して、[社員] と [商品] のタブを作成します。終了すると、タブは図 4 のようになります。

図 4. トップレベルのタブのレイアウト

トップレベル タブのレイアウト

第 2 レベルのタブを作成する

トップレベルのタブを作成した後、フォームの左側にある第 2 レベルのタブをクリックすると表示されるフォームとレポートを簡単に追加できます。最初に、トップレベルの [得意先] タブをクリックします。ナビゲーション ウィンドウにある [得意先リスト] フォームを、フォームの左側にある [新規追加] タブにドラッグします。これによってナビゲーション ボタンと既存のフォームの間に新しい接続が作成され、指定のフォームを参照するように、ボタンに移動先の名前のプロパティが設定されます。この操作を繰り返して、[得意先電話帳] レポートと [得意先住所録] レポートを左側のタブに追加します。

フォームの上部にある [社員] タブをクリックし、ナビゲーション ウィンドウにある [社員リスト] フォームを、フォームの左側にある [新規追加] タブにドラッグします。この手順を、[社員住所録] レポートと [社員電話帳] レポートについて繰り返します。上部の [商品] タブをクリックし、[商品詳細] フォームを左側のタブにドラッグします。この手順を、4 つの商品関連のレポートについて繰り返します。新しいフォームを「エンティティ」という名前で保存します。フォームは、図 1 のようになります。フォームをフォーム ビューで表示し、得意先から社員、商品へと移動して各タブを操作し、第 2 レベルのタブが正しく動作することを確認します。

手順

次のセクションでは、ナビゲーション フォームにスタイルを適用する方法について説明します。

ナビゲーション フォームへのスタイルの適用

これまでは、ナビゲーション フォームの既定のスタイルでのみ作業してきました。各ボタンの外観は制御することができ、すべてのボタンに同時にスタイルを適用できます。これを行うには、レイアウト ビューに切り替えます。次に、上部の [得意先] タブをクリックします。左側の一番上のタブをクリックし、Ctrl キーを押して、左側の残りの 2 つのタブをクリックします。リボンの [書式] タブを選択し、[クイック スタイル] ドロップダウン ボックスをクリックします (図 5 を参照)。スタイルの 1 つを選択し、選択したすべてのボタンのスタイルを構成します。

図 5. クイック スタイルを使用したタブの書式設定

クイック スタイルでのタブの書式設定

ボタンの形状を構成するには、[図形の変更] ドロップダウン ボックスを選択します (図 6 を参照)。選択されている同じボタンのセットを使用して、円形のオプションを選択します。リボンの [図形の塗りつぶし]、[図形の輪郭]、および [図形の効果] の各ツールを使用すると、別の効果を追加することもできます。光彩の効果が適用される円形に変更すると、ボタンは図 7 のようになります。

図 6. タブの形状の変更

タブの形状の変更

図 7 は、形状が変更された後のボタンを示しています。

図 7. 選択したボタンの形状の変更後

選択したボタンの形状の変更後

ナビゲーション フォームとタブ コントロールの比較

同じような機能を持つのに、標準のタブ コントロールではなく、新しいナビゲーション フォーム機能を使用することに疑問を感じるかもしれません。もちろん、理由の 1 つは、オプションの階層をサポートするメカニズムがタブ コントロールにはなく、ナビゲーション フォームにはあるからです。ユーザーがメインのカテゴリを選択し、続けてサブ カテゴリを選択できるためには、ナビゲーション フォームが唯一の選択肢です。

これに加えて、2 種類のコントロールでは、読み込み時の動作がそれぞれ異なります。ナビゲーション フォームでは、子フォームまたはレポートを、必要に応じてそれぞれ読み込みます (つまり、対応するタブをクリックするとき)。これに対して、タブ コントロールでは、読み込み時にその子オブジェクトをすべて読み込みます。これはパフォーマンスに影響するだけでなく (メイン フォームを開くときに、タブ コントロールがすべての子オブジェクトを読み込むのを待機する必要があります)、クエリ データの処理も困難になります。ナビゲーション フォームの場合は、対応するタブをクリックすると各フォームが読み込まれるため、ユーザーには確実に最新のデータが表示されます。ユーザーが各タブをクリックするときにフォームを再クエリする、特定のコードを作成する必要がありません。このことは、各タブをクリックするときに、特定のイベントも提供されないことも意味しています。代わりに、各フォームまたはレポートの Load または Open イベント ハンドラーに、読み込み時のコードを配置します。

> [!NOTE] >

ナビゲーション フォームは Access 2010 でのみ動作します。Access 2007 以前のバージョンでナビゲーション フォーム コンテナーを含むフォームを開くと、操作は失敗します。

関連情報

著者について
Ken Getz 氏は、MCW Technologies のシニア コンサルタント。『ASP.NET Developers Jumpstart』(Addison-Wesley 刊、2002 年)、『Access Developer's Handbook』(Sybex 刊、2001 年)、および『VBA Developer's Handbook, 2nd Edition』(Sybex 刊、2001 年) の共著者でもあります。