Microsoft ACCESSに関する質問です。

タックシールに印刷したいのですが、ひとつのシールに複数のレコードを入れたいのです。

タックシールは8行3列のもので、その一枚につき、5行3列のレコードが入ります。
一枚に15個のレコードが入りますが、一度に出力するのがシール2枚とかなので、横一列に印刷させると無駄になってしまいます。

説明がわかり難いかと思いますが、よろしくお願いします。

回答の条件
  • 1人2回まで
  • 登録:2009/07/14 14:09:10
  • 終了:2009/07/21 14:10:02

ベストアンサー

id:frkw2004 No.1

ふるるP回答回数192ベストアンサー獲得回数212009/07/14 16:29:25

ポイント35pt

そのまま横に並べると、7件目のレコードがタックシールの3枚目に印刷されてしまう、そのため、タックシール1枚目、2枚目はまだ空きがあるのに、3枚のシールを使うのはもったいない、ということですね。

フォームの印刷か、レポートの印刷かは分かりませんが、どちらにせよ、サブフォーム(あるいはサブレポート)を利用すればいいのではないかと思います。

元のテーブル(クエリかもしれませんが)のレコードを3分割して3つのワークテーブル(あるいはクエリ)に分けてそれぞれのワークテーブルでひとつの列のタックシールに対応させるようにすればいいんじゃないかと。サブフォームはそれぞれのワークテーブルに対応させます。

ひとつのワークテーブルには1レコードで元データの15件分(タックシール1枚分)のレコードを持つようにして1~15件目はワークテーブル1、16~30件目はワークテーブル2、31~45件目はワークテーブル3、というようにデータを割り振っていけば、2枚分のデータ(例えば20件)あるときに2つのタックシールで済むようになるでしょう。

id:MRMG

回答ありがとうございます。

なかなか複雑そうですね。やってみます。

2009/07/14 19:03:12

その他の回答(1件)

id:frkw2004 No.1

ふるるP回答回数192ベストアンサー獲得回数212009/07/14 16:29:25ここでベストアンサー

ポイント35pt

そのまま横に並べると、7件目のレコードがタックシールの3枚目に印刷されてしまう、そのため、タックシール1枚目、2枚目はまだ空きがあるのに、3枚のシールを使うのはもったいない、ということですね。

フォームの印刷か、レポートの印刷かは分かりませんが、どちらにせよ、サブフォーム(あるいはサブレポート)を利用すればいいのではないかと思います。

元のテーブル(クエリかもしれませんが)のレコードを3分割して3つのワークテーブル(あるいはクエリ)に分けてそれぞれのワークテーブルでひとつの列のタックシールに対応させるようにすればいいんじゃないかと。サブフォームはそれぞれのワークテーブルに対応させます。

ひとつのワークテーブルには1レコードで元データの15件分(タックシール1枚分)のレコードを持つようにして1~15件目はワークテーブル1、16~30件目はワークテーブル2、31~45件目はワークテーブル3、というようにデータを割り振っていけば、2枚分のデータ(例えば20件)あるときに2つのタックシールで済むようになるでしょう。

id:MRMG

回答ありがとうございます。

なかなか複雑そうですね。やってみます。

2009/07/14 19:03:12
id:kn1967 No.2

kn1967回答回数2915ベストアンサー獲得回数3012009/07/14 17:47:12

ポイント35pt

VBAを使って、印刷の都度、印刷開始位置を指定するという方法がありますので、

下記参照してみてください(Access2000用ですが基本、それ以降のものでも使えます。)

ラベル印刷で開始位置を指定して印刷する方法

id:MRMG

印刷開始位置の指定については対応できております。

質問は、ひとつのシールに複数のレコードを印刷できるか、です。

40個のレコードがあり、一枚のシールに15個入るとします。

1~15のレコードは一枚目

16~30のレコードは二枚目

といった風に印刷したいのです。

各々のレコードにシール番号をふり、それをシールごとに印刷させればいいのかなあと考えています。

2009/07/14 19:01:44
  • id:kn1967
    レコードにユニークキー(あるいは相当するもの)があるのならば、
      番号、住所、氏名、年齢
        ↓
      住所1、氏名1、年齢1・・・住所5、氏名5、年齢5
    のような具合に5レコードを横並びの1レコードに変化させてしまう手や
      番号、住所、氏名、年齢
        ↓
      住所氏名年齢1・・・住所氏名年齢5
    のような具合に、5レコードを5フィールドに変化させてしまうなどの手が使えますけど、
    ユニークキーが無いとなるとVBAで1レコードずつ読み取ってという方向になりますね。
    (サブレポートを使う場合も同様)

  • id:kmond2
    日本語が読めない上に、コメントで言い訳するような回答者にポイントを付与する必要はないと思いますよ。
    (しかも、コメントの日本語が意味不明だし)

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません