Page 466 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 通常モードに戻る ┃ INDEX ┃ ≪前へ │ 次へ≫ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ▼2種類のレポートを交互に印刷したい morik 03/12/15(月) 16:17 ┗Re:2種類のレポートを交互に印刷したい でん 03/12/16(火) 14:06 ┗Re:2種類のレポートを交互に印刷したい morik 03/12/18(木) 10:43 ─────────────────────────────────────── ■題名 : 2種類のレポートを交互に印刷したい ■名前 : morik ■日付 : 03/12/15(月) 16:17 -------------------------------------------------------------------------
現在、2種類の請求明細書のレポートを作成しています。 実現したいことはこの2種類の明細書を交互に印刷することです。 1種類目のレポートは顧客コードに対して必ず1枚です。 2種類目のレポートは顧客コードによって枚数が複数枚になったりします。 顧客コードと同じレコードに印刷チェックがありその印刷チェックが入ったものだけを印刷したいのですが いまVBAのプログラムで以下のようにすると Dim dbs As Database Dim rs, rs1 As Recordset Dim flg As String Dim value As String Dim id As String id = Me!selectbox.value flg = "0" Set dbs = CurrentDb Set rs = dbs.OpenRecordset("データ1") Set rs1 = dbs.OpenRecordset("マスタ") Do Until rs1.EOF If (id = rs1!顧客NO) Then rs.MoveFirst Do Until rs.EOF If rs!印刷チェック = True Then DoCmd.OpenReport rs1!明細1, acNormal DoCmd.OpenReport rs1!明細2, acNormal rs.Edit rs!印刷チェック = False rs.update flg = "1" End If rs.MoveNext Loop rs1.MoveNext Else rs1.MoveNext End If Loop 印刷チェックの入った明細1のレポートが全て印刷された後に明細2のレポートが全て印刷されてしまいます。 これを交互に印刷する方法をご存知の方教えてください。 お願い致します。 |
morik さん、こんにちわ >1種類目のレポートは顧客コードに対して必ず1枚です。 >2種類目のレポートは顧客コードによって枚数が複数枚になったりします。 明細1は、必ずある。 でも明細2は、有るか無いか分からない上に何枚出るかも分からないってやつですね? 以前、同じ事で私も困りました。 私は、明細1の中に明細2をサブフォームとして作成しました。 ------------------------------------ 明細1の内容 改頁記号 明細2(サブフォーム) ------------------------------------ ってやつを一つのフォームとして作成して、 明細2が不必要なときは、改頁記号を非表示にして明細2の高さを”0”に。 明細2が必要なときは、改頁記号を表示して明細2を本来の高さに。 として作業しました。 と言っても、この問題が出たときは複数人で作業をしていましたので、 私は、方法を思い付いただけで実践したのは私ではありません。 無責任な発言ですみません。 ただ、この方法で処理は現在も稼働しております。 御健闘をお祈り致します。 |
でん さん丁寧な御説明ありがとうございました。 レポートを交互に印刷するために以下のようなプログラムを作成しました。 DoCmd.OpenQuery "印刷チェック戻し" Do Until rs.EOF rs.Edit rs!印刷チェック = True rs.Update DoCmd.OpenReport rs1!レポート1, acNormal DoCmd.OpenReport rs1!レポート2, acNormal flg2 = 1 rs.Edit rs!印刷チェック = False rs.Update rs.MoveNext Loop DoCmd.OpenReport命令を実行すると全件出力してしまうので一度印刷チェックフラグを全部オフにしてループで一件ずつしかデータが出力されないようにしましたところ1件ごとにレポートを交互に出力することが出来ました。 ありがとうございました。 |