帳票フォームで製品写真を表示しようとしています。
写真は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
No.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 …
早速のご回答ありがとうございます。
仕様ソフトがアクセスだということを
記載するのを忘れてしまったのに適切かつ
親切な回答に感謝です。
モジュールをインポートさせてくれるうえに
画像の場所を絶対パスでも相対パスでも指定できる
なんとも理想的な解決方法で嬉しかったのですが、
ダウンロードしてもサンプルが動きませんでした。
原因はご指摘の通り、アクセスのバージョンだと思います。
2000なので動かないようです。
アクセスのバージョンアップを検討します。
ありがとうございました。
No.1
- 回答日時:
ちょっと試してみましたが、上手く行かないようです。
「イベントプロシージャを設置する場所が悪い」のではなく、アクセスの仕様というか、複数レコードを表示しても、画像のリソースは一つだけなのかなといった感じを受けます。で、対策として思いつくのは
1.サブフォームで複数レコード表示
2.メインフォームで、サブフォームの各レコード横にイメージコントロールを置き、サブフォームのレコード移動時イベントで、それぞれの画像のファイル名を指定する。
試していません。かなり面倒だと思うし、VBAは嫌いなので(^^;
早速のご回答ありがとうございます。
試作までしていただいて、恐縮です。
設置する場所が悪いのではないのですね。
残念です。
メインフォームにイメージコントロールを置くとは思いつきませんでした。
レコード移動時に画像を移動するのがとっても難しそうですが
考えてみます。
くじけたら、2007なら楽にできるようなので
アクセスをバージョンアップしようかと思います。
ありがとうございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- 写真 どっちのカテ 1 2022/10/28 20:09
- ノートパソコン 写真加工で使うパソコン機器、ソフトについて 写真加工に強いパソコンで、ワード、エクセルが入っているも 2 2023/08/20 11:22
- その他(ビジネススキル・経営ノウハウ) クラウドファウンディングによる新製品の販売支援要求。「あれ?この商品、もう完成品じゃね?」という疑問 2 2022/08/22 12:32
- Photoshop(フォトショップ) 写真加工で使うパソコン機器、ソフトについて 写真加工に強いパソコンで、ワード、エクセルが入っているも 2 2023/08/20 11:25
- Visual Basic(VBA) 【VBA】写真の縦横比を変えずに貼り付ける 5 2023/06/13 11:42
- その他(住宅・住まい) 水栓の材質について 4 2023/03/31 18:27
- その他(生活家電) こんばんは。詳しい方教えてください。 この写真の製品を使う際は、Himi?であってますか? この製品 3 2022/08/16 18:49
- WordPress(ワードプレス) Wordpress 複数プラグインの不具合? 1 2022/10/09 21:52
- アプリ MacBookでCLIP STUDIO PAINTから「写真」アプリを開いて、画像を読み込みたい 1 2023/08/05 12:34
- 写真・ビデオ 写真や動画を保存する、これらを満たしたサービスはありませんか。 ・iOS, Android, Mac 2 2023/07/30 18:35
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
選択したチェックボックスのみ...
-
Access 別フォームへの再クエ...
-
ACCESSのフォームからデータの...
-
accessの自動更新処理をできな...
-
ACCESSで入力フォームをHTMLフ...
-
Accessのフォームで作業領域を...
-
ACCESS(アクセス):一度の入力で...
-
アクセスでの項目追加について...
-
Accessフォームのテキストボッ...
-
アクセスでテーブルの変更内容...
-
Accessのフォーム上にレコード...
-
Access フォーム上でコンボボッ...
-
Accessのハイパーリンクのパス...
-
ACCESS レコードセット
-
アクセスでのチェックリスト
-
入力途中の入力した値をすべて...
-
アクセスのフォームのビューが...
-
Access2000 テキストボックス...
-
Access2002 フォームを閉じるた...
-
テキストボックス(アクセス)内...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Accessのフォーム上にレコード...
-
ACCESSのフォームからデータの...
-
アクセスのフォームのビューが...
-
選択したチェックボックスのみ...
-
Accessフォームのテキストボッ...
-
アクセスでテーブルの変更内容...
-
accessの自動更新処理をできな...
-
Access 別フォームへの再クエ...
-
ACCESSで入力フォームをHTMLフ...
-
「メソッドまたはデータメンバ...
-
アクセス 0以外をカウントす...
-
Access2002 フォームを閉じるた...
-
ADOでRecordsetオブジェクトを...
-
Access:yesの時は画像を表示、...
-
ACCESSで、フォームのレコード...
-
Accessのフォームで作業領域を...
-
アクセスでの項目追加について...
-
帳票フォームに全レコードを表...
-
ACCESSフォームでのレコード数...
-
ACCESS フォームの値がすぐに...
おすすめ情報