|
商品数分のラベルを作成したいということなら、クエリでいいでしょう。
ただし、クエリだと更新できませんので、台帳として使用して、
他にもフィールドがあり入力する必用があるならテーブルにする必用がありますね。
その場合、現状のテーブル「テーブル1」自体を書き換えるという方法と、
別に台帳用のテーブルを用意してそこに追加していくという方法が考えられます。
使用方法によって最適な方法は変わってきますのでよく検討してみてください。
とりあえず、現状のテーブルを書き換える場合のコードを例示しておきます。
テーブル1
ID フィールド1 数量
1 データ1 2
2 データ2 3
3 データ3 1
を
ID フィールド1 数量
1 データ1 1
1 データ1 1
2 データ2 1
2 データ2 1
2 データ2 1
3 データ3 1
に変換Public Function AutoNew()
Dim db As DAO.Database
Dim rs As DAO.Recordset
Dim rsA As DAO.Recordset
Dim c As Long, i As Long
Set db = CurrentDb
Set rs = db.OpenRecordset("SELECT * FROM テーブル1 WHERE 数量>1;", dbOpenDynaset)
Set rsA = db.OpenRecordset("テーブル1", dbOpenTable, dbAppendOnly) '追加のみ許可
Do Until rs.EOF
c = rs!数量 - 1
rs.Edit
rs!数量 = 1
rs.Update
For i = 1 To c
rsA.AddNew
rsA!ID = rs!ID
rsA!フィールド1 = rs!フィールド1
rsA!数量 = rs!数量
rsA.Update
Next
rs.MoveNext
Loop
rs.Close: Set rs = Nothing
rsA.Close: Set rsA = Nothing
db.Close: Set db = Nothing
End Function
|
|