次の方法で共有


Access 2010 アプリケーションで 1 つのイメージを複数のフォームやレポートで使用する

Office Visual How To

**概要:**Microsoft Access 2010 のイメージ ギャラリーを使用して、複数のフォームやレポートにわたって領域の節約とイメージの置換を行う方法を説明します。

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

公開: 2010 年 12 月

提供元: Ken Getz、MCW Technologies, LLC (英語)

概要

この記事では、Access 2010 で新しい共有イメージ ギャラリーを使用する方法を説明します。共有イメージ ギャラリーを使用すると、複数のフォームやレポート間でのイメージの共有によってデータベース内の領域を節約できます。また、このギャラリーは、簡素化されたインターフェイスを持ちます。このインターフェイスを使用することで、プロジェクト全域でイメージの置換を実行できます。

コード化する

多くのデータベース開発者は、共有イメージ (ロゴ、フッター、ヘッダーなど) を使用します。多くの場合、開発者は、アプリケーション内のフォームまたはレポートごとにこれらのイメージを使用しています。Access 2010 より前の Access では、イメージを使用するたびにイメージのインスタンスを個別に作成していました (実行時に単一のイメージを挿入するコードを手動で作成した場合を除きます)。Access 2010 では、新しいイメージ ギャラリーを使用できます。これにより、複数のフォームやレポートにわたってイメージを共有できます。

サンプル データベースの作成

最初に、サンプルの Access データベースを作成します。このデータベースは、新しいイメージ ギャラリーの機能を確認するために使用します。

  1. Access 2010 を起動します。

  2. Access で、[ファイル]、[新規作成] の順にクリックします。

  3. 使用可能なテンプレートの一覧にある Office.com テンプレートで、[サンプル] を選択します。

  4. サンプル データベースの一覧から、[ノースウィンド 2007] を選択します。

  5. 適切なパスを選択し、[ダウンロード] ボタンをクリックして、サンプル データベースのダウンロードとインストールを新たに実行します。

  6. 要求があった場合は、メッセージ バーにある [コンテンツの有効化] ボタンをクリックして、サンプル データベースで VBA コードを有効にします。

  7. [ログイン ダイアログ] フォームの既定のログイン ID を受け入れ、[ログイン] をクリックします。

    この時点で、新たなノースウィンド 2007 サンプル データベースのダウンロードとインストールを完了している必要があります。また、Access 2010 は、このデータベースの読み込みも行います。

  8. 既定の [ホーム] フォームを閉じます。

フォームへのイメージの追加と挿入

サンプル データベースのダウンロードとインストールを完了すると、フォームにイメージを追加したり挿入したりできるようになります。

  1. デザイン ビューで [得意先詳細] を開きます。

  2. リボンの [デザイン] タブで、[コントロール] グループにある [イメージの挿入] ドロップダウン メニューを選択し、[参照] を選択します。

    図 1. イメージを挿入する


    [イメージの挿入]

  3. [図の挿入] ダイアログ ボックスで、現在のフォームに挿入するイメージのある場所に移動し、そのイメージを選択します。

  4. 選択を終えてから [開く] をクリックします。

    この操作により、イメージがフォーム上に挿入されると共に、イメージ ギャラリーにも挿入されます。

  5. もう一度 [参照] メニュー項目を選択し、追加したイメージが今度はギャラリーのパーツとして表示されることを確認します。

    図 2. イメージが今度はギャラリーに表示される


    ギャラリー内のイメージ

  6. フォーム上で、イメージを選択し、そのイメージのプロパティを調べます。

    > [!NOTE] >

    既定では、[ピクチャタイプ] プロパティが [共有] に設定されています。これは、このイメージがギャラリーのものであることを示しています。また、[ピクチャ] プロパティには、挿入したイメージの名前が格納されています。

    図 3. 新しく挿入したイメージのイメージ プロパティ


    新しく挿入するイメージのイメージ プロパティ

レポートでのイメージの再利用

ギャラリーに追加したイメージは、任意のフォームやレポートで再利用できるようになります。

  1. デザイン ビューで [得意先電話帳] レポートを開きます。

  2. リボン の [イメージの挿入] ドロップダウン メニューをクリックし、先ほど追加したイメージを選択します。

  3. レポートのヘッダー内をクリックします。この操作によってイメージが挿入されることがわかります。

  4. イメージのプロパティがフォームでの作業時に確認したプロパティに一致していることを確認します。

ギャラリー ストレージの探索

Access では、MSysResources という非表示のシステム テーブルにイメージを格納しています。このテーブルの場所は、容易に特定できます。

  1. ナビゲーション バーの上部を右クリックし、ショートカット メニューから [ナビゲーション オプション] を選択します。

  2. [ナビゲーション オプション] ダイアログ ボックスで、[隠しオブジェクトの表示] チェック ボックスと [システム オブジェクトの表示] チェック ボックスをオンにします。

    図 4. 隠しオブジェクトとシステム オブジェクトの表示をオンにする


    [隠しオブジェクトの表示] および [システム オブジェクトの表示] オプション

  3. 操作が完了したら、[OK] をクリックします。

    これで、MSysResources テーブルが既存のテーブルの一覧に表示されるはずです。

  4. ナビゲーション バーの [MSysResources] テーブルをダブルクリックすると、図 5 に示すような情報が表示されます。

    ご覧のように、Access では、イメージそのものを添付ファイルとして、ファイルの拡張子、名前、および種類と一緒に格納しています。

    図 5. MSysResources テーブルの内容を調べる


    MyResources テーブルの内容

イメージの置き換え

フォームやレポートに表示される、ギャラリーからのイメージのインスタンスのそれぞれには、実際には共有イメージへの参照が含まれています。そのため、個々のフォームやレポートにアクセスしなくても、すべての使用先にわたるイメージの置き換えを容易に実行できます。

  1. それまでに変更したフォームやレポートを保存して閉じます。

  2. デザイン ビューで [得意先詳細] を再び開きます。

  3. [デザイン] タブの [コントロール] グループにある [イメージの挿入] ドロップダウン メニューをクリックし、先ほど挿入したイメージを右クリックして、ショートカット メニューから [更新] を選択します。

    図 6. 既存のイメージを更新する


    既存のイメージを更新する

  4. [図の挿入] ダイアログ ボックスで、別のイメージを選択し、[開く] をクリックして既存のイメージを置き換えます。

    > [!NOTE] >

    この操作により、現在のフォーム上のイメージが直ちに置き換えられます。

  5. フォームを閉じ、デザイン ビューで [得意先電話帳] レポートを開きます。

    ギャラリー内でのイメージの変更により、レポート内のイメージも変更されることがわかります。このことは、ギャラリー内でイメージを更新すると、そのイメージがすべての使用先で更新されることを裏付けています。

イメージの名前の変更

Access は、イメージ名をキーワードとして使用してギャラリーからイメージを取得します。そのため、共有イメージのそれぞれのインスタンスには、イメージ コンテナーのプロパティ内にある元のイメージの名前が格納されています。したがって、ギャラリー内にある画像の名前を変更する場合は、アプリケーション内の該当するイメージの各インスタンスの名前も手動で更新する必要があります。

  1. 得意先電話帳のレポートをデザイン ビューで開いた状態で、[イメージの挿入] ドロップダウン メニューをクリックし、ギャラリーに追加したイメージを右クリックして、ショートカット メニューの [名前の変更] を選択します。

  2. イメージに新しい名前を付け、[OK] をクリックします。

    > [!NOTE] >

    この時点では、すべてのイメージが正常に表示されています。

  3. レポートをいったん閉じ、デザイン ビューでもう一度開きます。

    > [!IMPORTANT] >

    すると、レポートはイメージを表示できなくなります。これは、レポートが古い名前を使用してイメージを探しているためです。

  4. イメージをクリックし、[プロパティ] ウィンドウの [ピクチャ] プロパティで、先ほど共有イメージに付けた名前を選択することでこのプロパティを修正します。

手順

Access 2010 では、イメージ ギャラリーをデータベースそのものに格納しています。そのため、追加のソフトウェアを用意しなくてもギャラリーを使用できます。それぞれのイメージのコピーは 1 つしか格納されないので、データベース アプリケーションのサイズを大幅に削減できます。また、ギャラリー内のイメージを置き換えるだけで、そのイメージのすべてのインスタンスを置き換えられます。この変更は、そのイメージが表示される個々のフォームやレポートにも反映されます。そのため、このツールを使用すると、アプリケーションのメンテナンスが従来よりもずっと容易になります。

Access では、フォームやレポートの [デザイン] タブの [ヘッダー/フッター] グループに [ロゴ] というボタンがあります。この [ロゴ] ボタンをクリックすると、選択しているイメージが現在のフォームまたはレポートの左上隅に挿入されます。クライアントのフォームやレポートの場合、Access はそのイメージを直接フォーム上に格納します。Web フォームや Web レポートの場合、Access はギャラリー内にイメージを格納し、イメージへの参照をフォームまたはレポート上に配置します。

> [!IMPORTANT] >

クライアント アプリケーションで [ロゴ] ボタンを使用すると、選択しているイメージのコピーが個々のフォームやレポート上に 1 つずつ配置されます。また、イメージ ギャラリーを使用して、フォームやレポートの背景イメージを作成することもできます。ただし、この機能は、クライアントのフォームとレポートでしか動作しません。

ビデオ

ビデオを見る

ビデオを見る (英語) | 長さ: 00:20:29

関連情報

著者について
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 年) の共著者でもあります。