Microsoft Access 掲示板

レポート印刷時にレコードごとの連番を振りたい

5 コメント
views
4 フォロー

初めて相談させていただきます。よろしくお願いいたします。
只今勉強中の初心者につき、至らない点があるかと思います。

環境はwin10 access2016です。

商品に貼り付けるラベルを作成しており
テーブルのフィールドに商品、印刷枚数等を設定しています。
印刷枚数が商品によって違うため、以下の通りレポートのvbaを設定し
商品×枚数分の印刷を行っています。

Option Compare Database
Dim i As Integer

Private Sub Report_Open(Cancel As Integer)

i = 1

End Sub

Private Sub 詳細_Print(Cancel As Integer, PrintCount As Integer)

    If i < Me!印刷枚数 Then
        Me.NextRecord = False
        i = i + 1
    Else
        i = 1
    End If

End Sub

これに加え、レコードごとの連番/印刷枚数 の形でレポートに表示させたいのですが
期待通りの結果にならず、何か良い案が無いかと思い相談させていただきました。
例)商品A、5枚 1/5 2/5 3/5 4/5 5/5 商品B、3枚 1/3 2/3 3/3
お忙しいところ申し訳ありません、よろしくお願いいたします。

oshiruko2.5kg
作成: 2019/11/20 (水) 17:52:51
通報 ...
1

レポートの詳細セクションにテキストボックスを配置して、名前を「連番」とします。
下記にように1行追加すればどうでしょうか。

Private Sub 詳細_Print(Cancel As Integer, PrintCount As Integer)
    
    Me.連番 = i & "/" & Me!発注数
    
    If i < Me!発注数 Then
        Me.NextRecord = False
        i = i + 1
    Else
        i = 1
    End If

End Sub
2
oshiruko2.5kg 2019/11/21 (木) 09:25:59 7ece8@9f543

ありがとうございます。
期待通りの結果になりました。
難しく考えすぎており、行き詰まってしまいました。
もう少し頭を柔らかくして望みたいと思います。

3
fukusan113 2024/10/25 (金) 17:46:24 d3bd2@c5781

初めての相談になります。

VBA超初心者ですが教えて下さい。

フォーム上で「印刷部数」をテキストボックスに入力して、印刷ボタンを押すと指定した部数を印刷し

さらに連番も一緒に印刷されるようにするにはどうすれば良いのでしょうか?

【印刷部数】というテキストボックスを作成し、印刷ボタンを下記インベントプロシージャを設定しています。

Private Sub cmdPrint_Click()

Const DocName = "T_ケースマーク印刷データ(Tag Noあり) のコピー"

    DoCmd.Echo False

    DoCmd.OpenReport DocName, acViewPreview

    DoCmd.PrintOut acPrintAll, , , , Me!印刷部数

    DoCmd.Close acReport, DocName

    DoCmd.Echo True

End Sub

宜しくお願い致します。

4
hiroton 2024/10/25 (金) 18:33:55 b198c@e0d71 >> 3

取りあえず、元の質問と内容が変わりそうなので、「新しいトピックを作る」から新たに質問を立てると良いと思います

5
fukusan113 2024/10/28 (月) 12:49:30 d3bd2@660d2 >> 4

そうですね💦
新しいトピックで質問させて頂きます。