- ベストアンサー
フォームにJPG画像を表示させたい。
テーブルに画像を格納してフォーム上で表示させたいのですが ここのサイトで色々検索していたら http://okwave.jp/qa1674068.html の質問がヒットして読んだのですが アクセス2003の自分にとってはPhoto Editorがないため無理そうです。 (BMPにしたらかなり劣化したのでダメでした。) そこで上の過去の質問で KenKen_SPサマがおっしゃる ”テキスト型にしてファイルパスを格納 し、必要な時に BMP画像を表示する仕様とした方が、データベース の仕様としては好ましく思います。” とはどういうことでしょうか? 早速該当のJPG画像のパスをテキスト型のフィールドに入れてみましたが フォームのテキストボックスにはただパスが表示されるだけでした。 (コントロールソースに関連付けた) もしかしてテキストボックスではない?汗 他の方の質問&回答に便乗して申し訳ございませんが ご教授よろしくお願い致します。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
BMPファイルの格納を、MDB内とせずに外に出しておく。 ただし、その「外」(ファイルパス)がどこにある何なのか?をテキスト型の列に持たせておく。(例 C:\画像\TEST001.BMP ) BMPファイルが必要な局面で、「外」をフォームのプロパティに設定する。 ということでしょうね。
その他の回答 (2)
- imogasi
- ベストアンサー率27% (4737/17069)
画像のあり場所のフルパスとファイル名(あわせて文字列です)を持っておれば、その画像が画面や印刷に必要な場合は、その画像ファイルを読み込めるコントロール(Imegeなど、を探して)、そこに読見込んで表示すればば良い。 例えば フォーム(フォーム12)にイメージコントロール(イメージ0)を貼り付け Sub test025() Forms("フォーム12").イメージ0.Picture = "C:\Documents and Settings\All Users\Documents\My Pictures\Sample Pictures\Sunset.jpg" End Sub を実行すると画像が表示される。 このPicture =の右辺が判っておれば、必要なときに画像を表示できる わけだ。 この右辺は例えば商品テーブルで、商品名からクエリで検索して画像名フィールドを知り、そこから持って繰れば良いわけ。 すなわちテーブルに画像そのものを持っておく必要は、必ずしもない。
お礼
いい案ですね!ありがとうございます。
- bonaron
- ベストアンサー率64% (482/745)
データベースの肥大化を防ぐため こういうやり方が普通かと思います。 http://www.accessclub.jp/samplefile/samplefile_63.htm
お礼
ラベルにいれちゃうのですね。ありがとうございます。参考になりました。
お礼
なるほど!やってみます。ありがとうございます。