• ベストアンサー

フォームにJPG画像を表示させたい。

テーブルに画像を格納してフォーム上で表示させたいのですが ここのサイトで色々検索していたら http://okwave.jp/qa1674068.html の質問がヒットして読んだのですが アクセス2003の自分にとってはPhoto Editorがないため無理そうです。 (BMPにしたらかなり劣化したのでダメでした。) そこで上の過去の質問で KenKen_SPサマがおっしゃる ”テキスト型にしてファイルパスを格納 し、必要な時に BMP画像を表示する仕様とした方が、データベース の仕様としては好ましく思います。” とはどういうことでしょうか? 早速該当のJPG画像のパスをテキスト型のフィールドに入れてみましたが フォームのテキストボックスにはただパスが表示されるだけでした。 (コントロールソースに関連付けた) もしかしてテキストボックスではない?汗 他の方の質問&回答に便乗して申し訳ございませんが ご教授よろしくお願い致します。

質問者が選んだベストアンサー

  • ベストアンサー
  • bin-chan
  • ベストアンサー率33% (1403/4213)
回答No.1

BMPファイルの格納を、MDB内とせずに外に出しておく。 ただし、その「外」(ファイルパス)がどこにある何なのか?をテキスト型の列に持たせておく。(例 C:\画像\TEST001.BMP ) BMPファイルが必要な局面で、「外」をフォームのプロパティに設定する。 ということでしょうね。

noname#150498
質問者

お礼

なるほど!やってみます。ありがとうございます。

全文を見る
すると、全ての回答が全文表示されます。

その他の回答 (2)

  • imogasi
  • ベストアンサー率27% (4737/17068)
回答No.3

画像のあり場所のフルパスとファイル名(あわせて文字列です)を持っておれば、その画像が画面や印刷に必要な場合は、その画像ファイルを読み込めるコントロール(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 =の右辺が判っておれば、必要なときに画像を表示できる わけだ。 この右辺は例えば商品テーブルで、商品名からクエリで検索して画像名フィールドを知り、そこから持って繰れば良いわけ。 すなわちテーブルに画像そのものを持っておく必要は、必ずしもない。

noname#150498
質問者

お礼

いい案ですね!ありがとうございます。

全文を見る
すると、全ての回答が全文表示されます。
  • bonaron
  • ベストアンサー率64% (482/745)
回答No.2

データベースの肥大化を防ぐため こういうやり方が普通かと思います。 http://www.accessclub.jp/samplefile/samplefile_63.htm

noname#150498
質問者

お礼

ラベルにいれちゃうのですね。ありがとうございます。参考になりました。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • JPGの画像が出ない・・・

    paintshopの2ヶ月無料試用品バージョンを使っていて、 期限が切れたためにjpgやgifの画像が表示されなくなってしまいました。 photo editorに関連つければいいのかな?と思ってやってみたのですが、 jpgのファイルをダブルクリックすると、photo editorだけ立ち上がり、jpgの画像が表示されません。 でも立ち上がったphoto editorからjpgを開くと普通に表示は出来ます。 paint shop を使う前は、jpgをダブルクリックした時点で、 photo editor が立ち上がって、画像ものっかったと思うのですが、 なにか不備な点などあるのでしょうか? 分かりにくい説明で申し訳ないですが、おしえてください! 宜しくお願いします。

  • accessで画像一覧

    画像一覧をaccessでやろうとしています。 OLEを使うと画像パスが取得できないのでテーブルに 画像のファイルパスを格納してからフォームで画像表示を 行いたいと思います。 フォームは表形式で、画像パスをテーブルから読み込み 表示させたいのですが、コードで非連結OLEに画像パスを 代入すると一番上のと同じ画像がずらっと表示されて しまいます。 良い案が浮かびません,どなたか助言お願いします.

  • Accessのフォームで商品の画像を表示したい

    画像を表示させた商品管理フォームを作りたいのですが、商品にリンクした画像をどうやって表示していいのかわかりません。 (商品のレコードをクリックする毎にその商品の画像 が表示できるようにしたいです) 下記のテーブルがあります。画像と商品は商品コードでつなぎます。 (1)商品テーブル 商品コード 例)A0001 商品名   例)ER-01 (2)画像テーブル 商品コード 例)A0001  画像ファイル名 例)Photo0001.jpg パス名 例)C\Photo\Photo0001.jpg 画像はリンクにするのか、埋め込みにするのか もわからない状態です。 どうぞよろしくおねがいします。

  • AccessのVBAにおいて,アクセスフォームに表示されている「値」を

    AccessのVBAにおいて,アクセスフォームに表示されている「値」を変数の中に格納したい。  例えば,オートフォームの単票形式でフォームを作成した場合,「番号」「製品」といったフィールドが2個あるテーブルを使うと,「番号」「製品」という名前のテキストボックスが2個ほどできます。 (フィールド名やテキストボックス名は問題ではありません。) このフォーム上に「ボタン」を配置し,このボタンをクリックした時に,「製品」というテキストボックスの内容を,メッセージボックスで表示させたい。 MsgBox (Me.製品.Text) と書いてもエラーとなります。 実際には,このフォームで欲しいデータを見つけた時,ボタンクリックで,テキストボックスに表示されている内容をグローバル変数に格納したいのですが,方法が分かりません。 Access 初心者です。どなたかよろしくお願いします。

  • ACCESS フォームに画像一覧表表示

    Microsoft Access2007 or 2003で質問させていただきます。 フォームに画像一覧を表示する事は可能でしょうか。 テーブルにはファイルのフルパスファイル名が格納されており、フォームの詳細部分にそのレコードの画像ファイルを表示したいと思います。 画面には、画像ファイルが縦に並ぶようなイメージです。 私の知識で作成したところ、全レコード、1レコード目の画像表示になってしまいます。 データ数が多いので、OLEオブジェクトは使用しない方法で、良い方法はないでしょうか。

  • メインレコード1件に対する複数画像を、フォーム上で表示させるには

    Access2003で、画像の管理をしています。 現在、テーブルは1つ(t_名簿)だけで、[名簿ID][氏名][パス名]の項目があります。 フォーム上にイメージコントロールを配置して、入力されたパス名から、別フォルダに格納してある画像を表示させています。これは問題なくできました。 しかし画像が無限に増えていくので、現在の様に「1レコードにつき1枚の画像」ではなく、「1件のメインレコードに対し複数の画像」という風にしたいと思います。 t_名簿→[名簿ID][氏名] t_パス→[パスID][名簿ID][パス名] このようにテーブルを2つにし、サブフォームのあるメインフォームを作成しました。 このような状態で、フォーム上で複数の画像を表示させることは可能でしょうか? サブフォームに3件のパス名があれば、3枚の画像を表示させるといった風です。 イベントのコードをどのように書けばよいのか検討がつかないので、教えて頂ければと思います。 直接画像を埋め込むという方法も試しましたが、ファイルサイズが大きくなりすぎて快適に作業ができませんでした。 なので、パス名から画像を表示させたいと思っています。

  • 画像の表示について

    1.imageボックスを用いた場合、pictureプロパティで画像を参照した後Stretch=Trueにするとそのimageの大きさに合わせて画像を縮小して表示してくれます。   pictureボックスのときはその大きさに合わせて画像を縮小して表示できません。AutoSize=tureにしても画像の大きさにpictureボックスが大きくなってしまうだけです。 pictureボックスにはそのような縮小機能はないのでしょうか? 指定する画像を縮小して保存し直すしかないのでしょうか? そうすると表示したい大きさに合わせるのが大変で・・・。 2.ひとつのフォーム上に与えられた変数によって 画像を表示したいと考えています。 私たちが習ったのは 1. まずpictureボックスを1つ用意する。 2. 表示したい枚数だけimageボックスを準備しその中に画像をpictureプロパティで指定する。(画像5枚につきimageボックス5つ) 3. textボックスに数字をいれcommandボタンをおす。 4. その値によって picture1.piture=image1.picture という具合で表示させる。 こうなると表示したい画像が10枚あればimageボックスが 10個必要になりますよね。 そうなるとフォーム上がごちゃごちゃなってしまいます。 そうしないように画像をアドレスを指定して直接いれることはできませんか? image1.picture="gazou1.bmp"(エラーでした・・・。)みたいな感じで・・・。 そうするとimageボックスを1つしか作らなくてよいのですっきりするのですが。 以上2つよろしくお願いします。

  • Access2000のフォームに画像を表示する(XP)

    ExelのVBAではある程度のプログラムが組めますが、Accessは2週間前から始めた初心者です。 画像の絶対パスを記録したテーブルを作成し、Accessフォームのイメージウィンドウに画像を表示するところまではできました。 そこで質問なのですが、 1.「C:\sample\test」というフォルダ内に30個ほどの画像があるとして、このフォルダの絶対パスのテーブルからその中にある画像を表示することはできるのでしょうか?というのは、そのフォルダは全部で3万個もあり、つまり画像は全部で90万個もあるのです。 2.クエリで抽出した画像の絶対パスを利用して、その画像をフォームのイメージウィンドウに表示する方法がわかりません。 よろしくお願いします。

  • フォームに表示したいんですが・・・

    複数の人数の作業時間を入力するフォームを作成しました。 誤って入力したものをフォーム上で訂正したいので非連結のテキストボックスを 2つ作成しクエリーの「作業日」と「社員番号」のフィールドの抽出条件をforms![フォーム名]![テキストボックス名]としました。 フォームの2つのテキストボックスに「日付」と「社員番号」を入力すると1レコードが表示されました。 間違いを探すのに1日1日入力するのは手間なので、例えばAさんの1年分の レコードから1月1日から1月31までの31レコードをフォームに表示させるにはどうすればよいのでしょうか? いろいろやってみたんですがうまく出来ませんでした。 うまく説明できませんがよろしくお願いいたします。

  • フォーム上に画像表示したい2

    お世話になります。 Access2010 内容は以下の質問をさせて頂いております。 http://okwave.jp/qa/q9117910.html イメージが付きづらかったので画像を添付させて頂きます。 リストボックス選択時に添付ファイル(画像)をフォーム上に 表示させたいです。 テーブルのデータ型で「添付ファイル」を指定し、ファイルは 画像ファイルを追加済みなので、それを表示させたいところです。 ご教示の程、宜しくお願い致します。

このQ&Aのポイント
  • 無線で印刷やコピーをしようとした際に白紙が出力される問題について相談します。
  • お使いのPCはWindows11で、接続は無線LANです。
  • 質問内容はブラザー製品に関するものです。
回答を見る

専門家に質問してみよう