[[20140709155847]] 『連番を表示』(VBA?) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『連番を表示』(VBA?)

 テープライターで箱に貼るラベルを印刷させるのが有ります。
 品番を入力すると箱数・入数・棚番を呼び出してきます。
 新規で貼る場合、箱の数だけラベルを印刷させるための元データーを箱数分だけ増やすボタンがあり
 それをクリックすると以下のVBAを作動させて増成します。

 Option Compare Database
 Option Explicit

    Dim Myset1 As Recordset
    Dim Myset2 As Recordset

 Public Function 箱_増成() As Integer
    On Error GoTo 箱_増成_Err99

    Set MyDB1 = DBEngine.Workspaces(0).Databases(0)
    Set MyDB2 = DBEngine.Workspaces(0).Databases(0)
    Set Myset2 = MyDB2.OpenRecordset("見出し印刷", dbOpenDynaset)
    Dim cnt1 As Integer

    SQL = "SELECT DISTINCTROW 棚番,"
    SQL = SQL & "入数,箱数"
    SQL = SQL & "FROM 見出し印刷 "
    SQL = SQL & "WHERE データ識別 = 'I';"
    Set Myset1 = MyDB1.OpenRecordset(SQL)

    Myset1.MoveFirst
    Do Until Myset1.EOF
        If Myset1![箱数] > 0 Then
            cnt1 = 1
            Do Until Myset1![箱数] = cnt1
                Myset2.AddNew
                Myset2![入数] = Myset1![入数]
                Myset2![箱数] = Myset1![箱数]
                Myset2![棚番] = Myset1![棚番]
                Myset2.UPDATE
                cnt1 = cnt1 + 1
            Loop
        End If
        Myset1.MoveNext
   Loop

    Myset1.Close
    Myset2.Close
    Exit Function

 箱_増成_Err99:
    Exit Function

 End Function

 今回これとは別に入数部分を連番に出来るのを上記を元に追加したく思いますが全く分かりません。
 どこかに”+1”付け加えるだけでよいのかと思いましたが違うようで変化無しでした。

     A     B     C             A     B     C
   棚番 入数 箱数         棚番 連番 箱数
 1   11    1     3         1   11    1     3
 2   11    1     3     →  2   11    2     3
 3   11    1     3         3   11    3     3

 よろしくお願いします。
 (上記コードは必要と思われる部分だけ抜き出したので、必要な部分が不足してるかも知れませんがお許し下さい)

< 使用 Excel:Excel2003、使用 OS:WindowsXP >


 連番フィールドがあるかどうか説明がありませんが
 Myset2![連番] = cnt1
 ではダメだったでしょうか。
(Mook) 2014/07/10(木) 06:55

 できました。
 Mookさんありがとうございました。

(VBA?) 2014/07/14(月) 14:47


コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.