• ベストアンサー

ACCESSでテーブル名から自動的にオブジェクトリンクを作成

ACCESS初心者なのでもしこのようなことができるかを教えていただきたいのですが テーブル ID 0000 と入れたら ID オブジェクト 0000 XXXX/0000.jpg XXXXは任意のフォルダー と自動的に画像のファイル名を生成してリンクさせる。レポートやフォームでこのID 0000の情報を表示(出力)したらそのリンクされた画像がきちんと呼び出される。 こんなことはできるのでしょうか?

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

  • ベストアンサー
noname#22222
noname#22222
回答No.2

No1 さんの回答でほぼ完璧かと思いますが補足がなされていますね・・・。 どこで躓いているのかが不明ですので回答のフォーカスを絞り難いのですが。 まず、次のようなコードを試されたらどうでしょうか? Private Sub コマンド1_Click()   Static I As Integer   I = Abs(I - 1)   If I = 0 Then     Me.イメージ0.Picture = "C:\Temp\AAA0001.BMP"   Else     Me.イメージ0.Picture = "C:\Temp\AAA0002.BMP"   End If End Sub これで、画像が[コマンド1]をクリックすると切り替わります。 要は、これをテーブル情報に基づいてやるだけです。 <Table1> ID  画像パス 1   C:\Temp\AAA0001.BMP 2   C:\Temp\AAA0001.BMP 次に、この画像のパスをテーブルに登録します。 このテーブルを基に単票フォームを作成しイメージコントロールを配置します。 仮に名前を’画像’とします。 Private Sub Form_Current()   Me.画像.Picture = Me.画像パス End Sub これで、次々と単票フォームに登録した画像パスに対応した画像が表示されます。 レポートの場合は、 Private Sub 詳細_Format(Cancel As Integer, FormatCount As Integer)   Me.画像.Picture = Me.画像パス End Sub という書き方です。

OKINAWA2005
質問者

補足

ありがとうございます。 すごくわかりにくいですよね。すみません。 端的に言うと 画像はすでにある場所に格納してあって、IDと同じ文字列がファイル名の拡張子の前に振られています。例えば ID 1111に対応する画像は 1111.jpgという風に。 そこで、フォームなどでID 1111と登録したら、それに対応する画像をダイアログから呼び出すのではなく、1111は1111.jpgの画像を呼ぶ、という裏で動作が行われて(もしくはマクロの起動ボタンを押す、のようにイベントが一つ入っても良いですが)その対応する画像が表示される。(もちろんデータが登録されたあとであれば問題なくそのようになるのでしょうが、新規登録の場合に・・・です。)

その他の回答 (1)

  • CHRONOS_0
  • ベストアンサー率54% (457/838)
回答No.1

>ID オブジェクト というのがどういうものかよく分からないですね JPGファイルとでも入れておくのですか? 通常テーブルで画像を管理するには 画像のファイル名を「xxx.jpg」のように入れます フォームやレポートに表示するときには イメージコントロールを配置しておき、それのPictureプロパティーに 画像のフルパスをセットすることによって表示させます サンプルDBのNorthwind.mdbの社員レポートやフォームを見てみてください

OKINAWA2005
質問者

補足

さっそくのコメントありがとうございます。 説明がわかりにくくてすみません。 >>ID オブジェクト >というのがどういうものかよく分からないですね >JPGファイルとでも入れておくのですか? ID, オブジェクト名 というフィールドをそれぞれ作って・・・という意味を伝えたかったのです。テーブルのイメージとしては ID オブジェクト名 =============================== 0000       0000.jpg こんな感じでしょうか。

関連するQ&A

専門家に質問してみよう