タックシールに印刷したいのですが、ひとつのシールに複数のレコードを入れたいのです。
タックシールは8行3列のもので、その一枚につき、5行3列のレコードが入ります。
一枚に15個のレコードが入りますが、一度に出力するのがシール2枚とかなので、横一列に印刷させると無駄になってしまいます。
説明がわかり難いかと思いますが、よろしくお願いします。
そのまま横に並べると、7件目のレコードがタックシールの3枚目に印刷されてしまう、そのため、タックシール1枚目、2枚目はまだ空きがあるのに、3枚のシールを使うのはもったいない、ということですね。
フォームの印刷か、レポートの印刷かは分かりませんが、どちらにせよ、サブフォーム(あるいはサブレポート)を利用すればいいのではないかと思います。
元のテーブル(クエリかもしれませんが)のレコードを3分割して3つのワークテーブル(あるいはクエリ)に分けてそれぞれのワークテーブルでひとつの列のタックシールに対応させるようにすればいいんじゃないかと。サブフォームはそれぞれのワークテーブルに対応させます。
ひとつのワークテーブルには1レコードで元データの15件分(タックシール1枚分)のレコードを持つようにして1~15件目はワークテーブル1、16~30件目はワークテーブル2、31~45件目はワークテーブル3、というようにデータを割り振っていけば、2枚分のデータ(例えば20件)あるときに2つのタックシールで済むようになるでしょう。
VBAを使って、印刷の都度、印刷開始位置を指定するという方法がありますので、
下記参照してみてください(Access2000用ですが基本、それ以降のものでも使えます。)
番号、住所、氏名、年齢
↓
住所1、氏名1、年齢1・・・住所5、氏名5、年齢5
のような具合に5レコードを横並びの1レコードに変化させてしまう手や
番号、住所、氏名、年齢
↓
住所氏名年齢1・・・住所氏名年齢5
のような具合に、5レコードを5フィールドに変化させてしまうなどの手が使えますけど、
ユニークキーが無いとなるとVBAで1レコードずつ読み取ってという方向になりますね。
(サブレポートを使う場合も同様)
(しかも、コメントの日本語が意味不明だし)