Microsoft Accessデータベースで画像データを扱う際に添付ファイル型を使用することがあります。
従来のOLEオブジェクト型ではWindowsビットマップ(.bmp)画像以外の、例えばJPEG画像等を表示するためには別途表示するためのOLEサーバー(microsoft Photo Editor等)が必要でした。
添付ファイル型では
などの画像形式を追加のソフトウェアが必要なく表示することができます。
さて、ワークフローのプログラムをMicrosoft Accessで開発し、印章の画像データをデータベース内に格納して申請書の印刷で表示させるとします。
簡単に二つのテーブルを準備します
次に申請書に申請者と承認者の印章を表示するためにクエリを準備します。
添付ファイル型の情報が表示されています。
レポートのデザインで上記のクエリをデータソースにします。
印章を表示させるためにフィールドリストを表示してみます。
これでは印章を表示させることはできません。
試しにM_承認者.印章をクエリの出力から外してフィールドリストを表示してみます。
申請者の印章だけなら表示できそうです。
それでは、クエリではなく申請書表示用に別のテーブルを準備してみます。
このテーブルをレポートのデータソースにしてフィールドリストを表示してみます。
二つの印章フィールドは添付ファイル型の情報がそのまま表示されています。
これで申請者と承認者の二つの印章を表示することができます。
では、クエリをデータソースにすると複数の添付ファイル型は使いづらいのでしょうか?
試しに、上記のテーブルでクエリを作成してみます。
上記のクエリをデータソースにしてフィールドリストを表示してみます。
二つの印章フィールドは添付ファイル型の情報がそのまま表示されています。
クエリをデータソースにしても問題ないようです。
最初のクエリとどこが違うのでしょうか?
では、問題のなかったクエリの印章フィールドの一つをASで名前を変えてみます。
フィールドの名前を変えたクエリをデータソースにしてフィールドリストを表示してみます。
結論としては、添付ファイル型が複数あるかどうかではなく、テーブル名に別名(エイリアス)定義したりフィールド名をASで変更するとFileURLになるようです。
添付ファイル型の画像をフォームやレポートで複数表示するには一工夫が必要というお話でした。