アプリ版:「スタンプのみでお礼する」機能のリリースについて

Accessで2列×5行などのラベル印刷をするとき、途中からまたは任意の場所(たとえば1列目の4行目など)に印刷するにはどのようにしたらよいのでしょうか。
宜しくお願いします。

A 回答 (2件)

印刷するからには元データがありますよね?(顧客テーブルなど)



ラベル印刷するデータをこれらから直接出力せずに、いったん印刷対象データを抽出して作業用テーブルに出力します。
その作業用テーブルからラベル印刷を行うんですが、通常は何がしかのソートを行ってから出力しますよね。

印刷しなくて良い分の「空データ」を追加してあげれば
良いことになります。

> たとえば1列目の4行目など
3行分の空データを追加して、先頭から印刷すれば
「空」「空」「空」「実データ」「実データ」(ここで1行)
・・・

とできます。
印刷開始位置(「何行目」の「何列目」)を入力してもらうことになります。
    • good
    • 0
この回答へのお礼

空データの追加をヒントにWebで調べてみて完成しましたありがとうございます。

お礼日時:2005/07/02 15:25

簡単な方法は


>2列×5行
でしたら最大でも9行のダミーレコードを作れば出来ます。
必要なのはダミーテーブルとワークテーブルの2つ。
例えばタックラベルを出力する元になるレコードと同じ内容のテーブルをダミーテーブルとして9行ダミーレコードを作っておきます。
ダミーテーブルにフィールドを1つ余分に作っておき各レコードに1から連番で9まで付けます。(タックを出力するレコードとダブったりしないようであればキーのフィールドでも可・キーもタックに出力するのであればダメですが)それ以外は何も入力しない空のレコードです。
>(たとえば1列目の4行目など)に印刷
の場合は印刷方向が左から右の場合。1列目の4行目でいうと7レコード目から出力するので6行のダミーレコードをダミーテーブルから抽出しワークテーブルにダミーレコードを先に追加した状態でタックを出力するレコードを元のテーブルから抽出しワークテーブルに追加する。
ワークテーブルにはオートナンバー型のフィールドを別に1つ作っておけば追加する順番にナンバーが振られますのでそのオートナンバー型のフィールドで昇順にソートした状態でワークテーブルを元にタックを出力すれば1~6のラベルは印字せず7枚目のタックから出力されます。

ダミーレコードの抽出は色々方法がありますが
出力開始位置用のフォームでも作りテキストボックスを1つ作りそのテキストボックスに何番目から出力するかの数字を入力してもらいダミーテーブルのクエリで抽出する際にそのテキストボックスの数値-1でその数値と同じか以下のレコードを抽出するようにしてテーブル追加クエリにしてしまえば良いと思います。
タックの出力するレコードの抽出方法も一緒に考えれば出来ますのでその辺はご自分で考えてみてください。
長々と書きましたが一度作ってマクロにでもすれば簡単な処理になります。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!