Access VBA質問箱 IV

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

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


1546 / 9994 ←次へ | 前へ→

【11740】レコードセットの追加と編集
質問  あおぎん  - 10/7/27(火) 17:01 -

引用なし
パスワード
   いつもお世話になります。
自力で調べたのですが、解決できなかったので、こちらに投稿します。
よろしくお願いします。


計算期間起:2008/4/1
計算期間至:2009/3/31
番号:1
年度:20

フォーム上のこのデータをもとに、ワークテーブルにデータを書込むようにしたいのですが・・・。

データを書き込むワークテーブルは 年度、番号、月4、月5、・・・、月3のフィールドで構成されています。
計算期間起の月の末日が計算期間至の1日後より前ならば月4に1を書込む。
1ずつ月を足していき、n月の末日が計算期間内であれば、フィールド『月n』に1を書き込む。n月が計算期間至の翌日の月と同月であれば終了。

上の条件だと次のようなデータができあがる予定です。
年度 番号 月4 月5 月6 〜 月3
20   1   1  1  1 〜  1 


で、次のようなコードを書いてみました。
データを追加するワークテーブル(rs1)にはもともとデータがないので、i=1のときはレコードを追加し、それ以外のときはレコードを編集するとしているのですが、i=2のときに、データがないとエラーになります。このコードではi=1のときにレコードは追加されてないのでしょうか??見た目は追加されたようになっているのですが。。

解決方法があればご教示ください。

どうぞよろしくお願いします。

 
  tuki_ki = Val(Format(Me!計算期間起, "m"))
  tuki_si = Val(Format(Me!計算期間至 + 1, "m"))
  nendo= Me!年度
  bangou = Me!番号

  For i = 1 To 12
  tuki = "月" & tuki_ki
 
  Dim myLooP As Long
  For myLooP = 0 To rs1.Fields.Count - 1
   If rs1(myLooP).Name = tuki Then
    If i = 1 Then
    rs1.AddNew
    rs1(myLooP) = 1
    rs1!年度 = nendo
    rs1!番号 = bangou
    rs1.Update
    Else
    rs1.Edit ←ここで、カレントレコードがないとエラーが出る。
    rs1(myLooP) = 1
    rs1.Update
    End If
   Exit For
   End If
  Next myLooP
 
 
  tuki_ki = tuki_ki + 1

  If tuki_ki > 12 Then
   tuki_ki = tuki_ki - 12
  End If

  If tuki_ki = tuki_si Then
   Exit For 
  End If
 Next i

486 hits

【11740】レコードセットの追加と編集 あおぎん 10/7/27(火) 17:01 質問[未読]
【11742】Re:レコードセットの追加と編集 10/7/28(水) 13:33 回答[未読]
【11744】Re:レコードセットの追加と編集 あおぎん 10/7/29(木) 15:51 質問[未読]
【11746】Re:レコードセットの追加と編集 10/7/29(木) 16:03 回答[未読]
【11747】Re:レコードセットの追加と編集 あおぎん 10/8/6(金) 16:55 質問[未読]
【11748】Re:レコードセットの追加と編集 10/8/6(金) 17:20 回答[未読]
【11749】Re:レコードセットの追加と編集 あおぎん 10/8/13(金) 14:21 お礼[未読]

1546 / 9994 ←次へ | 前へ→
ページ:  ┃  記事番号:
1078193
(SS)C-BOARD v3.8 is Free