社内SEの話

日々起きたことの記録用

【Access】指定数だけ行にする方法

指定数を行にする方法を解説

棚などの収まらない部品や材料などの在庫を識別するために、在庫ラベルといった識別するための用紙を印刷し、現物に貼る機会もあると思います。それをAccessから印刷しようとします。

テーブルにある数量の数だけAccessで印刷しようとすると意外と大変です。

やり方についてまとめました。

テーブル

品目テーブル

名前などの使用するデータ。

Access Query

数量が実際に印刷する枚数になります

数量テーブル

Access Query

数量列を数値にし、1から10まで行を登録します。

必要に応じてデータを登録させます。

またテーブル名、列名ともに任意な名前でOKです。

クエリ

Access Query

上図の様にクエリを作成します。

ポイントは数量テーブルをリレーションさせません。

数量は数量テーブルの数量列を指定します。抽出条件で品目の数量を指定します。

数量テーブルの数量列は抽出条件にあればいいので、必ずしも出力する必要はありません。

SQLにすると以下になります。

SELECT 品目.品名, 品目.型式, 数量.数量
FROM 品目, 数量
WHERE 数量.数量 <= [品目].[数量];

Access Query

結果

Access Query

あとはこのクエリを元にレポートを作成すれば、目的の在庫ラベルの完成です。

注意点

Access Query

数量が30といった様に数量テーブルの数以上の値を指定してみます。

Access Query

数量テーブルにある数以上のデータは生成されません。

そのため使用するデータを想定し最大値以上のデータを予め設定します。