JPEGなどの画像ファイルテーブル保存するサンプルを紹介します。

Accessで画像ファイルを扱ったことがありますか?
OLEオートメーションなどを利用して、様々な活用ができますネ。

BITMAPを貼り付けると、写真付きの資料を作成できます。
でも、JPEGを貼り付けるとアイコンの表示になってしまいます。
あっれ〜、マッ、いいか?!  そのうちできるようになるだろう...
Access2.0を使っていたころだと思います。
Access95が出て、試してみたのですが、やっぱりJPEGはうまく行きません。
97でもダメ、2000ならと試してみてもヤッパリできません。
インターネットで調べてみると...有りました!!
アドレスは http://www.remus.dti.ne.jp/~shenron/access/knowhow/GetBinary.htmlです。←リンク先のページが無くなりました...
ご掲載下さった方に感謝致します。
私も、そのコーディングを使わせて頂きました。

ここで、ご紹介するのは、その具体的な使用例(Access97とAccess2000)です。
以下の動作を目的にしました。
 @ テーブルにOLEオブジェクト型のフィールドを設定し、
     このフィールドにJPEGなどの画像ファイルを保存する。
 A フォーム上の非連結のテキストボックスから保存するファイルのフルパスを指定し、
     特定のボタンをクリックすることにより、フィールドへの保存を実行する。
 B 保存するファイルが(イメージの表示が可能な)画像などの場合、
     フォーム上にイメージを表示する。
 C フォーム上の特定のボタンをクリックすることにより、
     編集画面を起動する。(別名保存が目的です)
 D フォーム上の特定のボタンをクリックすることにより、
     データを保存したフィールドをクリアする。
 E フォーム上の特定のボタンをクリックすることにより、
     該当の画像を貼り付けたレポートを印刷する。



サンプルのMDB(Access97版とAccess2000版)を作りました。
ご希望なら、ダウンロードしてご覧下さい。
ダウンロード(Access97版,DAO使用)
ダウンロード(Access2000版,ADO使用)

●操作方法
 ・ ファイルはLZH形式で圧縮されています。
 ・ 解凍後にAccessのMDBファイルが作成されます。
 ・ 作成されたMDBファイルをダブルクリックして起動して下さい。(単独で動作します)
●MDBファイルの内容
 ・ OLEW(テーブル)……画像ファイルなどの読み込み,保存に使用する作業用テーブルです。
 ・ テーブル1(テーブル)……画像ファイルなどを保存するフィールドを持つテーブルです。
 ・ Q_OLEW_A(取込用)(追加クエリー)……画像ファイル取込時に動作します。
 ・ Q_OLEW_A(表示用)(追加クエリー)……画像ファイル保存時に動作します。
 ・ Q_テーブル1_R(OLE)(更新クエリー)……テーブル1に画像ファイルを取り込みます。
 ・ フォーム1(フォーム)……操作用のフォームです。
 ※ Autoexecなどは作っていませんので、このフォームを手で開いて下さい。
    フォーム1のレコードソースはテーブル1になっています。
    操作を行うためには、テーブル1に実在するレコードが必要です。
    テーブル1には予め1件のレコードが格納されていますので、
    このレコードの上で操作して下さい。
 ・ レポート1(レポート)……このレポート上に印刷します。
 ・ B_BinaryField(モジュール)……OLEW(テーブル)に画像ファイルを読み込んだり、
    OLEW(テーブル)から画像ファイルをワーク用のフォルダに保存したりします。
 ※ このMDBを実行するためには、作業用のフォルダが必要です。
    B_BinaryField(モジュール)の中のコーディング
    「Private Const BinaryFile_Work As String = "C:\work"←(1)」で
    作業用のフォルダを指定しています。
    ダウンロードしたままの設定で操作する場合、
    Cドライブ直下にworkというフォルダを作成して下さい。
    別のフォルダを利用する場合、(1)"C:\work"を任意のフォルダに変更して下さい。

   この方法でJPEGをテーブルに保存すると、
     MDBの容量は保存したJPEGの容量とほぼ同程度しか増えませんでした。

エクセルやワードなどでも保存できました。
その他のバイナリ−ファイルもテーブルに保存できます。

ご意見、お問い合わせは → 

ACCESSの使い方トップページ



〒745-0801 山口県周南市大字久米327-145
中川システム開発 ホームページ
Tel(0834)28-0205 Fax(0834)28-1272