MS Access Tips/Sample and VBA and Blog customize etc...

添付ファイルの画像をフォームに格子状に並べる

添付ファイルの画像をフォームに格子状に並べる

添付ファイル型フィールドに格納した画像をGoogleの画像検索みたいに一覧表示できませんか

というような質問が知恵袋でありましたので、サンプルを作成してみました。

難易度:

サンプル仕様

下記のよをなテーブルの添付ファイル型フィールドに、1レコード1画像が格納されているとします。IDは1から始まる連番となるようにします。

T_Img
フィールド名データ型
ID数値型
画像添付ファイル

ちなみに、途中のレコードを削除しても連番を維持できるようにするには、下記を参考にするといいでしょう。

グループ毎連番を自動入力する関数 - hatena chips

テーブルT_Img

この画像をフォーム上に3列で表示します。

画像グリッド表示フォーム

クロス集計クエリで格子状に

クロス集計クエリを使って3列に展開します。

上記のテーブルからクロス集計クエリを作成し、下記のように設定します。

クロス集計クエリQ_Img_Cross3のデザインビュー

Q_Img_Cross3 と名前を付けて保存します。下記のような出力になります。

クロス集計クエリQ_Img_Cross3の出力結果

クロス集計クエリの値に直接「画像」フィールドを設定すると添付ファイルにならずにテキストになってしまうので、値は「ID」フィールドにします。

クエリを新規作成して、上記のクエリを追加して、さらにT_Imgテーブルを3回追加します。(2回め以降は、T_Img_1、T_Img_2 と別名が付きます。)

下図のように各テーブルを結合します。結合線はダブルクリックしてQ_Imgのレコードをすべて表示するオプションを選択します。

3つの参考データから「画像」フィールドをダブルクリックしてクエリのフィールドに表示させます。

Q_Img_Gridのデザインビュー

Q_Img_Gridと名前を付けて保存します。出力結果は下記のようになります。

Q_Img_Gridの出力結果

添付ファイルとして出力されています。

グリッド表示フォームの作成

フォームを作製して、上記のクエリ Q_Img_Grid をレコードソースにします。

詳細セクションに「添付ファイル」コントロールを3つ配置して、コントロールソースをそれぞれ、
T_Img.画像
T_Img_1.画像
T_Img_2.画像
と設定します。

フォームF_Img_Gridのデザインビュー

画像がグリッド表示されるフォームの完成です。

サンプルファイルが下記からダウンロードできます。
FrmPictureGridByAttachment.zip (Access 2007-2010 形式 - 708kb)

拍手する

Leave a reply






Trackbacks

trackback URL
http://hatenachips.blog34.fc2.com/tb.php/483-df3c5254
該当の記事は見つかりませんでした。