|
ADOを使用して定数になるようにレコードの追加をさせたいんですが、
うまくいきません。
目的は棚番号が1グループにつき34レコードになるようにしたい。
34レコード無い場合はレコードを足りない分だけ追加していくというように
しているつもりなんですが、うまくいきません。
使用しているテーブル名は
総合マスタ
フィールド名は
店舗・・・・・・・・・・・・数値項目
棚番号・・・・・・・・・・数値項目
棚段・・・・・・・・・・・・数値項目
棚列・・・・・・・・・・・・数値項目
商品・・・・・・・・・・・・テキスト項目
商品販売日・・・・・・数値項目
商品販売更新日・・数値項目
<内容>
Dim LCn As New ADODB.Connection
Dim LRs As New ADODB.Recordset
Dim LRs2 As New ADODB.Recordset
Dim MySql As String
Dim I As Integer
Dim S As Integer
MySql = "SELECT 総合マスタ.店舗, 総合マスタ.棚番号," _
& "Max(総合マスタ.棚段) AS MAX_DN," _
& "Max(総合マスタ.棚列) AS MAX_ART," _
& "Count(総合マスタ.商品) AS CNT " _
& "FROM 総合マスタ GROUP BY 総合マスタ.店舗, 総合マスタ.棚番号"
LCn.Open CurrentProject.Connection
LRs.Open MySql, LCn, adOpenForwardOnly
LRs2.Open "総合マスタ", LCn, adOpenKeyset, adLockOptimistic
Do While Not LRs.EOF
I = 34 - (LRs.Fields("CNT") Mod 17)
For S = 1 To I
LRs2.AddNew
LRs2.Fields("店舗") = LRs.Fields("店舗")
LRs2.Fields("棚番号") = LRs.Fields("棚番号")
LRs2.Fields("棚段") = LRs.Fields("MAX_DN")
LRs2.Fields("棚列") = LRs.Fields("MAX_ART") + S
LRs2.Fields("商品") = " "
LRs2.Fields("商品販売日") = "00000000"
LRs2.Fields("商品販売更新日") = "00000000"
LRs2.UpdateBatch
Next S
LRs.MoveNext
Loop
Set LRs2 = Nothing
Set LRs = Nothing
Set LCn = Nothing
よろしくお願いします。
|
|