Access VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


1982 / 2272 ツリー ←次へ | 前へ→

【4359】レコードの追加の仕方 コロッケ 05/2/6(日) 18:24 質問[未読]
【4360】Re:レコードの追加の仕方 かろちん 05/2/6(日) 23:37 回答[未読]
【4367】Re:レコードの追加の仕方 コロッケ 05/2/7(月) 20:24 お礼[未読]

【4359】レコードの追加の仕方
質問  コロッケ  - 05/2/6(日) 18:24 -

引用なし
パスワード
   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

よろしくお願いします。

【4360】Re:レコードの追加の仕方
回答  かろちん  - 05/2/6(日) 23:37 -

引用なし
パスワード
   何がどううまくいかないのかが掛かれていないので
よく分かりませんが、

>      I = 34 - (LRs.Fields("CNT") Mod 17)
この行のことでしょうか?
17で割ったあまりを34より引いているからということかな

I = 34 - (LRs.Fields("CNT") Mod 34)

【4367】Re:レコードの追加の仕方
お礼  コロッケ  - 05/2/7(月) 20:24 -

引用なし
パスワード
   ▼かろちん さん:
>何がどううまくいかないのかが掛かれていないので
>よく分かりませんが、
>
>>      I = 34 - (LRs.Fields("CNT") Mod 17)
>この行のことでしょうか?
>17で割ったあまりを34より引いているからということかな
>
>I = 34 - (LRs.Fields("CNT") Mod 34)

返事おくれてすみません

はい、指摘のところが間違っていました。ありがとうございます

1982 / 2272 ツリー ←次へ | 前へ→
ページ:  ┃  記事番号:
1078291
(SS)C-BOARD v3.8 is Free