質問: access2007*添付ファイル型フィールドについて 特定のレコードより画像(添付ファイル型)を取得し、 フォームの添付ファイルコントロールにセットしたいと考えています。 同じ画面に、複数レコードの画像を表示したいので、 フォームにレコードソースにテーブルを直結することはできません。 ワークテーブルを作ってというのも考えたのですが、 添付ファイル型があると insert文でエラーになります。 なので、ソースに書くしかないのですが、 テキストや数値型のように、recorsetで簡単にセットすることはできないのでしょうか?? いろいろ調べてはみたのですが、 難しくて、理解できるものがありませんでした。 ご存じの方、同じようなことをしたことがある方がいましたら、教えて下さい。
回答: office2007は購入したものの、結局2003ばかり使っている者ですが(汗) 現在あるテーブルに対して一対多の関係になるテーブルを新設して、 そちらに添付ファイル型のフィールドを追加して記録、としてみては いかがでしょうか。 この形であれば、帳票型かデータシート型のサブフォームを使用して、 添付ファイル型のレコードを複数表示させることができます。 (サブフォームのレコードソースに、新設したテーブルを設定) 例えば下記のようなテーブル構成の場合(両テーブルは、idフィールドで 一対多のリレーションシップを設定)、サブフォームの設定で『リンク親 フィールド』と『リンク子フィールド』にともに「id」を設定すれば、親フォーム で表示中のレコードと同じidで記録された画像を、サブフォームに表示 できます。 ※『リンク親フィールド』等は、親フォームをデザインビューで表示後、 サブフォームをダブルクリックするなどして表示される、(コントロールと しての)サブフォームのプロパティシートの、『データ』タブにあります。 『物件』テーブル: id(主キー、数値型)、物件名(テキスト型)、所在地(テキスト型) 『物件画像』テーブル: id(数値型)、sbid(数値型)、部屋名(テキスト型)、画像(添付ファイル型) ┌――――――――――――┐ |id 物件名 |←親フォーム |所在地 | (単票型) | | |┌――――――――――┐| ||id sbid 部屋名 画像||←サブフォーム ||: : : : || (データシート型) ||: : : : || ||: : : : || || || |└――――――――――┘| └――――――――――――┘ ※「単票型」などは、フォームのプロパティシート『書式』タブの 「既定のビュー」で設定を変更できます。