- ベストアンサー
写真入りデータベースの作成
Accessを使用し写真入のデーターベースを作成しようと考えています。 フォームでコメントと数枚の写真が確認できるようにし写真をクリックするとフォトエディタ等で詳細画像が確認できるようにしようと考えたのですが、OLEオブジェクトとして写真を貼り付けるとファイルが以上に大きくなってしまいます。 何かよい方法はないでしょうか。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
通常Accessで画像データベースを作成する時は容量が大きくならないように、テーブルに画像ファイルのフルパスを格納するフィールドを1つ設け、そのパスをイメージコントロールのPictureプロパティに代入してやります。 やり方は例えばフォームのレコード移動時イベントなどに Me!イメージコントロール名.Picture = Me!画像パスの表示(または格納)されるテキストボックス名 という感じで書きます。 ただしこれだけだとテキストボックス内が空の場合にNullエラーが出るので一般的な公式(構文)としては以下のようになります。 ################################################# ' 「'」のついた行はコメント(説明)です。プログラムコードではありません。 ’もし画像パステキストボックスがNull(不明値)だったら If Isnull(Me!画像パスの表示されるテキストボックス名) = True Then ’イメージコントロールを空白表示する Me!イメージコントロール名.Picture = "" Else ’画像パスが不明じゃなければ ’イメージコントロールに画像を表示する Me!イメージコントロール名.Picture = Me!画像パスの表示(または格納)されるテキストボックス名 End If ################################################# マイクロソフトのサイトにサンプルなどが置いてありますからこちらもご参照ください。 http://www.microsoft.com/japan/users/office_expert/200210/03-1.asp http://www.microsoft.com/japan/users/office_expert/200210/default.asp 僕が示した例と、マイクロソフトのサイトの例は、多少書き方が違いますが、結果はだいたい同じなので好きな方でやってみてください。 ではがんばってくださいね。
その他の回答 (2)
> ハイパーリンクにするとファイルサイズは小さくなるのです その通りです。 > フォームで確認できないので困っています。 ごもっとも。 どちらも仰る通りですので、工夫が必要と思います。 具体的には、フォーム(とくに、データシート形式や、帳票形式の画面)上で「見せる」ときだけ、テンポラリのデータベースを生成し、画面を閉じるときに削除する(最終的には画像ファイルのパスのみをデータベースに格納する)のはどうでしょう。
お礼
ありがとうございます。
- kounotori3
- ベストアンサー率20% (122/587)
Acces ではありませんがWORDで30ページ入れると約100KBでした、更に写真3X4CmをTIFで23枚貼り付けると3.3MBに膨れ上がっています、 JPEGでサイズを出来るだけ小さくするしかないでしょう
お礼
ありがとうございます。 写真のデーターベースのため解像度は、あまり下げられないのです。 ハイパーリンクにするとファイルサイズは小さくなるのですがフォームで確認できないので困っています。
お礼
ありがとうございます。 イベントを使用しイメージコントロールでひょうじする。うーん完璧です。