ユーザ用ツール

サイト用ツール


サイドバー

プログレス合同会社

広告

msaccess:attachmenttype

22.添付ファイル型の複数表示

Microsoft Accessデータベースで画像データを扱う際に添付ファイル型を使用することがあります。

従来のOLEオブジェクト型ではWindowsビットマップ(.bmp)画像以外の、例えばJPEG画像等を表示するためには別途表示するためのOLEサーバー(microsoft Photo Editor等)が必要でした。

添付ファイル型では

  • BMP(Windowsビットマップ)
  • GIF(グラフィックスインターチェンジ形式)
  • JPEG(Joint Photographic Experts Group)
  • PNG(ポータブルネットワークグラフィックス)
  • TIFF(Tagged Image File Format)
  • EMF (拡張メタファイル)

などの画像形式を追加のソフトウェアが必要なく表示することができます。

さて、ワークフローのプログラムをMicrosoft Accessで開発し、印章の画像データをデータベース内に格納して申請書の印刷で表示させるとします。

簡単に二つのテーブルを準備します

msaccess:attachmenttype0101.png
印章の画像データが格納されている『M_社員』です。

msaccess:attachmenttype0102.png
承認者が設定されている『M_承認経路』です。

次に申請書に申請者と承認者の印章を表示するためにクエリを準備します。

msaccess:attachmenttype0111.png
M_承認者はM_社員の別名(エイリアス)です。

添付ファイル型の情報が表示されています。

レポートのデザインで上記のクエリをデータソースにします。
印章を表示させるためにフィールドリストを表示してみます。

msaccess:attachmenttype0112.png
添付ファイル型の情報がFileURLになっています。

これでは印章を表示させることはできません

試しにM_承認者.印章をクエリの出力から外してフィールドリストを表示してみます。

msaccess:attachmenttype0113.png
添付ファイル型の情報がそのまま表示されています。

申請者の印章だけなら表示できそうです。

それでは、クエリではなく申請書表示用に別のテーブルを準備してみます。

msaccess:attachmenttype0121.png
添付ファイル型が二つあります。

このテーブルをレポートのデータソースにしてフィールドリストを表示してみます。

msaccess:attachmenttype0122.png
二つの印章フィールドは添付ファイル型の情報がそのまま表示されています。

これで申請者と承認者の二つの印章を表示することができます。

では、クエリをデータソースにすると複数の添付ファイル型は使いづらいのでしょうか?
試しに、上記のテーブルでクエリを作成してみます。

msaccess:attachmenttype0123.png
二つの印章フィールドを出力しています。

上記のクエリをデータソースにしてフィールドリストを表示してみます。

msaccess:attachmenttype0124.png
二つの印章フィールドは添付ファイル型の情報がそのまま表示されています。

クエリをデータソースにしても問題ないようです。

最初のクエリとどこが違うのでしょうか?

では、問題のなかったクエリの印章フィールドの一つをASで名前を変えてみます。

msaccess:attachmenttype0131.png
承認者印章を『承認者印』にしています。

フィールドの名前を変えたクエリをデータソースにしてフィールドリストを表示してみます。

msaccess:attachmenttype0132.png
名前を変えたフィールドはFileURLになっています。

結論としては、添付ファイル型が複数あるかどうかではなく、テーブル名に別名(エイリアス)定義したりフィールド名をASで変更するとFileURLになるようです。

添付ファイル型の画像をフォームやレポートで複数表示するには一工夫が必要というお話でした。

msaccess/attachmenttype.txt · 最終更新: 2022/05/16 by プログレス合同会社