アプリ版:「スタンプのみでお礼する」機能のリリースについて

帳票フォームで製品写真を表示しようとしています。
写真はmdbと同じフォルダ内に作ったphotoという名前のフォルダに
入っています。
写真を読み込むとこまではできたのですが、
全てのレコードの写真が
アクティブになったレコードの製品の写真になってしまいます。

写真を読み込むイベントプロシージャを「レコード移動時」に
設置しているます。単票フォームのときにはレコードを移動するときに
製品のデータも写真も入れ替わるので問題なかったのですが、
帳票フォームにすると製品データが一覧表示されているのに
まず1レコード目の製品の写真が全てのレコードに表示され、
レコードを移動するとどの製品の写真も一斉にアクティブに
なっているレコードの製品の写真になってしまいます。
これでは使えません。

イベントプロシージャを設置する場所が悪いのでは
ないかと思いますがどこに置いたらいいのか分かりません。
ご指導ください。

現在の状況

帳票型の製品一覧フォームの詳細に[写真]というイメージコントロールを置き、
写真の名前は[写真パス]テーブルの[パス]フィールドに入っています。
写真はmdbと同じフォルダ内に作ったphotoという名前のフォルダに
入っています。
製品一覧フォームのレコード移動時に下のイベントプロシージャを
設置しています。
写真の読み込みはうまくいっています。
If IsNull(Me![パス]) = False Then
Me![写真].Visible = True
Forms!製品一覧!写真.Picture = Left(CurrentDb.Name, InStrRev(CurrentDb.Name, "\", , vbTextCompare)) & "photo\" & Forms!製品一覧!パス
Else
Me![写真].Visible = False
End If

A 回答 (2件)

「mdb」とあるので、Microsoft Access の話だと思いますが、バージョンは


何でしょうか。
バージョンによって回答がまったく変わってきますので、バージョン情報が
非常に重要になってきます。

Access 2007 以降であれば、イメージ コントロールに [コントロールソース]
プロパティが追加されたはずなので、そちらを試してみるとよいでしょう。

Access 2003 以前であれば、下記を試してみるとよいでしょう。

OleImage 関数 - 表形式(帳票)フォームにパスから画像を表示する方法 | YU-TANG's MS-Access Discovery
http://www.f3.dion.ne.jp/~element/msaccess/AcTip …

OleImage 関数を使うなら、VBA のコーディングは基本的に不要です
(特殊なケースでは数行のコーディングが必要になる場合もあります)。
「使用上の注意」をよく読んだ上で、ニーズにマッチしないと思われる
場合は、他の方の回答を採用してください。

参考URL:http://www.f3.dion.ne.jp/~element/msaccess/AcTip …
    • good
    • 0
この回答へのお礼

早速のご回答ありがとうございます。
仕様ソフトがアクセスだということを
記載するのを忘れてしまったのに適切かつ
親切な回答に感謝です。
モジュールをインポートさせてくれるうえに
画像の場所を絶対パスでも相対パスでも指定できる
なんとも理想的な解決方法で嬉しかったのですが、
ダウンロードしてもサンプルが動きませんでした。
原因はご指摘の通り、アクセスのバージョンだと思います。
2000なので動かないようです。
アクセスのバージョンアップを検討します。
ありがとうございました。

お礼日時:2009/08/24 05:30

ちょっと試してみましたが、上手く行かないようです。

「イベントプロシージャを設置する場所が悪い」のではなく、アクセスの仕様というか、複数レコードを表示しても、画像のリソースは一つだけなのかなといった感じを受けます。
で、対策として思いつくのは
1.サブフォームで複数レコード表示
2.メインフォームで、サブフォームの各レコード横にイメージコントロールを置き、サブフォームのレコード移動時イベントで、それぞれの画像のファイル名を指定する。
試していません。かなり面倒だと思うし、VBAは嫌いなので(^^;
    • good
    • 0
この回答へのお礼

早速のご回答ありがとうございます。
試作までしていただいて、恐縮です。
設置する場所が悪いのではないのですね。
残念です。
メインフォームにイメージコントロールを置くとは思いつきませんでした。
レコード移動時に画像を移動するのがとっても難しそうですが
考えてみます。
くじけたら、2007なら楽にできるようなので
アクセスをバージョンアップしようかと思います。
ありがとうございました。

お礼日時:2009/08/24 05:37

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

関連するカテゴリからQ&Aを探す