データベースにイメージを格納する - Access - Office.com
データベースにイメージを格納する - Access - Office.com
画像、ロゴ、写真などのイメージを、フォームやレポートに表示することができます。このためには、まずこれらのイメージを格納する必要があります。Access ではイメージを格納する方法がいくつかあり、ここではそれぞれの方法について説明します。
フォームやレポートへのイメージの表示に関する情報が必要な場合は、「Access のフォーム、レポート、およびコントロールでイメージを使用する」を参照してください。Access データベースでのイメージの使用方法の概要については、「Access データベースへの画像の追加」を参照してください。
Access データベースへのイメージの格納について
Access では、次に示す複数の方法でイメージを格納できます。
- データベース テーブルの OLE オブジェクト型のフィールドに直接イメージを埋め込む
オブジェクトのリンクと埋め込み (OLE) は、各種 Office プログラム間でファイルを共有するために使用されるテクノロジです。たとえば、Excel のワークシートを Word 文書に挿入したり、Microsoft PowerPoint のスライドを Microsoft Visio 図面に挿入する際に、OLE が使用されています。OLE オブジェクト型のフィールドは、イメージ (またはイメージへのリンク) や、他の Office プログラムのファイルを直接データベースに格納する必要がある場合に使用します。
この方法では、Access が提供する画面とツールを使用するため、最も簡単に実装できます。また、イメージはデータベースに取り込まれ、データベースと共に移動します。イメージ ファイルのリンクを更新する必要はまったくありません。
プリンタは、周りに来たときにただし、イメージを埋め込むと、データベースのサイズが急激に増大し、動作が遅くなる可能性があります。GIF ファイルや JPEG ファイルを格納する場合は、OLE により各イメージ ファイルの表示情報を含む追加のビットマップ ファイルが作成され、これらの追加ファイルは元のファイルよりもサイズが大きくなる可能性があるため、特にその傾向が見られます。また、この方法でサポートされるグラフィック ファイル形式は、Windows ビットマップ (.bmp) およびデバイスに依存しないビットマップ (.dib) のみです。他の一般的なイメージ ファイル (GIF イメージや JPEG イメージなど) を表示する場合は、追加のソフトウェアをインストールする必要があります。
- ハード ドライブまたはネットワークにイメージを格納して、データベース テーブルからリンクする
この方法は、最初の方法と似ていますが、イメージを OLE オブジェクト型のフィールドに埋め込むのではなく、イメージのリンクを設定します。この方法は、折衷案と言えます。リンクは、イメージを埋め込む場合に比べて必要な領域が少なくて済むうえ、Access が提供する画面やツールを使用してソリューションを実装できます。
ただし、データベースやイメージ ファイルを移動した場合、リンクを更新する必要があるほか、ファイルが破損した場合もリンクが壊れます。また、この方法でサポートされるファイルの種類は最初の方法と同じもの (Windows ビットマップおよびデバイスに依存しないビットマップ) に限られ、その他の種類のファイルを表示する場合は追加のソフトウェアが必要です。
- Visual Basic for Applications (VBA) コードを使用してイメージを表示する
この方法では、イメージ自体をハード ドライブまたはネットワークに格納し、イメージのパスとファイル名をデータベース テーブルに格納してから、Access イメージ コントロールのプロパティをコードにより設定してイメージを表示します。この方法ではプログラミングが必要になりますが、わずかな領域しか必要とせず、既存のサンプル コードをそのまま使用したり応用したりできます。多数のイメージがある場合は、この方法が推奨されます。
ただし、データベースを移動する場合は、イメージも移動する必要があることに注意してください。
以下のセクションでは、各格納方法の手順を説明し、サンプル コードへのリンクを提供します。
どのようにマヤ8.0のアルファベットを作成するデータベース テーブルにイメージを埋め込むかリンクを設定する
テーブルにファイルを埋め込んだり、ファイルへのリンクを設定したりする場合は、次の広範な作業を行う必要があります。
- OLE オブジェクト型のフィールドを既存のテーブルに追加するか、または新しいテーブルを作成して OLE オブジェクト型のフィールドを追加します (これらをまだ実行していない場合)。
- フィールドにイメージ ファイルを挿入します。このプロセスの一環として、ファイルを埋め込むかリンクするかを選択します。
次のセクションでは、上記の作業の実行方法を説明します。
JPEGファイルの数は、ハードドライブ上に置くことができます- データベース ウィンドウで [オブジェクト] の [テーブル] をクリックし、[デザイン ビューでテーブルを作成する] をダブルクリックします。テーブルのデザイン ビューが表示されます。
- デザイン ビューで、[フィールド名] の下の最初の空白行に「ID」と入力します。
- [データ型] の下の最初のフィールドをクリックし、一覧の [オートナンバー型] をクリックします。
- 最初の行の任意の場所を右クリックし、[主キー] をクリックします。これにより、ID フィールドがテーブルの主キーに設定されます。
- [フィールド名] 列の次の行に「イメージ」と入力し、[データ型] 列の一覧の [OLE オブジェクト型] をクリックします。
- テーブルを保存します。Access により設定されたテーブル名を使用することも、別の名前を指定することもできます。
- デザイン ビューのテーブルを閉じ、これをデータシート ビューで開きます (テーブルをダブルクリックして、再度開きます)。
- 次の手順「OLE オブジェクト型のフィールドにイメージを追加する (埋め込みまたはリンク)」に進んでください。
OLE オブジェクト型のフィールドにイメージを追加する (埋め込みまたはリンク)
このセクションの手順では、前のセクションで説明した既存または新しいテーブルと、Microsoft Office 2003 によりインストールされる一連のイメージ ファイルを使用します。代わりに、独自のテーブルとファイルを使用することもできます。
- テーブルの [イメージ] 列の最初のフィールドをマウスの右ボタンでクリックし、[オブジェクトの挿入] をクリックします。
- [ファイルから] をクリックし、[参照] をクリックします。
- Windows ビットマップ (.bmp) またはデバイスに依存しないビットマップ (.dib) イメージを 1 つ以上参照します。<ドライブ>:\Program Files\Microsoft Office\OFFICE11\SAMPLES には、Empid1.bmp ~ Empid9.bmp という名前の一連の BMP ファイルが用意されています。最初のイメージを選択し、[OK] をクリックします。
ここでは、セットアップ時に既定のインストール パスを選択しているものと想定しています。
- イメージをリンクする場合は、[リンク] チェック ボックスをオンにし、もう一度 [OK] をクリックして、プロセスを完了します。テーブルにファイルを埋め込む場合は、[リンク] チェック ボックスをオフのままにして、[OK] をクリックします。テーブルの [イメージ] 列の最初のフィールドに "ビットマップ イメージ" という語が表示されます。
メモ この OLE オブジェクト型のフィールドに "パッケージ" が表示された場合は、サポートされていない種類の画像ファイル (GIF や JPEG など) をリンクまたは埋め込もうとしています。このような種類のファイルを表示する必要がある場合は、Microsoft Photo Editor を再インストールできます。Photo Editor の再インストールの詳細については、「データベース テーブルで "ビットマップ イメージ" ではなく "パッケージ" と表示される際の対処方法」を参照してください。
- [イメージ] 列の他のフィールドに移動し、手順 2. ~ 5. を繰り返して、必要なイメージを追加します。
VBA コードを使用してイメージを表示する
多数のイメージ ファイルを処理し、データベース レコードごとに異なるイメージを表示する場合は、ある程度の VBA プログラミングを行うことで、時間と記憶域容量を節約できます。イメージをハード ドライブまたはネットワークに格納し、イメージのパスとファイル名をデータベースのテキスト フィールドに格納してから、VBA コードを使用してこのパス情報を読み取り、Access のイメージ コントロールの "Picture/ピクチャ" プロパティを設定します。
この処理では、イメージ ファイルは連結されるのではなく、リンクされることに注意してください。また、データベースを移動した場合は、イメージも移動する必要があります。例としてノースウィンド サンプル データベースを開き、デザイン ビューで [社員] フォームを開いて、この手法を実際に確認してみましょう。
- フィールドを追加するテーブルを (デザイン ビュー) で開きます。
- デザイン ビューで、[フィールド名] の下の最初の空白行に「イメージ」と入力します。
- 次のフィールド ([データ型] 列のフィールド) をクリックし、一覧の [テキスト型] をクリックします。
- テーブルを保存します。
- 次のマイクロソフト サポート技術情報の指示に従ってください。
「[ACC2003] フォルダ内のイメージをフォーム、レポート、またはデータ アクセス ページに表示する方法」(英語)
データベースのユーザーは、イメージ ファイルのパスを参照できます。利用する可能性のあるすべてのユーザーを信頼できる場合以外は、このファイル パスからは自分の名前や使用しているコンピュータの名前などの個人情報を削除してください。また、画像の参照には、相対パスも使用できることに留意してください。
たとえば、データベースを \\ServerName\ShareName\ などのネットワークに配置し、この共有上のフォルダ \\ServerName\ShareName\Pictures にイメージを格納している場合、パス全体を指定する必要はありません。
この場合、\\ServerName\ShareName\Pictures\Picture.gif を使用する代わりに、Pictures\Picture.gif のように、パスの異なる部分のみを現在の Access ファイルの場所の相対パスとして使用できます。
0 コメント:
コメントを投稿