• ベストアンサー

レコード移動時にリンクした画像を表示したい

アクセス2007です。 テーブル1をレコードソースとしたフォームを作成し フォームにイメージ4を設置しました。 テーブル1の主キーにリンクした画像ファイルがC:\に入っています。 (C:\3.jpgなどです) フォーム上にレコードの主キーとリンクした画像をそのレコードが選択された時に表示したいのですが どのようなVBAコードを書けばいいのでしょうか? Private Sub Form_Current() Me.イメージ4 = "C:\3.jpg" '画像ファイルのパス End Sub のような感じだと思うのですがこれ以上わかりません。 ご回答よろしくお願いします。

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

  • ベストアンサー
  • m3_maki
  • ベストアンサー率64% (296/460)
回答No.1

主キーのフィールドが [ID] なら Private Sub Form_Current()   Me.イメージ4.Picture = "C:\" & [ID] & ".jpg" '画像ファイルのパス End Sub です。 ただし、この方法ですと、 ・ファイルが存在しない場合 ・新規のレコードで、ID が未入力の場合 ("C:\.jpg" になってしまう) など、エラーになりますので、 エラー処理 が必須です。 以外に知られていませんが、 Access2007 から、イメージに 「コントロールソース」 プロパティ が追加されています。 「コントロールソース」 には 画像のパスが保存されたフィールド名や パスを表す 式 などが設定できます。 例えば、「コントロールソース」 に = "C:\" & [ID] & ".jpg" と設定しておけば VBA も、エラー処理も必要ありません。

fdwq21
質問者

お礼

Private Sub Form_Current()   Me.イメージ4.Picture = "C:\" & [ID] & ".jpg" '画像ファイルのパス End Sub でできました。 そして新規レコードでのエラーも 再現できました。 イメージに 「コントロールソース」 プロパティも使ってみます。 ありがとうございました。

関連するQ&A

専門家に質問してみよう