
OS: XP
Access Version: 2003
アクセスを使って、商品管理に画像を取り入れようと思い苦戦しています。
(1)商品データのフィールドにOLEを設定しました。
(2)BMPの24ビット保存画像でないと上手に表示されないことが分かりました。
さて、ここから質問なのですが、
◆ネット上から画像をWIN-SHOTというソフトで取り出し、
bmpで保存をしても、その画像を挿入するとそのフィールドのデータとして
「パッケージ」と表示されて上手に表示できません。
◆一度保存した画像を、再度ペイントで呼び出し、「名前をつけて保存」で
同じタイトルで上書きをした画像は、「ビットマップファイル」と表示され、
フォームでもちゃんと表示されます。
◆しかしながら、一度ちゃんと表示されても、しばらくして再度読み込みなおすと
「パッケージ」になってしまい、表示されません。
マイクロソフトのサイトで、パッケージの場合の対処方法として、
BMPファイルにする・・・とかかれています。
まったく手を加えていない同じBMPファイルでも、
パッケージになって表示されないときと、ビットマップになって
表示される場合があるのはなぜでしょうか。
※一度パッケージと表示された画像はその後はずっとパッケージです。
また、画像1、画像2をまったく同じ手順で保存しても、
画像1は表示(ビットマップ)され、画像2は表示されない(パッケージ)ということもあります。
データとして管理するだけであれば、パッケージでも
クリックで開くので問題ありませんが、表示させたいと思っています。
どなたか、解決策をご存知の方、または違う方法でも上手に表示
する方法をご存知の方がいらっしゃいましたら、
是非教えてください。
よろしくお願いします。
No.2ベストアンサー
- 回答日時:
> とりあえずは画像をjpgで保存し、
> パッケージの状態ではありますが、PC上ではクリックすれば
> 開きますので、それで管理していこうと思います。
これだとOLEを使用して、Access上に保管するってことでしょうね^^;
で、なぜパッケージになるの?となると・・・
以下の手順で、出来るかどうか確認してください
(Microsoft Photo Editorが入ってる前提で書いてあります)
1.OLEフィールドを逆クリックで、「オブジェクトの挿入」
2.「新規作成」で、「Microsoft Photo Editor」を選択
(ここで、表示されるプログラムの一覧が基本的にOLEに対応してあるものですが、DDEだけで表示部のOLEが使用できないものもあるみたいです)
3.「Microsoft Photo Editor」が起動して「作成済みのイメージを開く」で、ファイルを開いてください
4.「ファイル」-「終了して戻る~」で戻ってみてください
で、以上で内容が表示されれば・・・ラッキーってことで^^;
実際、PCによってWindowsのOLE設定が違うので「オブジェクトの挿入」後、「ファイルから~」で、オブジェクトの内容を表示するPCもありますが・・・残念ながら、どこでそれを設定しているOLEがあるのか私には、よく判りません^^;
>> ・Imageオブジェクトを使用して、その度にディスク上のファイルから呼び出す
> これは、私が今回やっているjpg保存で、パッケージでっていうことと
> 同じという解釈でよろしいですか?
>> ・LoadPicture関数を使用して、その度にディスク上のファイルから呼び出す
で、これらの話はOLEフィールドを使用せず、ファイルの保管位置、ファイル名等をテキスト型で保管し、フォームのイベントで、ファイル名等からイメージファイルを呼び出すという事で、アクセス上にファイル自体は保管しません
OLEの場合、ディスク上のイメージファイルを変更しても、基本的に更新されません
あくまでも、ディスク上のイメージファイルと、Access上のイメージデータは別物になります
OLEは、いろいろ改善はされてあるみたいなのですが・・・まだよく理解できないバグが潜在し、編集し表示部のデータは更新したが、編集用に保管してある元のデータは更新されてなかった、いきなりデータが破損して、表示も編集も出来なくなったなど、理解できない挙動を示すことがあるので、私自身は、極力避ける傾向にあります^^;
パッケージとして表示されているのであれば、表示部はPCのアイコンデータをメタファイル化して、保存してあるはずだったと思います^^;
おーーーーーーーーー!
おーーーーーーーーーーーーーーー!!!!
ありがとうございます!!!
できましたー
Microsoft Photo Editorで、画像を呼び出し、
ちゃんと表示されました!!!
重ね重ね、ありがとうございます。
ついでの質問というわけではないのですが、参考までに
教えていただければと思います。
このMicrosoft Photo Editorで呼び出して、
「終了して戻る」を選んだ場合、そのままMicrosoft Photo Editorは
閉じて、アクセス画面に戻りますよね。
これは、あくまでも表面上だけで表示されているのでしょうか?
(例えば、ワードに画像を挿入しただけの場合、
元の保管してある画像を削除しても問題ありませんし、
ネット上からコピーしてもってきた画像も、
とくに保存することなく、ワード上で表示されますよね?)
またはパワーポイントのように、プログラムの中に自動的に
保管される場所があって、保管されているのでしょうか?
実際、Microsoft Photo Editorで呼び出した際の画像と
リンクしていないことは、確認しました。
本当にありがとうございました^^
No.3
- 回答日時:
> これは、あくまでも表面上だけで表示されているのでしょうか?
> (例えば、ワードに画像を挿入しただけの場合、
> 元の保管してある画像を削除しても問題ありませんし、
> ネット上からコピーしてもってきた画像も、
> とくに保存することなく、ワード上で表示されますよね?)
> またはパワーポイントのように、プログラムの中に自動的に
> 保管される場所があって、保管されているのでしょうか?
OLEには、ファイルとデータをリンクさせる機能もあったりしますが、
その機能を使ってない場合、
「ワードに画像を挿入した~」
と同じ事が起こります
「またパワーポイントのように~」
と言うのも、おそらくOLEを使っているのであれば、パワーポイントのファイルの中に画像を保管してあり、別途の画像ファイルを消しても問題ありません
AccessのOLEフィールドは、リンク機能を使用しない場合、ワードの様にと同じ状態で保管されてます
OLEのデータとファイルをリンクさせる機能を使って、データを少なく出来るのかな?って言うのもバイナリのデータを使って調べてみた事はあるのですが、リンクしてる先のデータが増えてるだけで、リンク先が見つからない場合、保持していたデータを使ってるようです
Officeで、画像(BMP、JPG、GIF等)、グラフ、数式、ワードアート等、すべてOLEを使用してます
(Excel、Word自体もOLEとして貼り付けることが可能です
ExcelにExcelのOLEを貼り付ける場合、芸が必要な気がしましたが^^;)
OLEはAccessだけ特別と言う話ではなく、Excel、Word、PowerPoint等も同じOLEを使用し、OLE自体はOfficeのために導入されているシステムではなくWindows自体のシステムになっています
本当にありがとうございました。
いろいろと勉強になりました。
Dxakさんのお陰で、仕事になりましたー
本当は多々お礼をしたい気持ちでいっぱいいっぱいですが、
ここでは何もできず、ポイントだけで残念です。
気持ちだけは、何千ポイントも送りたい気持ちですので~
またないているところを見かけたら、よろしくお願いします。
本当にありがとうございました。
No.1
- 回答日時:
使ってるOLEフィールドの挙動は、WindowsのOLEにに依存してます
要するに、PCの環境が一緒じゃなければ、確認のしようが無いんです^^;
で、解答が付かないものと思います
まずは、OLEの説明を書いてみます
(独自解釈なので、合ってるとは言い難い部分がありますが><
OLEの中のバイナリデータをファイルに書き出して調べた結果で
解釈してたりします)
OLEとは、
・メタデータ(表示用ビットマップ)
・DDE用データ(編集時のデータ)
・操作用アプリケーションデータ
の3つから大体構成され保存されてます
OLEはマイクロソフトが提唱していた?アプリケーション間のデータ交換方式のDDEの拡張で、OLEが使えるアプリケーションも限られてきます
で、ここで、振り返ってみると「メタデータ」「DDE用データ」と同じようなものを2重に保管しますので、大体記憶している量が2倍近くにファイルが大きくなります^^;
Accessで画像管理する、お勧めとしては
・Imageオブジェクトを使用して、その度にディスク上のファイルから呼び出す
・LoadPicture関数を使用して、その度にディスク上のファイルから呼び出す
のどちらかがお勧めです
(ファイルサイズの関係上の話ね^^;、後VBAがある程度理解できないと・・・作れない問題も><)
で、問題としては、データベースとイメージ画像が別のファイルになるので、すべて移動させなければならないと言うのが一番の問題で・・・、ファイルサイズが大きくなっても良いよ~^^って場合は、OLEを使いますが・・・当初の話にあったように、PCによって違うので、こっちのPCでは表示されるのに、こっちのPCでは出ないとか、Accessと違うところで悩まなくてはなりません^^;
いつもありがとうございます。
昨日、アドバイスを頂きながら検討しまして、
とりあえずは画像をjpgで保存し、
パッケージの状態ではありますが、PC上ではクリックすれば
開きますので、それで管理していこうと思います。
上司が、画像の表示を希望していたのですが、
確かにBMPでは容量が大きすぎますしね。
>・Imageオブジェクトを使用して、その度にディスク上のファイルから呼び出す
これは、私が今回やっているjpg保存で、パッケージでっていうことと
同じという解釈でよろしいですか?
>・LoadPicture関数を使用して、その度にディスク上のファイルから呼び出す
すみません・・・
まだアクセスは関数までたどり着いておりません・・・
また何か躓いたとき、お世話になるかと思いますが、
よろしくお願いします。
本当にありがとうございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
アクセス 画像の挿入について...
-
画像ファイルが大きすぎます
-
【アイコンの背景色が黒塗りに...
-
txt形式のファイルをjpeg形式の...
-
保存した画像の余白カットしたい
-
保存すると背景が真っ黒になっ...
-
イラストレーターに取り込んだ...
-
ウィンドウズ、サポート終了後...
-
ペイントで、塗りつぶしの閾値...
-
画像を開かずカラーモードと解...
-
pdfを劣化させずにjpegに変換す...
-
手焼き写真のような枠をつくりたい
-
インクスケープで既存のイラス...
-
ペイントのBMPで作ったアイコン...
-
物理学の教科書などにあるよう...
-
Bitmapの256色と24ビットの違い
-
JPEG画像にテキストや矢印を挿...
-
フォトショップでクイック書き...
-
.jpg画像をなるべく劣化させず...
-
複数の写真を1枚に印刷
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
画像ファイルが大きすぎます
-
VBAで選択した画像を貼り付けたい
-
フォルダ内の画像の枚数がわか...
-
「WEBページとして保存」をする...
-
エクセル”ファイルエラー:デー...
-
アクセス 画像の挿入について...
-
EMFファイルをどうしたら開くこ...
-
マイピクチャーのThumbs.db,jpg...
-
教えて下さいm(__)m。
-
gooのフォトサービスへの画...
-
macユーザーからの画像が開けま...
-
イラストレータの「埋め込み」...
-
JPEGファイルをJPEGイメージに...
-
添付されたjpg画像が見られない
-
画像の修復
-
デジカメで撮影した画像のファ...
-
MACで作ったJPEGがWindowsで開...
-
WindowsとMacでの画像サイズの違い
-
OpenOfficeで拡張子sxdの画像フ...
-
イラストレーターに取り込んだ...
おすすめ情報