• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:ACCESS レポートの印刷枚数指定について)

ACCESSレポートの印刷枚数指定方法とは

このQ&Aのポイント
  • 商品ごとに異なるシール枚数の印刷をしたい場合、エクセルのリンクセルに入力されている数字を印刷枚数とすることが可能かどうかを教えてください。
  • 一回の印刷ボタンのクリックで、各セルに入力されている枚数を全て印刷することは可能かどうかを教えてください。
  • アクセス及びエクセルのバージョンは2000を使用しています。具体的な例として、エクセルデータの件数は10件であり、項目は商品コード、商品名、印刷枚数です。

質問者が選んだベストアンサー

  • ベストアンサー
  • O_cyan
  • ベストアンサー率59% (745/1260)
回答No.1

>商品ごとに異なるシール枚数の印刷をしたい >テーブルのリンクがされたエクセルのセルに入力されている数字をそのまま印刷枚数とする モジュールを使った方法とテーブルを使った方法があります。テーブルを使った方が簡単ですが・・。 テーブルを使う方法 連番を保存するテーブルを作ります。連番は1から印刷枚数の最大より多めに順に入力しておく。(例えばテーブル名をT連番としフィールドは連番とします) リンクされているExcelシートのクエリでクエリを作ります。そのクエリにテーブル追加でT連番を追加し連番をクエリのフィールドに追加します。(ExcelソートのデータとT連番はリレーションを取らないように)連番の抽出条件に<=[印刷枚数]と記述します。 そのクエリを開くと印刷枚数分同じレコードが出来ます。 そのクエリをタックシートのレポートのレコードソースにして出力すれば印刷枚数に合わせて同じシールが出力されます。 モジュールを使う場合 レポートの詳細に非表示のテキストボックスを1つ作ります。例えばそのテキストボックス名をText1としExcelシートの印刷枚数のフィールド名を印刷枚数とした場合。 レポートの詳細のプロパティのフォーマット時のイベントに Private Sub 詳細_Print(Cancel As Integer, PrintCount As Integer) Dim 指定枚数 As Integer 指定枚数 = Me!印刷枚数 If [Text1] <> 指定枚数 Then [Text1] = [Text1] + 1 Else [Text1] = 1 End If End Sub 同様に印刷時のプロパティに Private Sub 詳細_Print(Cancel As Integer, PrintCount As Integer) Dim 指定枚数 As Integer 指定枚数 = Me!印刷枚数 If [Text1] <> 指定枚数 Then [Text1] = [Text1] + 1 Else [Text1] = 1 End If End Sub を記述します。 これで出来ます。 試してみてください。

blue11
質問者

お礼

出来ました!!ありがとうございました。 とても助かりました。 テーブルのやり方は、どうしてこうなるのでしょうか。 もしお時間ありましたら、是非教えてください。 色々探したのですが、まだまだですね。反省と共に感謝いたします。

関連するQ&A