• ベストアンサー

MSアクセスのjpgファイル表示

Windows XPにMSアクセス97をインストールしました。 OLEオブジェクト型でjpgファイルをフォームで挿入したのですが フォームに文字が出るだけで写真が映りません。 ヘルプを見ると、フィルターが必要とのことでoffice97の CDからインストールしたのですが変化ありません。 どうしたらいいのでしょうか。

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

  • ベストアンサー
  • O_cyan
  • ベストアンサー率59% (745/1260)
回答No.6

>jpgファイルではだめなのでしょうか Jpegも問題なく表示できるはずですが・・。 PhotoEditor等のofficeに付属されているグラフィックソフトはインストされていますよね。もしくはペイントでJpegが関連付けされていれば扱えるはずです。 扱えない場合はjpegの形式はサポートされていないため・・のメッセージが表示されます。 >実行時エラー:2220と出て、C:\Document And Setting・・を 正確なパス及びファイル名が取得できていません。 C:\Document And Setting・・とでるという事は[パス名]のフィールドにパスがなかった場合にC:\Document And Setting・・でセットした画像を表示しようとしてパスやファイル名に誤りがあるため表示できていないという事です。 パスがない場合表示するようにした画像のフルパス及びファイル名を確認してください。フォルダを開きそのjpgのプロパティを開けばフルパスが表示されているのでそれをコピーして記述にペーストするがパスが正しいか確認してください。

kiden_kuni
質問者

お礼

どうもありがとうございます。フォトエディタではなく フォトマネージャーが入ってますが。 パスは合っていると思うのですが、ちょっとあきらめ気味なので一服させていただきます。 丁寧なご説明どうもありがとうございました。

その他の回答 (5)

  • O_cyan
  • ベストアンサー率59% (745/1260)
回答No.5

>イメージコントロールを配置すると「図の挿入」ウインドが出てきてファイルの選択を求められます 何か指定して配置してください。例えば画像等のパスが入力されていない場合表示しておく画像など指定してみてはどうですか。 例えばSample.jpgみたいなのをマイドキュメントのフォルダに置いておきそれを指定する。 >イメージコントロールのソースにテーブルのパスを代入するのはどうすればいいのでしょうか >イベントには「レコードの移動時」という項目がないのですがクリック時などでもいいのでしょうか フォーム自体のプロパティにレコードの移動時というイベントがありませんでしょうか。そこにコードビルダを開き 記述します。 前記のSample.jpgを利用してそのパスがC:\Documents and Settings\My Documents\My Pictures\Sample.jpgとした場合。コードビルダを開き If Me![パス名] <>"" Then    Me![Photo1].Picture=Me![パス名]   Else    Me![Photo1].Picture=C:\Documents and Settings\My Documents\My Pictures\Sample.jpg '"前記を利用して"パスに入力がない場合Sample.jpgを表示する  End If この記述を入れるとフォームに表示するレコードが次のレコードや他のレコードに変わった時(移動した時)にPhoto1というイメージコントロールのピクチャにテーブルのパスに入力されているJpegなどのフルパスが代入され実行されます。テーブルのパスに入力がない場合Sample.jpgが表示されます。 ボタンのクリックイベントなどに記述しても大丈夫ですが他のレコードに移動しても画像はボタンをクリックするまで変わりません。

kiden_kuni
質問者

補足

イベントにレコードの移動時というのがありました。 イベントプロシージャのところに文を書いてみたのですが フォームビューにてレコードを移動すると、実行時エラー:2220と出て、C:\Document And Setting・・・・を 開くことができませんとなります。 jpgファイルではだめなのでしょうか。 何度も何度もすみません。

  • O_cyan
  • ベストアンサー率59% (745/1260)
回答No.4

>この場合テーブルには、写真をどのような型で記録し フォームではどう表示することができますでしょうか。 テーブルにOLEオブジェクト型のフィールドを作りオブジェクトの挿入でビットマップイメージとしてテーブルに挿入すればそのテーブルを元に作った場合画像のフィールドは連結オブジェクトフレームとして配置されます。 レコードの移動と一緒にテーブルに挿入されているビットマップイメージも変わります。 オブジェクトの挿入でビットマップイメージで挿入すると通常はペイントが開くので編集からファイルから貼り付けを選び画像を挿入します。 しかし多くの画像を処理する場合は画像をテーブルに挿入するためmdbのサイズが増大してしまいますが多くなければ問題は無いと思います。 別の方法はOLEオブジェクト型とか使いません。 テーブルにテキスト型のフィールドでJpgファイルのパスをフルパスで入力しておきそのパスを使ってフォーム上に配置したイメージコントロールにリンクで表示させる方法。これはサイズが増大しません。 テーブルにC\Photo\Photo0001.jpgなどのようにファイルのフルパスを入力してそのパスをフォーム上のイメージコントロールのソースに代入させて表示させます。 フォーム上にパス名のコントロールを配置します。パスを見せたくない場合は可視をいいえにして見えなくします。 イメージコントロールの名前をPhoto1としてフォームのプロパティで[レコード移動時]のイベントに Private Sub Form_Current() If Me![パス名] <>"" Then    Me![Photo1].Picture=Me![パス名]   Else    Me![Photo1].Picture="" 'パスがない画像がない場合表示しない  End If End Sub のように設定しフォーム上のパス名に入った画像のパス\ファイル名をPhoto1のPictureソースに代入させ表示します。

kiden_kuni
質問者

補足

不勉強なものでもう少し教えてください。 フォーム上にイメージコントロールを配置すると「図の挿入」ウインドが出てきてファイルの選択を求められます。 フォーム上のイメージコントロールのソースにテーブルのパスを代入するのはどうすればいいのでしょうか。 また、イベントには「レコードの移動時」という項目がないのですがクリック時などでもいいのでしょうか。

  • O_cyan
  • ベストアンサー率59% (745/1260)
回答No.3

フォームをデザインで開きフォームツールバーにあるイメージを配置して表示したいJpegを指定すれば良いのですが・・。 またはメニューの挿入のオブジェクトではなく図を選び挿入すればイメージが挿入されませんでしょうか。 (97にイメージコントロールありますよね?) もしくはPictureManagerでJpegを開けませんか?PictureManagerにJpegを関連付けしてみてはどうでしょうか。しかしパッケージで配置されるのではクリックもしくはダブルクリックしないとJpegが開かないのではないでしょうか。

kiden_kuni
質問者

補足

どうもありがとうございます。 フォームに写真を貼り付けたいのではなく、テーブルにある写真データの各レコードをフォームで表示させたいのです。 この場合テーブルには、写真をどのような型で記録し フォームではどう表示することができますでしょうか。

  • doredore1
  • ベストアンサー率38% (13/34)
回答No.2

私も同じ現象で悩みました。 かなり昔なので詳しいことは忘れましたが、 確か「Microsoft Photo Editor」をインストールしたら 表示できたような気がします。 間違えていたらごめんなさい。 記憶は定かではありません。

kiden_kuni
質問者

お礼

どうも有難うございます。 ダブルクリックすると別ソフトが起動しそこでは見ることが できるのですが、ちょっとそれではおもしろくないので。 MicrosoftのホームページにPhoto Editorのインストール方法が 書いてあったので同じ手順で進めたのですが 同じメニューが無くインストできないのです。 たぶん同様のソフトでPicture Managerというのが 入っているためにこれが後継か代わりなのだと思います。

  • O_cyan
  • ベストアンサー率59% (745/1260)
回答No.1

>フォームに文字が出るだけで写真が映りません。 OLEオブジェクトでパッケージで挿入したとか・・? OLEオブジェクトではなくイメージでフォーム上に配置してみてはどうですか。

kiden_kuni
質問者

補足

有難うございます。 確かにテーブルのデータシートビューで見るとパッケージとなっています。 イメージで挿入するにはどうすればよいのでしょうか。 ツールバーで「挿入」→「オブジェクト」でファイルからを選ぶと パッケージになってしまいますし、新規作成にチェックを入れると オブジェクトの種類にはjpgはありません。

関連するQ&A

  • ACCESSフォームに写真を貼りたい

    アクセスのフォームのデータ1つ1つに写真を貼りたいのですが、 テーブルでOLEオブジェクトをつくり、フォームにそのボックスを設け、そこにオブジェクトの挿入を実行してみました。が、写真の下にファイル名が表示してしまいます。これを写真だけを表示させるにはどうすればよいでしょうか?

  • Accessでjpgの画像を管理したい

    Accessでjpgの画像を管理したいのですが、テーブルでOLEオブジェクト型を選択して画像を貼り付けようとしたのですが、jpgが使える項目にないのです。jpgは使えないのでしょうか? 教えてください。

  • access 写真の挿入

    誰か、教えてください、初心者です。 仕様環境 WinXP access2002 今、他のQ&Aやサイトをみながら、アクセスで写真の取り込みを やっているのですが、一つのレコードに一枚または数枚入れようとしています。 それでテーブルにOLEオブジェクト型のフィールドを作り、 「オブジェクトの挿入」で写真(jpg形式)をフィールドに反映し、 そこからフォームやレポートに反映することはできました。 (ようは成功した、ということです) そこで疑問が出てきたんですが、 この画像はアクセス内に保存されるのでしょうか? アクセスが重くなるのを嫌っているので、 なるべく軽くしたいと思っています。 理想は、写真がアクセス内に表示されてる時だけ表れ、 閉じたら外のファイルに戻る(アクセス内には残らない(ただしレコード名は残るため 次回フォームを開いた時には写真も表示される))みたいなことが理想です。 つまり写真は外部のファイルに保存され、 必要な時だけ、アクセスで使用するみたいな感じがベストです。 誰か教えてください!

  • Accessで顔写真表示

    Access2002です。以前の同じような質問を検索してみましたが初心者なのでいまいち分かりません。 やろうとしていることは現に出来ている名簿に顔写真を新たに加えたいのです。 質問は 1 テーブルに新たに作るフイールド名をPHOTOと し、データー型はOLEオブジェクト型で良いのでしょうか。 2 フォームに作る写真を表示する枠はテキストボックス、非連結オブジェクトフレーム、連結オブジェクトフレームのどれでしょうか。 3 たいした人数ではないので多少重くなっても写真は埋め込み型にしたいです。(この方が初心者にはい  いだろうと思いますが) 4 写真はスキャナーで撮りjpgにしてファイルにし取りこんだ後は削除したいと思っています。 5 訳があって新しくこのDBを作るのではなく現にあ  るDBに追加したいのが味噌なのです。 以上よろしくお願いいたします。

  • アクセスでOLEオブジェクトが・・・

     アクセスに,BMPデータを貼り付けようとしたら,アクセスのエラーメッセージが出て,貼り付けることができませんでした。エラーの内容は「OLEオブジェクトは登録されていません。このオブジェクトに対応するOLEサーバーがセットアップされてません。OLEサーバーを再セットアップして下さい」とのことでした。良く分からないのですが,一度アクセスを消去して,再インストールしてみたものの,結果はまた同じでした。オフィスの問題かもしれないとも思い,オフィスも再インストールしてみましたが,同じ結果でした。  この場合,アクセスの問題なのか,オフィスの問題なのか,どのようにしたら良いのかわかりません。ちなみに,取引先のパソコン(OSはうちと同じで98です)では,問題なく動作しているとのこと。  素人的な質問で申し訳ありませんが,どなたかアドバイスをお願いします。

  • Access200 OLEの登録の仕方

    いつもお世話になっております。 Access2000を使ってデータの管理をしようとしています。 在庫管理で物品の写真データ(Jpeg)をテーブルにオブジェクトの挿入で取り込み、フォームで各データと写真を同時に見られるようにしたいのです。 会社のOfficeXPでは問題なくできましたが、自宅のAccess2000で同じようにしようとすると、 「OLEサーバーが登録されていません。OLEサーバーを再セットアップしてください」とメッセージがでます。 どのようにすればよいか、教えてください。 ちなみに自宅では会社で作ったデータは写真もちゃんと表示しました。 よろしくお願いします

  • Accessで写真(JPEG)管理がしたいのですが....

    Access2000の初心者です。 写真の管理を考えています。写真はLサイズで現像した写真を使用。400dpiでJPEGで低圧縮保存します。枚数は10000枚程度蓄積するつもりです。 ひとまず、DBを作成し、(OLEオブジェクトのみを作成し、フォーム画面からオブジェクト挿入、グラフィックフィルタ?には、MicroのPhoto Editorを使用)試してみましたが大変遅く、使い物になりそうにありません。 一般的に、画像を読み込まれる場合、どのような作り方をされるのでしょうか? また、なにか勘違いや失敗をしているのでしょうか? なお、写真データは、写真自体が商品であるため解像度を落とすなどはなるべく避けたいと考えております。(けど、JPEG)

  • Access2000でPDFを入力したいのですが。。。

    お世話になります Access2000でOLE オブジェクト型を使用して PDFファイルを挿入すると AcrobatDocumentオブジェクトを操作できません OLEサーバーが登録されていません OLEサーバーを再セットアップしてください というメッセージが出ます Adobe Readerはインストールしていますが それだけではいけないのでしょうか? 教えてください よろしくお願いします

  • Access2000でJpeg画像の一覧表示

    Access2000のフォームでOLEオブジェクト型(リンク)のJpeg画像を表示させたいです。 いろいろと調べたとんですが、単票フォームのやり方は載っているんですが、帳票フォームのように一覧表示させることは出来ないのでしょうか?

  • ACCESS2000のレポートで別々の画像を表示したい

    MS ACCESS2000(OFFICE2000PRO),WIN2000の環境です。 アクセスで作っている名簿から、レポートでIDカードを作成しようとしています。 顔写真を入れたいのですが、数百人いるため、OLEオブジェクト型のフィールドに写真データをリンクで挿入していくのが手間です。 個人の番号と写真名は同じ(番号100→100.JPG)にしています。一括で登録する方法はないでしょうか。 ちなみに、個人の番号をフィールドIDに入れ、写真をc:\phフォルダに入れておき、クエリで、PhID:"c:\ph\"&ID&".jpg"としてパスを作り、 レポートにイメージ IMGをつくり、フォーマットイベントで、 ME.IMG.PICTURE = ME.PHID としてみましたが、表示されませんでした。

専門家に質問してみよう